Method for estimating carrier frequency offset with timing synchronization in wireless receiver
10461982 ยท 2019-10-29
Assignee
Inventors
- Sujit Jos (Bangalore, IN)
- Kiran Bynam (Karnataka, IN)
- Chang Soon Park (Chungju-si, KR)
- Jinesh Parameshwaran Nair (Bangalore, IN)
- Chandrashekhar Thejaswi Pattaguppe Suryanarayan Bhat (Bangalore, IN)
- Young Jun Hong (Seoul, KR)
- Young Soo Kim (Seoul, KR)
Cpc classification
International classification
Abstract
A method and apparatus estimating carrier frequency offset (CFO) with timing synchronization are provided. The apparatus includes processor that receives analog-to-digital converter (ADC) samples, determines a coarse angle from the received ADC samples, obtains an improved coarse angle by altering the coarse angle based on a preamble duration, determines a base CFO estimate from the improved coarse angle and determines a plurality of candidate CFOs based on the base CFO estimate and a difference frequency.
Claims
1. A method for estimating carrier frequency offset (CFO) with timing synchronization in a wireless receiver, the method comprising: receiving analog-to-digital converter (ADC) samples; determining a coarse angle from the received ADC samples based on an angle between two ADC samples separated by a predetermined time duration; obtaining an improved coarse angle by altering the determined coarse angle based on a ratio of a full preamble duration and the predetermined time duration; determining a base CFO estimate based on the improved coarse angle; determining a plurality of candidate CFOs based on the base CFO estimate and a difference frequency; and determining the CFO and the timing synchronization using the plurality of candidate CFOs.
2. The method of claim 1, wherein the preamble duration is a predefined value.
3. The method of claim 1, wherein the difference frequency is a reciprocal of a product of a preamble period and a sampling period.
4. The method of claim 1, wherein determining the CFO and the timing synchronization using the plurality of candidate CFOs comprises: obtaining a plurality of compensated ADC samples corresponding to the plurality of candidate CFOs, after compensating the received ADC samples with the plurality of candidate CFOs; performing a sliding window correlation for each of the plurality of compensated ADC samples with a oversampled preamble sequence; and determining a maximum correlation value among correlation values in the sliding window correlation for each of the plurality of compensated ADC samples.
5. The method of claim 4, wherein a candidate CFO, from among the plurality of candidate CFOs, having the maximum correlation value is estimated as the CFO.
6. The method of claim 4, wherein a time instance at which the maximum correlation value is obtained is determined as the timing synchronization.
7. The method of claim 1, wherein the receiving the analog-to-digital converter (ADC) samples comprises: receiving first ADC samples from a first ADC converter; and receiving second ADC samples from a second ADC converter.
8. The method of claim 7, wherein the determining the coarse angle from the received ADC samples comprises: determining the coarse angle based on the first ADC samples and the second ADC samples.
9. The method of claim 1, the determining the plurality of candidate CFOs based on the base CFO estimate (f) and the difference frequency (f.sub.d) comprises: computing the plurality of candidate CFOs (f.sup.h) as follows:
f.sup.h=f+hf.sub.d, h{m,m+1, . . . ,0, . . . m1,m+1}, wherein m is an integer that determines an estimation accuracy.
10. An apparatus comprising: a processor configured to: receive analog-to-digital converter (ADC) samples; determine a coarse angle from the received ADC samples based on an angle between two ADC samples separated by a predetermined time duration; obtain an improved coarse angle by altering the determined coarse angle based on a ratio of a full preamble duration and the predetermined time duration; determine a base CFO estimate based on the improved coarse angle; determine a plurality of candidate CFOs based on the base CFO estimate and a difference frequency; and determine a CFO and a timing synchronization using the plurality of candidate CFOs.
11. The apparatus of claim 10, wherein the preamble duration is a predefined value.
12. The apparatus of claim 10, wherein the difference frequency is a reciprocal of a product of a preamble period and a sampling period.
13. The apparatus of claim 10, wherein the processor is further configured to estimate the CFO and the timing synchronization using the plurality of candidate CFOs by: obtaining a plurality of compensated ADC samples corresponding to the plurality of candidate CFOs, after compensating the received ADC samples with the plurality of candidate CFOs; performing a sliding window correlation for each of the plurality of compensated ADC samples with a oversampled preamble sequence; and determining a maximum correlation value among all correlation values in the sliding window correlation for each of the plurality of compensated ADC samples.
14. The apparatus of claim 13, wherein a candidate CFO, from among the plurality of candidate CFOs, having the maximum correlation value is estimated as the CFO.
15. The apparatus of claim 13, wherein a time instance at which the maximum correlation value is obtained is determined as the timing synchronization.
16. An apparatus comprising: a processor configured to: determine an estimated base carrier frequency offset (CFO) based on an angle between analog-to-digital converter (ADC) samples separated by a predetermined time duration and a ratio of a full preamble duration and the predetermined time duration; determine a plurality of candidate CFOs based on the estimated base CFO and a difference frequency; and determine a CFO from the plurality of candidate CFOs based on a correlation value corresponding to each of the plurality of candidate CFOs.
Description
BRIEF DESCRIPTION OF FIGURES
(1) The above and/or other aspects will be more apparent and more readily appreciated from the following description of example embodiments with reference to the accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6)
DETAILED DESCRIPTION
(7) Hereinafter, various example embodiments will be described with reference to the accompanying drawings. It is to be understood that the content described in the present disclosure should be considered as descriptive and not for the purpose of limitation, and therefore various modifications, equivalents, and/or alternatives of the example embodiments are included in the present disclosure. With reference to descriptions of the accompanying drawings, the same or similar components may be denoted by similar reference numerals.
(8) Descriptions of well-known components and processing techniques may be omitted so as to not unnecessarily obscure the example embodiments herein. Also, the various example embodiments described herein are not necessarily mutually exclusive, as some example embodiments can be combined with one or more other example embodiments to form or illustrate new example embodiments. The terminologies used in this disclosure should be considered as descriptive and not for the purpose of limiting the scope of example embodiments. Further, although the singular representation may be used in the disclosure for convenience of explanation, it may be interpreted as including plural representations unless the context clearly indicates otherwise. The term or as used herein, refers to a non-exclusive or, unless otherwise indicated. The examples used herein are intended merely to facilitate an understanding of ways in which the example embodiments herein can be practiced and to further enable those skilled in the art to practice the example embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the example embodiments herein.
(9)
(10) According to an example embodiment, a radio frequency (RF) signal received at the antenna is split and provided to the mixers 102a and 102b where the received signal is mixed with the local oscillator signal to produce in-phase (I) and quadrature (Q) components. The I and Q signals will then follow two paths to timing and frequency synchronization unit 108. The I and Q components are amplified by the amplifiers 104a and 104b and converted to digital signals using the ADCs 106a and 106b. According to an example embodiment, the I component follow a first path, which includes mixer 102a, amplifier 104a and ADC 106a, and the Q component follow a second path, which includes mixer 102b, amplifier 104b and ADC 106b. The timing and frequency synchronization unit 108 provides symbol/chip synchronization and frequency/phase adjustment. The timing and frequency synchronization unit 108 includes various elements (as described in the
(11)
(12) The ADC samples reception unit 202 receives ADC samples from the ADCs 106a and 106b. The received ADC samples may be constant envelope phase modulated signals. The vector of the received ADC samples may be represented as r.sub.samp with each element denoted as r.sub.samp(n).
(13) The coarse angle determination unit 204 determines the coarse angle between two ADC samples separated by predetermined time duration. In this context, the predetermined time duration could be equal to the sampling period T.sub.s or a multiple of sampling period, i.e., equal to mT.sub.s, m is an integer. The coarse angle .sub.s can be determined using the equation (1) as mentioned below.
.sub.s=(r.sub.samp(n).Math.r.sub.samp*(n+1)(1)
(14) The reliability of the coarse angle as determined using the equation (1) is low and hence the coarse angle can be referred as coarse fractional angle. According to an example embodiment, the coarse angle is altered to obtain an improved coarse angle.
(15) The coarse angle altering unit 206 alters the coarse angle based on the preamble duration to obtain an improved coarse angle. The coarse angle corresponding to the full preamble duration, which corresponds to a preamble length P, denotes the angle of maximum reliability and is represented by the equation (2) as mentioned below.
.sub.T=(r.sub.samp(n).Math.r.sub.samp*(n+P*OSR)(2)
(16) The relation between the coarse fractional angle .sub.s (as mentioned in the equation (1)) and the angle .sub.T (as mentioned in the equation (2)) can be denoted as
.sub.T+2n=N.sub.s(3)
(17) In the above equation (3), N is the ratio of T and the predetermined time duration described above. As mentioned above, digital communications may employ many repetitions of a base preamble. In that case, the coarse angle may correspond to the multiples of full preamble duration and the predetermined time duration should be selected such that N is an integer. In the presence of noise, the equation (3) may not be valid. The accuracy of coarse fractional angle .sub.s may be improved by obtaining .sub.s represented as
(18)
In the equation (4), n.sub.0=round(n) and
(19)
(20) The above method is based on the fact that, since equation (3) should hold with equality and n is an integer, the reliability of the .sub.s improves by rounding of the non-integer (n is non-integer in presence of noise/channel effects) n in the equation (5) to its nearest integers.
(21) The base CFO estimation unit 208 estimates the base CFO from the improved coarse angle .sub.s. The base CFO (f) is estimated using the equation (6) as mentioned below.
(22)
(23) The storage unit 210 stores various values such as a base CFO estimate, a difference frequency, a plurality of candidate CFO values that are used to calculate the CFO. The storage unit 210 may include one or more computer-readable storage media. The storage unit 210 may include non-volatile storage elements. Examples of such non-volatile storage elements may include magnetic hard disc, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. In addition, the storage unit 210 may, in some examples, be considered a non-transitory storage medium. The term non-transitory may indicate that the storage medium is not embodied in a carrier wave or a propagated signal. However, the term non-transitory should not be interpreted that the storage unit 210 is non-movable. In some examples, the storage unit 210 can be configured to store larger amounts of information. In certain examples, a non-transitory storage medium may store data that can, over time, change (e.g., in Random Access Memory (RAM) or cache).
(24) The correlation unit 212 performs one or more actions for performing correlation, CFO estimation and timing synchronization. The correlation unit 212 computes a plurality of candidate CFOs using the base CFO estimate and a difference frequency.
(25) From the base CFO estimate f, the plurality of candidate CFOs (f.sup.h) can be computed using the equation (7) as mentioned below.
f.sup.h=f+hf.sub.d, h{m,m+1, . . . ,0, . . . m1,m+1}(7)
(26) In the above equation (7), m is an integer that determines the estimation accuracy and f.sub.d denotes the difference-frequency. The difference frequency is a reciprocal of product of preamble period and the sampling period.
(27) The difference frequency (f.sub.d) is obtained as
(28)
(29) Further, the correlation unit 212 estimates the CFO and the timing synchronization using the computed plurality of candidate CFOs. The various actions performed by the correlation unit 212 for estimating the CFO and the timing synchronization are described in conjunction with
(30) The
(31)
(32) At operation 304, the method includes determining a coarse angle from the received ADC samples. The method allows the coarse angle determination unit 204 to determine the coarse angle from the received ADC samples separated by a predetermined time duration. The predetermined time duration could be equal to the sampling period T.sub.s or a multiple of sampling period, i.e., equal to mT.sub.s, m is an integer. The coarse angle .sub.s can be determined using the equation (1) as mentioned above.
(33) At operation 306, the method includes altering the coarse angle based on the preamble duration to obtain an improved coarse angle. The method allows the coarse angle altering unit 206 to alter the coarse angle based on the preamble duration to obtain the improved coarse angle. The coarse angle corresponding to the full preamble duration, which corresponds to a preamble length P, is the angle of maximum reliability that can be derived using the equation (2). In an embodiment, the preamble duration can be a pre-defined value. In the equation (3), N is the ratio of T and the predetermined time duration described earlier. As described earlier, the digital communications typically employ many repetitions of a base preamble. In that case, the coarse angle may correspond to the multiples of full preamble duration and the predetermined time duration should be selected such that N is an integer.
(34) At operation 308, the method includes computing a base CFO estimate from the improved coarse angle. The method allows the base CFO estimation unit 208 to compute the base CFO estimate from the improved coarse angle. The base CFO estimation unit 208 computes the base CFO estimate using the equation (6).
(35) At operation 310, the method includes computing a plurality of candidate CFOs using the base CFO estimate and a difference frequency. The method allows the correlation unit 212 to compute the plurality of candidate CFOs using the base CFO estimate and the difference frequency. The plurality of candidate CFOs are computed using the base CFO estimate and the difference frequency with the equation (7) as described above.
(36) At operation 312, the method includes estimating the CFO and the timing synchronization using the computed plurality of candidate CFOs. The method allows the correlation unit 212 to estimate the CFO and the timing synchronization using the computed plurality of candidate CFOs.
(37) The various actions, acts, blocks, operations, or the like in the flow diagram 300 may be performed in the order presented, in a different order or simultaneously. Further, in some example embodiments, some of the actions, acts, blocks, operations, or the like may be omitted, added, modified, skipped, or the like without departing from the scope of the disclosure.
(38)
(39) In an example, considering m=2 in the equation (7), five candidate CFO's (i.e., f.sup.h, h[2,2]) are determined. Using the five candidate CFO's, five compensated ADC samples are obtained using the equation (9) as mentioned below.
r.sub.f.sub.
(40) At operation 404, the method includes performing a sliding window correlation for each of the plurality of compensated ADC samples. The method allows the correlation unit 212 to perform the sliding window correlation for each of the plurality of compensated ADC samples, in which a L-length window of the compensated vector is correlated with the oversampled preamble sequence x.sub.p.sup.os(n). The sliding window correlation is performed for each of the compensated ADC samples with the equation (10) as mentioned below.
maxcorr.sub.f.sub.
(41) In the above equation (10), the number of samples L is equal to the length of oversampled preamble sequence and corresponds to the preamble period T.
(42) At operation 406, the method includes determining a maximum correlation value among all the correlation values in the sliding window correlation. The method allows the correlation unit 212 to determine the maximum correlation value among all the correlation values in the sliding window correlation. In this context, the number of correlation obtained or alternatively the range of k in equation (10) is predetermined and corresponds to duration in the ADC samples wherein the preamble is expected and is specific to the implementation. At operation 408, the method includes selecting the CFO from the plurality of candidate CFOs for which the corresponding compensated ADC samples results in a maximum correlation value. The method allows the correlation unit 212 to select the CFO from the plurality of candidate CFOs for which the corresponding compensated ADC samples results in a maximum correlation value. The CFO (represented as f) is selected from the plurality of candidate CFOs, for which the corresponding compensated ADC samples results in a maximum correlation value is obtained can be denoted as
f=argmax.sub.f.sub.
(43) At operation 410, the method includes determining timing synchronization as a time instance at which maximum correlation value is obtained. The method allows the correlation unit 212 to determine the timing synchronization as the time instance at which maximum correlation value is obtained. The time instance is denoted as . The time instance at which the maximum correlation value is obtained can be derived through the equation (12) as mentioned below.
=argmax.sub.k{maxcorr.sub.f(k)}(12)
(44) The various actions, acts, blocks, operations, or the like in the flow diagram 400 may be performed in the order presented, in a different order or simultaneously. Further, in some embodiments, some of the actions, acts, blocks, operations, or the like may be omitted, added, modified, skipped, or the like without departing from the scope of the disclosure.
(45)
(46) The overall computing environment 500 can be composed of multiple homogeneous and/or heterogeneous cores, multiple CPUs of different kinds, special media and other accelerators. The processing unit 506 is responsible for processing the instructions of the algorithm. Further, the plurality of processing units 506 may be located on a single chip or over multiple chips.
(47) The algorithm composed of instructions and codes required for the implementation are stored in either the memory unit 508 or the storage 510 or both. According to an example embodiment, the methods illustrated in
(48) In case of any hardware implementations various networking devices 514 or external I/O devices 512 may be connected to the computing environment to support the implementation through the networking unit and the I/O device unit 512.
(49) The example embodiments disclosed herein can be implemented through at least one software program running on at least one hardware device and performing network management functions to control the elements. The elements shown in
(50) According to an example embodiment, the receiver 100 illustrated in
(51) According to an example embodiment, a non-transitory computer readable medium in which a program performing the methods at least illustrated in
(52) Although example embodiments have been illustrated and described hereinabove, the present disclosure is not limited to the above-mentioned specific example embodiments, but may be variously modified by those skilled in the art to which the present disclosure pertains without departing from the scope and spirit of the disclosure as disclosed in the accompanying claims. These modifications should also be understood to fall within the scope of the present disclosure.