Detailed Description
Fig. 1 shows a receiver comprising a receivechain 101, areference clock 102 and asynchronization unit 103. The receivechain 101 is used to receive signals from a transmitter. These signals are formatted into frames, each frame having a synchronization sequence that is used by thesynchronization unit 103 to synchronize the receive chain with the signal being transmitted by the transmitter.
The detection operation of the receivechain 101 is coordinated "a priori" by thereference clock 102. A practical example of this coordination includes the sampling frequency and local carrier frequency used by the receive chain to receive the signal. Both of these frequencies are typically derived from a reference clock. Another example is an internal "frame time" clock that the receive chain uses to preliminarily determine that a frame is coming from a particular base station. The receive chain is determined based on an initial evaluation of the possible start times of the frames relative to a "frame time" clock. Likewise, the "frame time" clock is typically derived from a reference clock. The reference clock is a local clock typically provided by a crystal oscillator.
The frequencies of the various clock signals coordinating the detection operation at the receiver are accurate if the clock reference frequency is equal to its nominal value, but this is rare. In particular, the reference clock typically has a frequency error with respect to the clock coordinating the signal transmission. Thus, it is difficult for a receiver to synchronize itself to a signal based on the carrier frequency and/or timing of the signal unless the receiver also knows what the offset between its own frequency and timing estimates and the transmitter's frequency and timing estimates are.
Thesynchronization unit 103 is used to determine how to compensate the detection operation of the receive chain for the frequency error of the reference clock. The detection operation may be any function performed by the receive chain as part of the signal reception process, including mixing, demodulation, decoding, and the like. The general form of compensation is to coordinate the detection operation. These adjustments are typically applied directly to various clock signals that coordinate detection operations in the receive chain, such as the local carrier frequency, sampling frequency, internal "frame time" clock, and the like.
Thesynchronization unit 103 preferably uses the synchronization sequence to determine how to compensate for the frequency error of the reference clock. The synchronization sequence is a signal transmitted in each frame that the receiver can use to calculate the degree of synchronization of the receiver with the transmitter's signal. There are various synchronization measures that can be used by the synchronization unit. One is whether there is an offset between: the receiver estimates an initial estimate of the start time of the frame and an updated estimate of the actual start time of the frame based on the synchronization sequence. The other is whether there is an offset between: a local carrier frequency and a carrier frequency used for transmission signals. In some embodiments, the offset may be obtained from or represented by a particular sampling instant in each frame that represents a likely arrival time of the received synchronization sequence. When a received signal correlates with itself at multiple time lags, the possible arrival time may be the sample time in the received frame corresponding to the correlation peak. When the received signal is cross-correlated with a local copy of the ideal synchronization sequence, the possible arrival time may also be the sampling instant corresponding to the correlation peak. The synchronization unit may also acquire an offset based on the angle of a complex number representing the correlation of the received signal with itself or with a local copy of the ideal synchronization sequence. Any offset determined or represented by a possible time of arrival or correlation angle for a given frame may be referred to as a "candidate offset".
The synchronization unit determines compensation for the detection operation based not only on the determined candidate offset for a single frame. Instead, the synchronization unit averages the candidate offsets for multiple frames. The manner in which the detection operation of the receive chain is compensated is determined from the average. This improves the quality of the resulting timing and carrier offset estimates because the variance of the averaged candidate offsets is lower than the variance of the candidate offsets for a single frame. This is particularly important for User Equipments (UEs) that are reluctant to synchronize with the base station, e.g., UEs located on the cell extension or UEs that are subject to significant noise or other interference.
The synchronization unit shown in fig. 1 comprises a number of optional sub-blocks for implementing different stages of the synchronization process, including an offsetdeterminer 104, atiming unit 105, a frequency offsetunit 106, an offsetverifier 107 and anestimate enhancement unit 108. The candidate offsets output by the offset determiner are used by the timing unit and the frequency offset unit to obtain respective estimates of the timing offset and the carrier frequency offset being included in the detection operation. These corresponding estimates may then be verified together by the offset verifier. The operation of these sub-blocks is described in more detail below.
The structure shown in fig. 1 (and in all block device diagrams included herein) is intended to correspond to multiple functional blocks. This is for illustrative purposes only. Fig. 1 is not intended to be a strict division of different components of hardware on a chip or different procedures, flows or functions in software. In some embodiments, some or all of the signal processing techniques described herein may be performed in whole or in part by a processor under software control. An example of such a block may be a synchronization unit. The processor may be a DSP of a mobile phone, a smartphone, a tablet, a general purpose IoT device, or any other device with receiving capabilities. Some or all of the signal processing operations described herein may be performed in whole or in part in hardware. This applies in particular to techniques with repeated arithmetic operations, such as correlation. The receive chain may include dedicated hardware for performing functions of mixing, code cover mixing, symbol demapping, frequency translation, subcarrier demapping, and the like.
The specific components in the receive chain depend on the specific waveform and telecommunications protocol implemented by the receiver. One or more embodiments of the present invention are described below with reference to an application for a receiver to operate in accordance with the NB-IoT standard. This is for exemplary purposes only. It should be understood that the scope of the present invention is not limited to any particular waveform or telecommunications protocol.
Fig. 2 shows an example of a technique of synchronizing the detection operation of the receive chain and the input signal. The process starts in step S201: a signal is received. The signal comprises a sequence of frames, each frame having a synchronisation sequence. Preferably, the synchronization sequence is known to the receiver. Each frame is processed to determine any candidates for offsets between the receiver's a priori estimate of the frame start time and the frame's actual start time. The frame is also (or alternatively) processed to determine whether the frame provides any candidates for an offset between the local carrier frequency and the transmitter carrier frequency (step S202). Various well-known signal processing techniques exist to extract timing and frequency information from the synchronization signal. The following provides specific details of one particular signal processing technique, the NPSS detection procedure, which are provided for exemplary purposes only. Any suitable technique may be used.
In step S203, a plurality of candidate offsets are collected together. The candidate offsets in the set are generated from different frames of the received signal. Alternatively, some possible candidate offsets may be excluded from the set, since the preliminary evaluation indicates that these candidate offsets are outliers and therefore cannot represent true offsets in the clock signal coordinating the detection operation of the receive chain. The candidate offset sets are then averaged (step S203). Then, the detection operation is compensated for the frequency error of the reference clock using the average candidate offset (step S204). The synchronization unit may make the appropriate compensation directly, or indirectly by outputting an indication of the appropriate compensation to another functional block in the receiver.
One possible application of the above receiver is for the receiver to receive narrowband signals transmitted according to the 3GPP NB-IoT standard. The standard specifies a synchronization signal used by a receiver called User Equipment (UE) to achieve initial synchronization with a Base Station (BS). This synchronization Signal is called a Narrowband Primary Synchronization Signal (NPSS). The UE uses the NPSS signal to estimate its Carrier Frequency Offset (CFO) and the timing of the BS signal frame boundary.
Other embodiments will now be described with reference to particular applications in which the receiver is implemented by a UE for operating in accordance with the 3GPP NB-IoT standard. This is for exemplary purposes only. The receiver and signal processing techniques described herein are not limited to any particular telecommunications standard or protocol. In particular, many of the signal processing techniques described below have general applicability and may be applied in different scenarios and embodiments than the 3GPP NB-IoT application described in detail below.
NPSS detection flow overview
The NPSS signal is transmitted by the BS once every 10ms frame. The NPSS signal is based on the concatenation of short Zadoff-Chu sequences, and the short Zadoff-Chu sequences have good correlation characteristics in both time domain and frequency domain.
The procedure for receiving NPSS is described in detail in R1-161981 "NB-PSS and NB-SSS Design (revision) (NB-PSS and NB-SSS Design (Revised))" (RAN1NB-IoT Ad-hoc #2, Sophia anstilis, France, 2016 (3 months). This procedure is referred to herein as the "NPSS detection procedure". An overview of this flow is shown in fig. 3, and fig. 3 shows an example of a state transition diagram for detecting NPSS signals.
The NPSS detection procedure is a two-stage procedure. Basically, the flow consists of anautocorrelation stage 301 and across-correlation stage 302. The early stages of the detection procedure use a lower sampling rate than the more accurate stages of the procedure follow to reduce the complexity of detecting NPSS signals for simple UEs. The process involves:
a. the autocorrelation of the received sync sequence is calculated by continuously calculating a 'cost function' at a sampling rate of 240kHz or 120 kHz. The cost function peaks exceeding the threshold are considered as possible NPSS detections and submitted to processing step b.
b. Cross-correlation of the NPSS signal with the ideal signal is calculated based on a plurality of CFOs and timing hypotheses, wherein an appropriate portion of the received signal is selected for cross-correlation based on the timing of the associated cost function peaks. Also, all peaks exceeding the threshold are considered possible NPSS detections, the highest peak being selected as the most promising candidate. Fig. 6 and 7 show examples of cross-correlations according to various assumptions.
The reason for testing multiple hypotheses in step b is to account for any uncertainty in the raw estimates. The cost function angle at the peak position (as generated in step a) is CFO (CFO)peak) Provide forThe range is an estimate of 7 kHz. To solve for CFOs larger than ± 7kHz, the receiver has to test multiple 'integer CFO' hypotheses, i.e. n x 14kHz + CFO has to be testedpeakAnd (4) CFO. The purpose of the NPSS flow is therefore to obtain a refined frequency and timing offset for each frame, but requires that both the cost function peak and the cross-correlation peak exceed the respective detection thresholds in the frame.
The hypothesis that yields the highest cross-correlation is considered the correct hypothesis. This accounts for uncertainty in the estimated frequency offset. The sample instants corresponding to the peaks are the possible detection points of the frame. The sampling instant represents a "candidate offset" that may be used to acquire the timing offset and the local carrier frequency offset. Not all frames have a possible detection point (e.g. because the correlation peak does not meet the threshold), so the candidate offsets output to subsequent stages of the process are not necessarily of consecutive frames.
To implement an NPSS detection procedure or a similar detection procedure involving correlation in the receiver shown in fig. 1, the offsetdeterminer 104 in the receiver will preferably include one or more correlators (which may be implemented in hardware or software).
Brief description of the timing sequence
In the UE, the sampling frequency (sampling rate) and the local carrier frequency of the received signal are both proportional to the local clock, which is typically a crystal reference. The frequencies of the clock reference are accurate if they are equal to their nominal values. However, this is not the case in general. The general case can be expressed as:
where ε is the frequency error of the UE clock reference relative to its nominal frequency, typically expressed in parts-per-million (ppm), and in the UE between a few ppm to tens of ppm.
The UE local carrier frequency is proportional to the UE clock reference such that:
the CFO observed by the UE based on analysis of the received NPSS signals is the difference between the UE's estimate of the carrier frequency used by the BS transmitter to transmit these signals and the UE's local carrier frequency:
the clock reference used in the BS has a frequency tolerance of typically 0.1ppm order or better, which is more accurate than a typical UE clock reference. Therefore, for simplicity, the BS carrier frequency may be considered to be accurate.
The carrier frequency used by the BS to transmit NPSS signals may be an exact multiple of 100kHz (in the 'independent' case), or a multiple of 100kHz plus a fixed offset in the set { -7.5kHz, -2.5kHz, 7.5kHz } (in the 'in-band' or 'guard band' case), according to the protocol agreed upon in the 3GPP NB-IoT standardization process. Thus, in general, a UE receiver searching for NPSS on a 100kHz grating will observe a CFO with an offset d.
Wherein d is in the set { -7.5kHz, -2.5kHz, 0kHz, 2.5kHz, 7.5kHz }.
If the CFO estimate for the UE is also considered accurate, then:
the sampling rate of the receiver is:
thus, assuming that the receiver samples the received signal at a nominal sampling rate of 1.92MHz, the received NPSS signal observed by the receiver has a period containing 19200 x (1+ epsilon) received samples.
Averaging CFO estimates
The offsetdeterminer 104 in fig. 1 outputs any candidate offsets it has determined for the frame to the timing offsetunit 105 and the frequency offsetunit 106. The unit is preferably adapted to store the input candidate offsets to form a set of candidate offsets for a plurality of frames. The frequency offset unit is configured to average the candidate offsets for a plurality of frames to obtain an overall estimate of CFO (as described below). An additional processing step of removing any anomaly candidates before calculating the mean may also be beneficial.
The "candidate offsets" received by the timing offsetunit 105 and the frequency offsetunit 106 from the offsetdeterminer 104 are typically sampling instants corresponding to possible detection points in each frame. At any stage in the process, the difference between these timing offsets may be converted to a frequency value, for example by fitting a regression model to a set of such timing offsets, as described below.
The averaged CFO estimate values may simply be obtained as the arithmetic mean of the set of CFO estimate values of the NPSS detection candidates in different frames. Averaging improves the quality of the CFO estimate because the variance of the average is lower than the variance of the individual estimates. This is illustrated in fig. 4. FIG. 4 shows that a single CFO estimate may deviate from the actual CFO (8550 Hz in this example) by 200Hz, while the average estimate (8524 Hz in this example) is closer to the correct one.
Due to the nature of the NPSS signal, an additional processing step to remove CFO 'outliers' before calculating the average may be beneficial (as shown in fig. 5).
As mentioned above, the NPSS detection procedure involves searching for so-called 'integer CFO' hypotheses. This involves correlating the received signal with an ideal NPSS signal shifted in frequency by 0kHz, ± 14kHz and ± 28 kHz. This process can produce incorrect NPSS timing and CFO estimates if an incorrect integer frequency is erroneously selected as providing the best correlation with the received signal. This may occur under certain channel conditions and when the signal-to-noise ratio is low. Fig. 6 and 7 illustrate this problem. In low dispersion channels, the correlation between the NPSS signal and itself is significantly greater than the correlation between the NPSS signal and its own copy shifted in frequency by ± 28kHz, as shown in fig. 6. However, in channels that are more dispersive, this margin is greatly reduced, as shown in fig. 7. In such channels, noise may further reduce the desired correlation peaks and enhance the undesired correlation peaks when the SNR is low, resulting in incorrect detection.
If an incorrect integer frequency hypothesis is selected, it results in very large CFO estimation errors as well as timing estimation errors. For example, in fig. 6 and 7, the peaks of the correlation for the integer hypothesis ± 28kHz are shifted in time relative to the peaks of the correlation for the (correct) 0kHz integer hypothesis. If a CFO corresponding to such incorrect NPSS detection is included in the CFO averaging process, the averaged CFO will also be in error (even if averaging would reduce the magnitude of the error).
Such CFO errors are preferably eliminated from the set of CFOs used to generate the averaged estimate. This can be done by determining them as "outliers". FIG. 5 is a flow chart illustrating an example of a suitable process for determining outliers. In this flowchart, 'T' is a suitably selected threshold value (e.g., 250Hz), and CFO (n) represents a CFO corresponding to detection sequence number 'n'.
The receiver searches for NPSS signals over a time period covering a plurality of frames. Assuming that multiple NPSS detections are made (according to the NPSS detection flow), the set of CFOs for these detections is stored for processing. Once these sets of candidate CFOs are established, the process of fig. 5 begins. This process is primarily to establish the largest CFO group that are within a predetermined threshold of each other, which may be established from the set of candidate CFOs. A process of checking whether a specific candidate CFO is within a predetermined threshold of another candidate CFO is performed in step S503 of fig. 5. If the threshold criterion is satisfied, another candidate CFO is added to the sum that will be the basis of the averaging operation, and the number of candidate CFOs included in the current "candidate group" is added by 1 (step S504). This process is repeated until the specific candidate CFO has been compared with all other candidate CFOs (steps S502 to S506). If the candidate set at the end of the process is larger than any candidate set previously determined for one of the candidate CFOs, then the candidate set replaces the largest set in the previous record (step S508). The same process is repeated for all candidate CFOs, i.e., all candidate CFOs take turns as a specific candidate CFO to be compared with all other candidate CFOs (steps S501 to S510). At the end of the process, the average CFOs remaining on the record will be the average of the largest group of candidate CFOs that are within a predetermined threshold of each other, which may be generated from the original set of candidate CFOs. (step S508).
Thus, the process shown in fig. 5 is used to eliminate outliers in the set of candidate CFOs and obtain an average of the remaining set of candidate CFOs.
Averaging timing estimates
The offsetdeterminer 104 in fig. 1 also outputs any candidate offsets it has determined for the frame to the timing offsetunit 105. Also, the input candidate offsets are preferably stored to form a set of candidate offsets for a plurality of frames. For its averaging operation, the timing offset unit is preferably adapted to use the same set of candidate offsets as the frequency offsetunit 106, i.e. the set of candidate offsets with any outliers removed. The timing offset unit may calculate the average value of the candidate offsets itself using the process shown in fig. 8.
Fig. 8 shows an example of a process of averaging the timing estimation values. In step S801, the receiver searches for an NPSS signal in a time period covering a plurality of frames. Assuming that NPSS detection is performed a plurality of times within the period (step S802), a time-series set of these single detections is stored to be processed (step S803). The timing may be expressed in units of samples received by the UE. In step S804, a linear regression model is fitted to the time-series set obtained in step S801. The slope of the model is proportional to the UE clock reference frequency error epsilon. Then, the average NPSS timing estimation value is obtained by the following method: the estimated value is adjusted to be on the regression line (step S805).
FIG. 9 illustrates an example of a linear regression model. The step of fitting a linear regression model to the time series set may be accomplished as follows:
a. the sequence of the timing of each detection is expressed in units of samples received by the UE, where the nominal sampling rate of the UE is 1.92 MHz: t (0), T (1),. T (total _ detections-1). (the actual sampling rate in the UE is given by equation 6).
b. The x (n) -round ((T (n) -T (0))/19200) and y (n) -T (0) -x (n) -19200 sequences were calculated. For example, fig. 9 shows a graph y (n) ═ f (x (n)) of each detected set, and also shows the corresponding regression line. y (n) ═ f (x (n)).
c. Calculate the sum of
Minimized coefficients a and b.
By using the coefficients a and b, the 'averaged timing estimation value', i.e., the estimated arrival time of the NPSS signal in any frame k, is expressed in units of samples of the received signal sampling rate of the UE as follows:
y′(k)=a*k+b
where k is the frame index relative to the frame that includes the first single detection (when k is 0).
The estimated value of the UE clock reference frequency error based on the timing regression slope a calculated as described above is:
εT=a/19200
each candidate offset received by the timing offset unit (105) from the offset determiner (104) represents a timing estimate. Thus, the timing offset unit is configured to refine the timing estimate associated with a frame by: the timing estimate is aligned with a regression line fitted to a set of timing estimate values obtained from a plurality of frames.
Evaluation value validation
The above technique can be further improved by validating CFO and timing estimates. This may be performed by the offsetverifier 107 in the receiver shown in fig. 1. The offset verifier may perform the common verification according to the process shown in fig. 10.
As mentioned above, both CFO and UE sampling rate are related to the UE clock reference frequency error epsilon. This relationship can be used to further improve the reliability of NPSS detection and the accuracy of CFO and timing estimates.
First, the UE clock reference frequency error based on the timing regression slope estimation is represented as ∈T. The process starts at step S1001: determining the system frequency offset d, represented by the CFO estimate value, relative to the 100kHz grating:
the difference calculated in equation 7 should be close to one offset in the set { -7.5kHz, -2.5kHz, 0kHz, 2.5kHz, 7.5kHz }. This set may be reduced if the UE has a priori knowledge of in-band operation, guard band in-band operation, or independent operation. Thus, d is
0Is compared with a predetermined set of system frequency offsets (step S1002). For example, if
Hz by fitting the closest d in the set
0Is represented by an offset of
The detection may be declared invalid (step S1003).
Estimate enhancement
An optionalestimate enhancement unit 108 is used to generate an improved overall estimate of the frequency error of the reference clock using the timing and CFO estimates. Expressing the CFO estimation based UE clock reference frequency error as εF:
The estimate refiner may then calculate an estimate of the UE clock reference frequency error based on both timing and CFO terms. For example, it may be a weighted average of two estimates:
εFT=wF*εF+wT*εT (9)
the estimate modifier may then use εFTRefining the averaged timing estimate and/or the averaged CFO estimate.
Fig. 11 shows an overview of the enhanced NPSS detection flow described above. Averaging the CFO and timing estimates acquired over multiple frames improves the accuracy of the estimates, especially when the NPSS signal is very weak and the UE must detect the signal with a very low signal-to-noise ratio.
The NPSS detection procedure described above is a current version of the procedure and may change as the 3GPP NB-IoT standard evolves. It should be understood that the enhancements to the existing NPSS detection flow described herein are not limited to use with existing flows, but may be equally applicable to any earlier or later evolution of existing flows. In particular, the techniques described herein are not limited to use with any particular sampling frequency. The specific sampling frequencies mentioned above are merely examples.
The applicants hereby disclose in isolation each individual feature described herein and any combination of two or more such features. Such features or combinations of features can be implemented as a whole based on the present description, without regard to whether such features or combinations of features solve any of the problems disclosed herein, with the ordinary knowledge of a person skilled in the art; and not to limit the scope of the claims. The applicants have specified that aspects of the present invention may consist of any such individual feature or combination of features. Various modifications within the scope of the invention will be apparent to those skilled in the art in view of the foregoing description.