Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
RECEIVER AND METHOD FOR COMPENSATING A FREQUENCY ERROR IN A REFERENCE CLOCK
Document Type and Number:
WIPO Patent Application WO/2018/065061
Kind Code:
A1
Abstract:
A receiver has a receive chain that is configured to receive signals from a transmitter that are formatted into frames, wherein each frame incorporates a synchronisation sequence. The receiver also has a reference clock that is configured to generate a clock signal that coordinates an operation of the receive chain for detecting the signals. The reference clock incorporates a frequency error relative to a clock at the transmitter that coordinates transmission of the signals. The receiver also includes a synchronisation unit that is configured to compensate the detection operation for the frequency error in the reference clock. It does this by identifying, for each received frame, whether there is an offset between: (i) a frame start timing and/or carrier frequency of the detection operation when coordinated by the reference clock; and (ii) an estimate of the frame start timing and/or carrier frequency derived from the received synchronisation sequence for the frame, that is a candidate for synchronising the detection operation with the received signals. It averages the candidate offsets identified for a plurality of frames. It then determines a compensation to be applied to the coordination of the detection operation in dependence on the average of the candidate offsets identified for the plurality of frames, so as to synchronise the detection operation with the received signals. Averaging the candidate offsets identified for a plurality of frames improves their accuracy, making it more likely that the frequency error in the reference clock is correctly compensated. Correct compensation of the frequency error improves the receiver's chances of synchronising successfully with the transmitted signals, particular under poor signal-to-noise ratios. The receiver may also improve its estimate of the timing of frame boundaries in the received signal, based on averaging a set of timings from individual frames.

Inventors:
POPESCU ANDREI (DE)
Application Number:
PCT/EP2016/073934
Publication Date:
April 12, 2018
Filing Date:
October 06, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
POPESCU ANDREI (GB)
International Classes:
H04W56/00; H04L27/26
Foreign References:
EP1191704A22002-03-27
EP2299761A12011-03-23
EP3013113A12016-04-27
EP2429105A12012-03-14
EP2378822A22011-10-19
Other References:
"R1 -161981", March 2016, QUALCOMM INC., article "NB-PSS and NB-SSS Design"
Attorney, Agent or Firm:
KREUZ, Georg (DE)
Download PDF:
Claims:
CLAIMS

1 . A receiver comprising:

a receive chain configured to receive signals from a transmitter that are formatted into frames, wherein each frame incorporates a synchronisation sequence; a reference clock configured to generate a clock signal that coordinates an operation of the receive chain for detecting the signals, the reference clock incorporating a frequency error relative to a clock at the transmitter that coordinates transmission of the signals; and

a synchronisation unit configured to compensate the detection operation for the frequency error in the reference clock by:

for each received frame, identifying whether there is an offset between: (i) a frame start timing and/or carrier frequency of the detection operation when coordinated by the reference clock; and (ii) an estimate of the frame start timing and/or carrier frequency derived from the received synchronisation sequence for the frame, that is a candidate for synchronising the detection operation with the received signals;

averaging the candidate offsets identified for a plurality of frames; and determining a compensation to be applied to the coordination of the detection operation in dependence on the average of the candidate offsets identified for the plurality of frames, so as to synchronise the detection operation with the received signals.

2. A receiver as claimed in claim 1 , the synchronisation unit being configured to: identify, in a group of candidate offsets for a plurality of frames, any candidate offset in the group that can be considered an outlier; and

disregard that outlier candidate offset when forming the average of the group of candidate offsets.

3. A receiver as claimed in claim 1 or 2, the synchronisation unit being configured to:

identify, in a group of candidate offsets for a plurality of frames, the largest number of candidate offsets within that group that are within a predetermined threshold of each other; and form the average for that group of candidate offsets by averaging those of the candidate offsets that are identified as being within the predetermined threshold of each other.

4. A receiver as claimed in any of the preceding claims, the synchronisation unit being configured to identify, as a candidate offset, a sample position within a frame that corresponds to a correlation peak.

5. A receiver as claimed in any of the preceding claims, the synchronisation unit being configured to form the average of the candidate offsets by calculating their mean.

6. A receiver as claimed in any of the preceding claims, the synchronisation unit being configured to form the average of the candidate offsets by determining a slope of a linear regression model fitted to those candidate offsets.

7. A receiver as claimed in any of the preceding claims, the synchronisation unit being configured to:

generate a first estimate of the frequency error in dependence on the mean of the candidate offsets;

generate a second estimate of the frequency error in dependence on the slope of a linear regression model fitted to the candidate offsets; and

generate an overall estimate of the frequency error to be a weighted sum of the first and second estimates.

8. A receiver as claimed in any of the preceding claims, the synchronisation unit being configured to:

generate, in dependence on the mean of the candidate offsets, a first estimate of a frequency offset between a carrier frequency generated in dependence on the clock signal and a carrier frequency of the signals;

generate, in dependence on the slope of a linear regression model fitted to the candidate offsets, a second estimate of a frequency offset between a carrier frequency generated in dependence on the clock signal and a carrier frequency of the signals; determine a difference between the first and second estimates; and validate the first and second estimates of the frequency offset by comparing the determined difference with a predetermined set of systematic frequency offsets.

9. A receiver as claimed in claim 8, the synchronisation unit being configured to determine that the estimates of the frequency offsets are valid if the difference between the first and second estimates is within a predetermined threshold of one of the predetermined set of systematic frequency offsets.

10. A receiver as claimed in any of the preceding claims, wherein the candidate offset for a frame represents a timing estimate for that frame, the synchronisation unit being configured to refine a timing estimate for one frame by adjusting that estimate to align with a regression line fitted to a collection of timing estimates for a plurality of frames.

1 1 . A method comprising:

receiving signals from a transmitter that are formatted into frames, wherein each frame incorporates a synchronisation sequence;

generating a clock signal that coordinates an operation of the receive chain for detecting the signals, the reference clock incorporating a frequency error relative to a clock at the transmitter that coordinates transmission of the signals; and

compensating the detection operation for the frequency error in the reference clock by:

for each received frame, identifying whether there is an offset between: (i) a frame start timing and/or carrier frequency of the detection operation when coordinated by the reference clock; and (ii) an estimate of the frame start timing and/or carrier frequency derived from the received synchronisation sequence for the frame, that is a candidate for synchronising the detection operation with the received signals;

averaging the candidate offsets identified for a plurality of frames; and determining a compensation to be applied to the coordination of the detection operation in dependence on the average of the candidate offsets identified for the plurality of frames, so as to synchronise the detection operation with the received signals.

12. A non-transitory machine readable storage medium having stored thereon processor executable instructions implementing a method for receiving signals from a transmitter that are formatted into frames, wherein each frame incorporates a synchronisation sequence, the method comprising:

compensating an operation of a receive chain for detecting the signals for a frequency error in a reference clock, wherein said reference clock coordinates an operation of the receive chain for detecting the signals and incorporates a frequency error relative to a clock at the transmitter that coordinates transmission of the signals, by:

for each received frame, identifying whether there is an offset between: (i) a frame start timing and/or carrier frequency of the detection operation when coordinated by the reference clock; and (ii) an estimate of the frame start timing and/or carrier frequency derived from the received synchronisation sequence for the frame, that is a candidate for synchronising the detection operation with the received signals;

averaging the candidate offsets identified for a plurality of frames; and determining a compensation to be applied to the coordination of the detection operation in dependence on the average of the candidate offsets identified for the plurality of frames, so as to synchronise the detection operation with the received signals.

Description:
RECEIVER AND METHOD FOR COMPENSATING A FREQUENCY ERROR IN A

REFERENCE CLOCK

This invention relates to techniques for compensating frequency errors in a reference clock at a receiver.

It is common for user equipment reference clocks to incorporate a frequency error with respect to their nominal frequency. This is mainly due to cost considerations: very accurate clock references are expensive. Base stations and other centralised transmitters normally have more accurate clocks than user equipment. User equipment can synchronise itself with a base station by generating its own clocking signals to coordinate its local sampling frequencies, carrier frequencies, timings etc. A user equipment's clocking signals are all usually derived from its reference clock, so the offset between the reference clock's nominal frequency and its actual frequency translates into a frequency error between the user equipment and that of the base station. This frequency error feeds into all of the clocking signals that coordinate the receiver's attempts to detect the base station's signals, making it more difficult for the user equipment to successfully receive signals from the base station.

One way of alleviating these problems is for base stations to transmit synchronisation signals that user equipment can use to determine how far the coordination of its detection operations is from what it should be. User equipment often uses a synchronisation signal to determine estimates of an offset in its timing and an offset in its carrier frequency. The quality of these estimates can be degraded by noise at poor signal-to-noise ratios and could cause the detection operations to be incorrectly compensated. This increases the likelihood that the receiver will fail to synchronise with the base station.

It is an object of the invention to provide improved compensation for frequency errors in a receiver reference clock and improved estimation of frame timing, particularly under poor signal-to-noise ratios. The foregoing and other objects are achieved by the features of the independent claims. Further implementation forms are apparent from the dependent claims, the description and the figures.

According to a first aspect, there is provided a receiver that comprises a receive chain configured to receive signals from a transmitter that are formatted into frames, wherein each frame incorporates a synchronisation sequence. The receiver also comprises a reference clock that is configured to generate a clock signal that coordinates an operation of the receive chain for detecting the signals. The reference clock incorporates a frequency error relative to a clock at the transmitter that coordinates transmission of the signals. The receiver also comprises a synchronisation unit that is configured to compensate the detection operation for the frequency error in the reference clock. It does this by identifying, for each received frame, whether there is an offset between: (i) a frame start timing and/or carrier frequency of the detection operation when coordinated by the reference clock; and (ii) an estimate of the frame start timing and/or carrier frequency derived from the received synchronisation sequence for the frame, that is a candidate for synchronising the detection operation with the received signals. It averages the candidate offsets identified for a plurality of frames. It then determines a compensation to be applied to the coordination of the detection operation in dependence on the average of the candidate offsets identified for the plurality of frames, so as to synchronise the detection operation with the received signals. Averaging the candidate offsets identified for a plurality of frames improves their accuracy, making it more likely that the frequency error in the reference clock is correctly compensated. Correct compensation of the frequency error improves the receiver's chances of synchronising successfully with the signals from the transmitter, particular under poor signal-to-noise ratios.

The synchronisation unit may be configured to identify, in a group of candidate offsets for a plurality of frames, any candidate offset in the group that can be considered an outlier. It may also be configured to disregard that outlier candidate offset when forming the average of the group of candidate offsets. When the signals that the receiver is receiving are very weak, an individual frame can generate an incorrect candidate offset. Identifying outliers and disregarding them for the averaging process prevents such candidate offsets from influencing the averaging process.

The synchronisation unit may be configured to identify, in a group of candidate offsets for a plurality of frames, the largest number of candidate offsets within that group that are within a predetermined threshold of each other. It may also be configured to form the average for that group of candidate offsets by averaging those of the candidate offsets that are identified as being within the predetermined threshold of each other. The synchronisation unit can thus efficiently and systematically eliminate outliers and form the average.

The synchronisation unit may be configured to identify, as a candidate offset, a sample position within a frame that corresponds to a correlation peak. The correlation peak indicates a potential detection point within a frame, and the sampling instant corresponding to that detection point provides a useful representation of timing and carrier frequency offsets in the receiver that are caused by the frequency error in the reference clock.

The synchronisation unit may be configured to form the average of the candidate offsets by calculating their mean. This provides a straightforward mechanism for obtaining an average of the candidate offsets.

The synchronisation unit may be configured to form the average of the candidate offsets by determining a slope of a linear regression model fitted to those candidate offsets. The synchronisation unit is thus able to straightforwardly identify a timing offset per frame, since the absolute timing offset experienced by individual frames varies from one frame to another as the timing offsets per frame accumulate.

The synchronisation unit may be configured to generate a first estimate of the frequency error in dependence on the mean of the candidate offsets. It may be configured to generate a second estimate of the frequency error in dependence on the slope of a linear regression model fitted to the candidate offsets. It may also be configured to generate an overall estimate of the frequency error to be a weighted sum of the first and second estimates. By this means the synchronisation unit can obtain an enhanced overall estimate.

The synchronisation unit may be configured to generate, in dependence on the mean of the candidate offsets, a first estimate of a frequency offset between a carrier frequency generated in dependence on the clock signal and a carrier frequency of the signals. It may be configured to generate, in dependence on the slope of a linear regression model fitted to the candidate offsets, a second estimate of a frequency offset between a carrier frequency generated in dependence on the clock signal and a carrier frequency of the signals. It may also be configured to determine a difference between the first and second estimates and validate the first and second estimates of the frequency offset by comparing the determined difference with a predetermined set of systematic frequency offsets. This provides a mechanism for independently validating whether the estimated frequency offset is reasonable in scenarios where the transmitter must have used one of a predetermined set of carrier frequencies.

The synchronisation unit may be configured to determine that the estimates of the frequency offsets are valid if the difference between the first and second estimates is within a predetermined threshold of one of the predetermined set of systematic frequency offsets. This provides a mechanism for independently validating whether the estimated frequency offset is reasonable in scenarios where the transmitter must have used one of a predetermined set of carrier frequencies and that set of carrier frequencies are spaced by a known amount.

The candidate offset for a frame may represent a timing estimate for that frame. The synchronisation unit may be configured to refine a timing estimate for one frame by adjusting that estimate to align with a regression line fitted to a collection of timing estimates for a plurality of frames. This enables the synchronisation unit to obtain a more accurate timing estimate for a given frame.

According to a second aspect, there is provided a method comprising receiving signals from a transmitter that are formatted into frames, wherein each frame incorporates a synchronisation sequence. The method comprises generating a clock signal that coordinates an operation of the receive chain for detecting the signals, the reference clock incorporating a frequency error relative to a clock at the transmitter that coordinates transmission of the signals. The method also comprises compensating the detection operation for the frequency error in the reference clock. This is achieved by identifying, for each received frame, whether there is an offset between: (i) a frame start timing and/or carrier frequency of the detection operation when coordinated by the reference clock; and (ii) an estimate of the frame start timing and/or carrier frequency derived from the received synchronisation sequence for the frame, that is a candidate for synchronising the detection operation with the received signals. The candidate offsets identified for a plurality of frames are averaged. A compensation to be applied to the coordination of the detection operation is then determined in dependence on the average of the candidate offsets identified for the plurality of frames, so as to synchronise the detection operation with the received signals.

According to a third aspect, there is provided a non-transitory machine readable storage medium having stored thereon processor executable instructions implementing a method for receiving signals from a transmitter that are formatted into frames. Each frame incorporates a synchronisation sequence. The method comprises compensating an operation of a receive chain for detecting the signals for a frequency error in a reference clock, wherein said reference clock coordinates an operation of the receive chain for detecting the signals and incorporates a frequency error relative to a clock at the transmitter that coordinates transmission of the signals. This is achieved by identifying, for each received frame, whether there is an offset between: (i) a frame start timing and/or carrier frequency of the detection operation when coordinated by the reference clock; and (ii) an estimate of the frame start timing and/or carrier frequency derived from the received synchronisation sequence for the frame, that is a candidate for synchronising the detection operation with the received signals. The candidate offsets identified for a plurality of frames are averaged. A compensation to be applied to the coordination of the detection operation is then determined in dependence on the average of the candidate offsets identified for the plurality of frames, so as to synchronise the detection operation with the received signals. The present invention will now be described by way of example with reference to the accompanying drawings. In the drawings:

Figure 1 shows an example of a receiver;

Figure 2 is a flowchart representing an example of method for receiving a signal;

Figure 3 is an example of a state transition diagram for detecting a signal;

Figure 4 is a histogram of Carrier Frequency Offset (CFO) estimates;

Figure 5 is a flowchart representing an example of a process for identifying CFO outliers;

Figure 6 shows a cross-correlation of an NPSS signal in a low dispersive channel;

Figure 7 shows a cross-correlation of an NPSS signal in a highly dispersive channel;

Figure 8 is a flowchart representing an example of a method for averaging timing estimates;

Figure 9 shows an example of a linear regression line;

Figure 10 is a flowchart representing an example of a method for validating timing and frequency offset estimates; and

Figure 1 1 shows an overview of an enhanced NPSS detection procedure.

Figure 1 shows a receiver comprising a receive chain 101 , a reference clock 102 and a synchronisation unit 103. The receive chain 101 is configured to receive signals from a transmitter. Those signals are formatted into frames, and each frame incorporates a synchronisation sequence that the synchronisation unit 103 uses to synchronise the receive chain with the signals that the transmitter is sending. The detection operations of the receive chain 101 are "a priori" coordinated by reference clock 102. Practical instances of this coordination include the sampling frequency and local carrier frequency that the receive chain uses to receive the signals. Both of these will usually be derived from the reference clock. Another example is an internal "frame time" clock, which the receive chain uses to initially identify frames as being from a particular base station. The receive chain makes this identification based on an initial assessment of a frame's probable start time relative to the "frame time" clock. Again this "frame time" clock will usually be derived from the reference clock. The reference clock is a local clock that is usually provided by a crystal oscillator.

The frequencies of the various clocking signals that coordinate detection operations at the receiver would be exact if the clock reference frequency were equal to its nominal value, but that is rarely the case. In particular, the reference clock will usually incorporate a frequency error relative to the clock that coordinates transmission of the signals. Therefore, it is difficult for the receiver to synchronise itself with the signals based on their carrier frequency and/or timing unless it also knows how much its own estimation of frequency and timing is offset from that of the transmitter.

Synchronisation unit 103 is configured to determine how the receive chain's detection operations can be compensated for the frequency error in the reference clock. A detection operation might be any function that the receive chain performs as part of receiving the signals, including frequency mixing, demodulation, decoding etc. The compensation will normally take the form of adjusting how the detection operation is coordinated. These adjustments will often be applied directly to the various clocking signals that coordinate detection operations in the receive chain, such as the local carrier frequency, sampling frequency, internal "frame time" clock etc.

Synchronisation unit 103 preferably uses the synchronisation sequence to determine how to compensate for the frequency error in the reference clock. The synchronisation sequence is a signal, transmitted in each frame, that the receiver can use to work out how close it is to being synchronised with the signals from the transmitter. There are various measures of synchronisation that the synchronisation unit can look for. One is whether there is an offset between the receiver's initial estimate of the frame's start time and an updated estimate of the frame's actual start time based on the synchronisation sequence. Another is whether there appears to be an offset between a local carrier frequency and a carrier frequency that was used to transmit the signal. In some implementations, the offsets may be derived from, or represented by, a particular sampling instant in each frame that represents a potential time of arrival of the received synchronisation sequence. The potential time of arrival could be, for example, a sampling instant in the received frame that corresponds to a correlation peak when the received signal is correlated with itself at various time lags. It could also be a sampling instant that corresponds to a correlation peak when the received signal is cross-correlated with a local copy of the ideal synchronisation sequence. The synchronisation unit may also derive an offset based on the angle of the complex number that represents the correlation of the received signal with itself or with a local copy of the ideal synchronisation sequence. Any offset determined from, or represented by, a potential time of arrival or a correlation angle for a given frame may be termed a "candidate offset".

The synchronisation unit does not just determine the compensation for the detection operations based on the candidate offset(s) identified for a single frame. Instead, the synchronisation unit averages the candidate offsets for a plurality of frames. The way in which the detection operations of the receive chain are compensated is determined in dependence on that average. This improves the quality of the resulting timing and carrier offset estimates because the variance of the averaged candidate offsets is lower than that of the candidate offsets for single frames. This is particularly important for user equipment (UE) that is at the limits of being able to synchronise with a base station, e.g. for a UE that is located at the outer reaches of a cell or which is subject to considerable noise or other interference.

Figure 1 shows the synchronisation unit as comprising a number of optional sub blocks configured to implement different stages of the synchronisation process, including an offset identifier 104, a timing unit 105, a frequency offset unit 106, an offset validator 107 and an estimate enhancement unit 108. The candidate offsets output by the offset identifier are used by the timing unit and frequency offset unit to obtain respective estimates of the timing offset and carrier frequency offset that are being incorporated into the detection operations. Those respective estimates may then be mutually validated by the offset validator. The operation of these sub blocks is described in more detail below.

The structures shown in Figures 1 (and all the block apparatus diagrams included herein) are intended to correspond to a number of functional blocks. This is for illustrative purposes only. Figure 1 is not intended to define a strict division between different parts of hardware on a chip or between different programs, procedures or functions in software. In some embodiments, some or all of the signal processing techniques described herein are likely to be performed wholly or partly by a processor acting under software control. An example of such a block might be the synchronisation unit. The processor could, for example, be a DSP of a mobile phone, smartphone, tablet, generic loT device or any other device with receive capability. Some or all of the signal processing operations described herein might be performed wholly or partly in hardware. This particularly applies to techniques incorporating repetitive arithmetic operations, such as correlations. The receive chain may include dedicated hardware to perform functions such as frequency mixing, code cover mixing, symbol demapping, frequency transforms, subcarrier demapping etc.

The specific components found in the receive chain are dependent on the exact waveform and telecommunications protocol that the receiver is configured to implement. One or more implementations of the invention are described below with reference to an application in which the receiver is configured to operate in accordance with an NB-loT standard. This is for the purposes of example only; it should be understood that the scope of the invention is not limited to any particular waveform or telecommunications protocol.

An example of a technique for synchronising a detection operation of a receive chain with the incoming signals is shown in Figure 2. The process starts in step S201 as the signals are received. The signals comprise a sequence of frames, with each frame having a synchronisation sequence. The synchronisation sequence is preferably known to the receiver. Each frame is processed to identify any candidates for an offset between an a priori estimate at the receiver of when the frame starts and when the frame actually starts. The frames are also (or alternatively) processed to determine whether they provide any candidates for the offset between the local carrier frequency and the transmitter carrier frequency (step S202). There are various well known signal processing techniques for extracting timing and frequency information from synchronisation signals. Further detail is given below about one specific signal processing technique - the NPSS detection procedure - but this is for the purposes of example only and any suitable technique might be used.

In step S203, a plurality of candidate offsets are collected together. The candidate offsets in this collection are generated from different frames of the received signal. Optionally, some of the potential candidate offsets may be excluded from the collection because a preliminary assessment suggests that they are outliers and thus may not be representative of the true offsets in the clocking signals that coordinate the detection operations of the receive chain. The collection of candidate offsets is then averaged (step S203). The average candidate offset is then used to compensate the detection operations for the frequency error in the reference clock (step S204). The appropriate compensation may be applied by the synchronisation unit directly, or indirectly, by the synchronisation unit outputting an indication of the appropriate compensation to another functional block in the receiver.

One possible application for the receiver described above is as a receiver for receiving narrowband signals transmitted according to the 3GPP NB-loT standard. The standard specifies a synchronisation signal that a receiver, termed a User Equipment (UE), uses to achieve initial synchronisation with a base station (BS). This synchronisation signal is termed the Narrowband Primary Synchronisation Signal (NPSS). The UE uses the NPSS signal to estimate its carrier frequency offset (CFO) and the timing of the BS signal frame boundaries.

Further embodiments will now be described with reference to a specific application in which the receiver is implemented by a UE configured to operate in accordance with the 3GPP NB-loT standard. This is for the purpose of example only; the receiver and signal processing techniques described herein are not limited to any specific 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 implementations from the 3GPP NB-loT application specifically described below.

Overview of NPSS detection procedure

The NPSS signal is transmitted by a BS once per 10ms frame. It is based on a concatenation of short Zadoff-Chu sequences, which have good correlation properties in both the time and frequency domain.

A procedure for receiving the NPSS is described in detail in R1 -161981 , "NB-PSS and NB-SSS Design (Revised)" by Qualcomm Inc. (RAN1 NB-loT Ad-hoc #2, Sofia Antipolis, France, March 201 6). This procedure is referred to as the 'NPSS detection procedure' herein. An overview of this procedure is illustrated in Figure 3, which shows an example of a state transition diagram for detecting an NPSS signal.

The NPSS detection procedure is a two-stage procedure. Essentially the procedure consists of an autocorrelation stage 301 and a cross correlation stage 302. The early stages of the detection procedure are performed at a reduced sampling rate compared with the later, more precise stages of the procedure, in order to reduce the complexity of detecting the NPSS signal for simple UE. The procedure involves: a. Calculating an autocorrelation of the received synchronisation sequence by continuously computing a 'cost function' at a sample rate of 240 or 120 kHz. Cost function peaks that exceed a threshold are deemed to be potential NPSS detections and are submitted to processing step b. b. Computing cross-correlations of the NPSS signal with an ideal signal, under multiple CFO and timing hypotheses, with the appropriate section of the received signal for the cross-correlation selected by the timing of the associated cost function peak. Again all peaks that exceed a threshold are considered to be potential NPSS detections, with the highest peak selected as the most promising candidate. Examples of cross-correlations under multiple hypotheses are shown in Figures 6 and 7. The reason that multiple hypotheses are tested in step b is to resolve any ambiguity in the original estimate. A cost function angle at peak positions (as generated in step a) provides an estimate of the CFO (CFO pea k) with a range of ±7 kHz. To resolve CFOs greater than ±7 kHz, the receiver has to test multiple Integer CFO' hypotheses, i.e. it has to test CFOs of n * 14 kHz + CFOpeak. The aim of the NPSS procedure is thus to obtain a refined frequency and timing offset for each frame, subject to the requirement that the cost function and the cross correlation peaks both exceed their respective detection thresholds in that frame.

The hypothesis that produces the highest cross-correlation is deemed to be the correct hypothesis. This resolves the ambiguity in the estimated frequency offset. The sampling instant corresponding to that peak is a potential detection point for the frame. This sampling instant represents a "candidate offset" that can be used to derive the timing offset and the local carrier frequency offset. Not all frames will have a potential detection point (e.g. due to the correlation peaks not meeting a threshold), so the candidate offsets that are output to later stages of the process will not necessarily be for consecutive frames.

For the receiver shown in Figure 1 to implement the NPSS detection procedure or a similar detection procedure involving correlations, the offset identifier 104 in that receiver would preferably incorporate one or more correlators (which may be implemented in hardware or software).

Overview of timing principles

In the UE, both the sampling frequency (sampling rate) of the received signal and the local carrier frequency are proportional to a local clock, typically a crystal reference. These frequencies are exact if the frequency of the clock reference is equal to its nominal value. However, this is usually not the case. The usual situation can be expressed as:

Fr ' e C Jf ac tual , = Fr ' e C Jf nomi nal , * (1 + ε ) 0 v ) ' where ε is the frequency error of the UE clock reference relative to its nominal frequency, which is typically expressed in parts-per-million (ppm) and in the UE is between a few ppm and tens of ppm.

The UE local carrier frequency is proportional to the UE clock reference, such that:

FUE carrier actual ^ carrier nominal (1 + ε ) (2)

The CFO observed by the UE based on analyzing 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 local carrier frequency:

CFO = F BS carrier estimated ~ ^UE carrier actua i (3)

The clock reference used in the BS has a frequency tolerance usually of the order of 0.1 ppm or better, which is much more accurate than that of a typical UE clock reference. Therefore, for simplicity, the BS carrier frequency can be assumed to be exact.

According to agreements reached during the 3GPP NB-loT standardization process the carrier frequency used by the BS to transmit NPSS signals may be an exact multiple of 100 kHz (in the 'standalone' case), or a multiple of 100 kHz plus a fixed offset in the set {-7.5 kHz, -2.5 kHz, 2.5 kHz, 7.5 kHz} (in the Ίη-band' or 'guard-band' cases). Therefore, in general, a UE receiver that searches for NPSS on a raster of 100 kHz will observe a CFO that incorporates the offset d.

^BScarrier ^carrier ' nominal ^ where d is in the set {-7.5 kHz, -2.5 kHz, 0 kHz, 2.5 kHz, 7.5 kHz}. If the UE's CFO estimate is also assumed to be exact, this gives:

CFO = F BS carrier est im ated ~ ' ^UE carrier actual ~ ^Β5 εαν Ηετ ~ ^υΕ carrier actual =

—eF camer n ominal + d ( » 5) ' The sampling rate in the receiver is:

FRX sampling UE FRX sampling nominal ^ + £ ) (^)

Therefore, assuming that the receiver nominally samples the received signal at a nominal sampling rate of 1 .92 MHz, the received NPSS signals it observes have a period of 19200 * (1 + ε) received samples.

Averaging CFO estimates

The offset identifier 104 in Figure 1 outputs any candidate offset that it has identified for a frame to timing offset unit 105 and frequency offset unit 106. This unit is preferably configured to store incoming candidate offsets to form a collection of candidate offsets for multiple frames. The frequency offset unit is configured to average the candidate offsets for a plurality of frames to obtain an overall estimate of the CFO (as described below). It may also beneficially perform an extra processing step by removing any outlying candidates before computing the average.

The "candidate offsets" that the timing offset unit 105 and the frequency offset unit 106 receive from the offset identifier 104 will typically be sampling instants corresponding to potential detection points in each frame. At any stage of this process differences between these timing offsets may be converted into frequency values, for example by means of fitting a regression model to a set of such timing offsets, as described in what follows.

The averaged CFO estimate may be simply obtained as the arithmetic mean of a set of CFO estimates from 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 Figure 4, which shows that individual CFO estimates can be as much as 200 Hz away from the actual CFO (which is 8550 Hz in this case), whereas the average estimate (8524 Hz in this case) is much closer to the correct value. Due to the characteristics of the NPSS signal, an additional processing step of removing CFO 'outliers' before computing the average can be beneficial (as illustrated in Figure 5).

The NPSS detection procedure involves searching so-called Integer CFO' hypotheses, as described above. This involves correlating the received signal with the ideal NPSS signal shifted in frequency by 0, ±14 kHz and ±28 kHz. This processing can yield an incorrect NPSS timing and CFO estimate if an incorrect integer frequency provides the best correlation with the received signal, and is hence erroneously selected. This can happen in some channel conditions and at low SNR. The issue is illustrated in Figure 6 and Figure 7. In channels with low dispersion, the correlation of the NPSS signal with itself is significantly bigger than its correlation with a copy of itself shifted in frequency by ±28 kHz, as shown in Figure 6. However, this margin is greatly reduced in more dispersive channels, as shown in Figure 7. In such a channel, at low SNR the noise can further reduce the wanted correlation peak and enhance the unwanted one, resulting in an incorrect detection.

If an incorrect integer frequency hypothesis is selected, this results in a very large CFO estimation error as well as in a timing estimation error. For example, in Figures 6 and 7 the peak of correlation for integer hypotheses ±28 kHz are offset in time relative to the peak of correlation for (the correct) 0 kHz integer hypothesis. If the CFO corresponding to such an incorrect NPSS detection were included in the CFO averaging processing, the averaged CFO would also be in error (even though the averaging would reduce the size of the error).

It is desirable to eliminate such CFO errors from the CFO set used to produce the averaged estimate. This can be done by identifying them as 'outliers'. An example of a suitable process for identifying outliers is shown in the flow diagram of Figure 5. In this flow diagram, T is a suitably chosen threshold (e.g. 250 Hz) and CFO(n) denotes the CFO corresponding to detection number 'n'.

The receiver searches for NPSS signals over a period of time covering multiple frames. Assuming that multiple NPSS detections are made (according to the NPSS detection procedure), the set of CFOs for these detections is stored for processing. The process of Figure 5 commences once those set of candidate CFOs has been established. The process essentially seeks to establish the largest group of CFOs that are within a predetermined threshold of each other that can be established from the set of candidate CFOs. The process of checking whether a particular candidate CFO is within a predetermined threshold of another candidate CFO is performed in step S503 of Figure 5. If the threshold criterion is met, the other candidate CFO is added to a sum that will form the basis of an averaging operation and number of candidate CFOs contained in the current "candidate group" is increased by one (step S504). This process is repeated until the particular candidate CFO has been compared against all of the other candidate CFO's (steps S502 to S506). If the candidate group at the end of this process is larger than any candidate groups previously identified for one of the candidate CFOs then it replaces the group that was previously largest in the record (step S508). The same process is repeated for all of the candidate CFOs, i.e. all of the candidate CFOs take a turn at being the particular candidate CFO against which all of the others are compared (steps S501 to S510). At the end of the process, the average CFO that remains on the record will be the average for the largest group of candidate CFOs within a predetermined threshold of each other that can be formed from the original set of candidate CFOs (step S508).

The process shown in Figure 5 therefore operates to eliminate the outliers in a set of candidate CFOs and obtain the average of the group of candidate CFOs that remain.

Averaging timing estimates

The offset identifier 104 in Figure 1 also outputs any candidate offset that it has identified for a frame to timing offset unit 105. Again the incoming candidate offsets are preferably stored to form a collection of candidate offsets for multiple frames. The timing offset unit is preferably configured to use the same collection of candidate offsets for its averaging operation as frequency offset unit 106, i.e. the collection of candidate offsets from which any outliers have been removed. The timing offset unit may calculate its own average of the candidate offsets using the process shown in Figure 8. An example of a process for averaging timing estimates is shown in Figure 8. In step S801 the receiver searches for NPSS signals over a period of time covering multiple frames. Assuming that multiple NPSS detections are made during that time (step

5802) , the set of timings of these individual detections is stored for processing (step

5803) . The timings may be expressed in units of samples received by the UE. In step S804 a linear regression model is fitted to the set of timings obtained in step S801. The slope of the model is proportional to the UE clock reference frequency error ε. The averaged NPSS timing estimate is then obtained by adjusting the estimate so that it lies on the regression line (step S805).

An example of a linear regression model is shown in Figure 9. The step of fitting a linear regression model to the set of timings can be accomplished as follows: a. Denote the series of timings of the individual detections, expressed in units of UE received samples, with the UE sample rate being nominally 1.92 MHz: r(0), ... T(total_detections - 1). (The actual sampling rate in the UE is given by Equation 6).

b. Calculate the series x(n) = round((T(n) - Γ(0))/19200) and y(n) = T{n) - r(0) - x(n) * 19200. For example, Figure 9 is a plot y(n) = " (x(n)) for a set of individual detections, also showing the corresponding regression line.

c. Calculate the coefficients a and b that minimize the sum

total_detections-l^ y W _ fl + ( ) _ ¾) 2

Using the coefficients a and b, the 'averaged timing estimate', i.e. the estimated time of arrival of the NPSS signal in any frame k, in units of samples at the UE's received signal sample rate is:

y'(/c) = a * k + b

Here k is a frame index relative to the frame containing the first individual detection (for which k = 0).

An estimate of the UE clock reference frequency error based on the timing regression slope a calculated as described above is:

ε τ = α/19200 Each candidate offset that the timing offset unit (105) receives from the offset identifier (104) represents a timing estimate. The timing offset unit is thus configured to refine the timing estimate associated with one frame by aligning that timing estimate with a regression line fitted to a collection of timing estimates obtained from multiple frames.

Estimate validation

A further refinement of the techniques described above can be obtained by mutually validating the CFO and timing estimates. This may be performed by offset validator 1 07 in the receiver shown in Figure 1 . The offset validator may perform this mutual validation in accordance with the process shown in Figure 1 0.

As explained above, both the CFO and the UE sample rate are related to the UE clock reference frequency error ε. This relationship can be used to further improve the reliability of NPSS detections and the accuracy of the CFO and timing estimates.

First, the UE clock reference frequency error estimated based on the timing regression slope is denoted ε τ . The process commences in step S1 001 with determining the systematic frequency offset d embodied by the CFO estimates, relative to the 1 00 kHz raster:

= CFO avg + E T F carr i er - nominal (7)

The difference computed in Equation 7 should be close to one of the offsets in the set {-7.5 kHz, -2.5 kHz, 0 kHz, 2.5 kHz, 7.5 kHz}. This set can be reduced if the UE has prior knowledge of operating in-band, in a guard-band or stand-alone. d 0 is therefore compared with a set of predetermined, systematic frequency offsets (step S1 002). For example, by denoting d Q ~ the offset in the set that is closest to d 0 , the detection can be declared invalid if abs( dT Q - d 0 )>750 Hz (step S1 003).

Estimate enhancement

The optional estimate enhancement unit 1 08 is configured to use the timing and CFO estimates to generate an improved overall estimate of the frequency error in the reference clock. Denote e F the UE clock reference frequency error estimated based on the CFO:

F Oavg ^o) 1 1 ^ 'carrier nominal (8)

The estimate improver can then compute an estimate of the UE clock reference frequency error based on both timing and CFO. For example, this can be the weighted mean of the two estimates: s FT = w F * s F +w T * ε τ (9)

The estimate improver can then use e FT to refine the averaged timing estimate and/or the averaged CFO estimate.

An overview of the enhanced NPSS detection procedure described above is shown in Figure 1 1 . Averaging the CFO and timing estimates obtained for multiple frames improves the accuracy of the estimates, particularly when the NPSS signal is very weak and the UE is having to detect the signal at very low signal-to-noise ratios.

The NPSS detection procedure described above is the current version of this procedure, which may change as the 3GPP NB-loT standard evolves. It should be understood that the enhancements to the existing NPSS detection procedure described herein are not limited to being used with the existing procedure and may be equally applicable to any evolutions of the existing procedure that occur in time. In particular, the techniques described herein are not limited or constrained to using any particular sampling frequencies. The specific sampling frequencies mentioned above are only examples.

The applicant hereby discloses in isolation each individual feature described herein and any combination of two or more such features, to the extent that such features or combinations are capable of being carried out based on the present specification as a whole in the light of the common general knowledge of a person skilled in the art, irrespective of whether such features or combinations of features solve any problems disclosed herein, and without limitation to the scope of the claims. The applicant indicates that aspects of the present invention may consist of any such individual feature or combination of features. In view of the foregoing description it will be evident to a person skilled in the art that various modifications may be made within the scope of the invention.