This application claims the benefit of Taiwan application Serial No. 107107318, filed Mar. 5, 2018, the subject matter of which is incorporated herein by reference.
The invention relates a communication system, and more particularly to a technology for estimating a carrier frequency offset (CFO) in a communication system.
Various types of communication systems get more and more popular as related technologies in the field of electronics continue to advance. Each of a transmitter and a receiver of a communication system is provided with at least one oscillation signal source (e.g., a quartz oscillator) that provides a clock signal as a reference basis for circuit operations. During an operation process, clock frequencies of the transmitter and the receiver need to achieve certain consistency in order to enable the receiver correctly parse signals sent from the transmitter.
If the frequency of a local clock signal used for down-conversion at a receiving end differs from a carrier frequency applied to signals at a transmitting end, carrier frequency offset (CFO) is present. The CFO may lead to inter-carrier interference, and also cause the receiver unable to parse the received signal A usual cause of the CFO is mismatch between respective oscillators at a transmitting end and a receiving end. In practice, a transmitting end and a receiving end may be fabricated by different manufactures based on different hardware of different specifications, and matching between the oscillators at these two ends is extremely difficult. Thus, the receiving end is usually designed with a mechanism for compensating the CFO. It is obvious that, it is desired to first correctly estimate the value of the CFO before CFO compensation can be effectively conducted.
An output signal from a transmitting end includes data of certain content for a receiving end to perform channel estimation and CFO estimation. Taking the Digital Terrestrial Multimedia Broadcast (DTMB) standard adopted in the Mainland China region for instance, a signal is formed by a series of alternating frame headers and frame bodies. Each frame header includes a binary sequence. In different transmission modes, the lengths and contents of the binary sequence are different. Given that a current transmission mode is known, a receiving end is able to learn the length and original content of the binary sequence. On main task of a receiving end, before performing CFO estimation, is identifying a position of the binary sequence in a received signal.
The input signal of the coherent correlator 110 includes a received signal (to be denoted by a symbol r) and original content (to be denoted by a symbol c) of the binary sequence known to the receiving end, and a calculation process can be represented as equation (1) below:
R(n)=Σi=0L-1r(n−L+i+1)c*(i) (1)
In equation (1), the symbol n represents a time index, the symbol r(n) represents data content of the received signal r corresponding to the time point n, the symbol L represents the length of the binary sequence c, the symbol i represents an integral index, the symbol c*(i) represents an ith set of data in the binary sequence c, the symbol c(i) is a conjugate signal of the ith set of data, and the symbol R(n) represents a calculation result of the coherent correlator 110 corresponding to the time point n.
The coherent correlator 110 determines calculation results R(n) respectively corresponding to multiple time points n. Theoretically, a greater absolute value |R(n)| of the calculation result R(n) indicates a higher resemblance of a data segment to the binary sequence c, where the data segment has length L ending at the time point n in the received signal r. Thus, the time-domain peak searching circuit 120 collects multiple calculation results R(n), and determines therefrom one calculation R(n) having a largest amplitude (i.e., the square |R(n)|2 of the absolute value |R(n)| of the calculation result) R(n)).
Assuming that the time-domain peak searching circuit 120 determines that the amplitude |R(n)|2 corresponding to the time point n1 is the largest, the data capturing circuit 130 captures L sets of data corresponding to the time point n1 from the received signal r, namely, {r(n1−L+1), r(n1−L+2), . . . , r(n1)}, and provides the same as a target data segment y={y(0), y(1), . . . , y(L−1)} to the FFT circuit 140.
The FFT circuit 140 calculates product of the target data segment y and a conjugate signal of the binary sequence c, and performs FFT on the product. The associated calculation may be represented as equation (2) below:
Γ(k)=Σn=0L-1y(n)c*(n)e−j2πnk/N (2)
In equation (2), the symbol N represents the resolution of the FFT (i.e., the total number of frequencies), and the symbol k is an integral index (to be referred to as a frequency index k below) ranging between 0 and (N−1).
The FFT circuit 140 in total generates N transform results Γ(k) (k=0˜(N−1)) corresponding to N frequencies. The frequency-domain peak searching circuit 150 determines a transform result having the largest amplitude from the N transform results Γ(k), and obtains the frequency index k (to be denoted by a symbol {circumflex over (k)}) corresponding to the largest amplitude:
Next, the CFO calculating circuit 160 divides the frequency index {circumflex over (k)} by the value N, and multiplies the quotient by a sampling frequency fs applied to the received signal r at the receiving end to obtain an estimated CFO ξ.
An issue of the CFO estimating apparatus in
To solve the above issue, a differential correlator is proposed to replace the coherent correlator. Referring to
R
(1)=Σi=0L-2r(n−L+i+2)r*(n−L+i+1)c*(i+1)c(i) (4)
The second-order differential correlator 172 performs the second-order differential calculation of equation (5):
R
(2)=Σi=0L-3r(n−L+i+3)r*(n−L+i+1)c*(i+2)c(i) (5)
The third-order differential correlator 173 performs the third-order differential calculation of equation (6):
R
(3)=Σi=0L-4r(n−L+i+4)r*(n−L+i+1)c*(i+3)c(i) (6)
The fourth-order differential correlator 174 performs the fourth-order differential calculation of equation (7):
R
(4)=Σi=0L-5r(n−L+i+5)r*(n−L+i+1)c*(i+4)c(i) (7)
The summing circuit 175 sums the calculation results of the differential correlators 171 to 174, as equation (8):
R(n)=|R(1)(n)|+|R(2)(n)|+|R(3)(n)|+|R(4)(n)| (8)
Similar to the calculation result R(n) generated by the coherent correlator 110 according to equation (1), a greater calculation result R(n) obtained according to equation (8) also means that a higher resemblance of a data segment to the binary sequence c, where the data segment has length L ending at the time point n in the received signal. Similarly, the time-domain peak searching circuit 120 collects multiple calculation results R(n), and identifies therefrom one calculation result R(n) having a largest amplitude, and the data capturing circuit 130 captures the corresponding target data segment y from the received signal r, wherein the target data segment y later serves as the basis for a subsequent circuit to generate the estimated CFO ξ.
In an actual communication environment, the received signal r may be a multipath signal. In a multipath situation, a one-order differential correlation result may simultaneously include peak values having similar amplitudes, with however only one of these peak values corresponding to the real transmission path. Further, in calculation results of different orders, peak values corresponding to the actual transmission path appear at the same time point. Thus, it is necessary that the summing circuit 175 sums the multiple-order differential correlation results to figure out the actual transmission path.
It is known from the above description that, to ensure that the data capturing circuit 130 is able to determine the correct target data segment y, taking into account calculation results of multiple differential correlators is necessary. However, with respect to a larger CFO, although the CFO estimating apparatus in
To solve the above issues, the present invention provides an apparatus and a method for estimating a carrier frequency offset (CFO).
According to an embodiment of the present invention, an apparatus for estimating a CFO includes a differential correlator, a time-domain peak searching circuit, a data capturing circuit, a fast Fourier transform (FFT) circuit, a frequency-domain peak searching circuit, a selecting circuit, and a CFO calculating circuit. The differential correlator performs a differential correlation calculation on a received signal and a section of reference data to generate a plurality of differential correlation results corresponding to a plurality of time points. The time-domain peak searching circuit identifies M number of peak values having largest amplitudes from the plurality of differential correlation results, and outputs each time one of the M number of peak values as a candidate peak value, where M is a positive integer greater than 1. The data capturing circuit captures from the received signal a data segment corresponding to the candidate peak value, wherein the data segment is used as a candidate data segment. The FFT circuit performs FFT on a product of the candidate data segment and a conjugate signal of the section of reference data to obtain a candidate transform result. The frequency-domain peak searching circuit identifies a largest amplitude in the candidate transform result. The selecting circuit determines, according to the largest amplitude in the candidate transform result, whether to select the candidate transform result as a target transform result. The CFO calculating circuit determines an estimated CFO according to a frequency corresponding to the largest amplitude in the target transform result.
According to another embodiment of the present invention, a method for estimating a CFO includes: performing a differential correlation calculation on a received signal and a section of reference data to generate a plurality of differential correlation results corresponding to a plurality of time points; identifying M number of peak values having largest amplitudes from the plurality of differential correlation results, and selecting each time one of the M number of peak values as a candidate peak value, where M is a positive integer greater than 1; after having selected the candidate peak value, capturing from the received signal a data segment corresponding to the candidate peak value as a candidate data segment; performing FFT on a product of the candidate data segment and a conjugate signal of the section of reference data to obtain a candidate transform result; identifying a largest amplitude in the candidate transform result; determining, according to the largest amplitude in the candidate transform result, whether to select the candidate transform result as a target transform result; and after having selected the target transform result, determining an estimated CFO according to a frequency corresponding to the largest amplitude in the target transform result.
The above and other aspects of the invention will become better understood with regard to the following detailed description of the preferred but non-limiting embodiments. The following description is made with reference to the accompanying drawings.
It should be noted that, the drawings of the present invention include functional block diagrams of multiple functional modules related to one another.
These drawings are not detailed circuit diagrams, and connection lines therein are for indicating signal flows only. The interactions between the functional elements/or processes are not necessarily achieved through direct electrical connections. Further, functions of the individual elements are not necessarily distributed as depicted in the drawings, and separate blocks are not necessarily implemented by separate electronic elements.
An input signal of the CFO estimating apparatus 200 includes a received signal r and a section of reference data c. Theoretically, the received signal r includes the reference data c, and the content, format and length L of the reference data c are defined in the specification of communication protocol and are known data. It should be noted that, the reference data c may be, for example but not limited to, a binary sequence, or an octal or decimal sequence. In brief, the differential correlator 210, the time-domain peak searching circuit 220 and the data capturing circuit 230 identify, from the received signal r, multiple segments that are potentially the reference data c as candidate data segments. The FFT circuit 240, the frequency-domain peak searching circuit 250 and the selecting circuit 260 determine, from these candidate data segments, one data segment most likely corresponding to a real CFO as the basis for the CFO calculating circuit 270 to generate an estimated CFO. Operation details of these circuits are given below.
The differential correlator 210 performs a differential correlation calculation on the received signal r according to the length L and the reference data c to generate a plurality of differential correlation results corresponding to a plurality of time points. For example, assume that the length of one complete frame header and frame body corresponds to 5000 sample results in the received signal r, because the length of a multipath is not more than the above length of the 5000 sample results, the differential correlator 210 is configured to generate differential correlation results corresponding to 5000 consecutive time points. In one embodiment, the differential correlator 210 is designed to perform a first-order differential correlation calculation of equation (9):
R
(1)(n)=Σi=0L-2r(n−L+i+2)r*(n−L+i+1)c*(i+1)c(i) (9)
In equation (9), the symbol n represents a time index, which is a quantity of 5000 in this example, the symbol r(n) represents data content of the received signal r at the time point n, the symbol i is an integral index, the symbol c(i) represents the ith set of data in the reference data c, the symbol c*(i+1) is a conjugate signal of data c(i+1), and the symbol R(1)(n) represents a calculation result of the differential correlator 210 corresponding to the time point n. It should be noted that, the scope of the present invention does not limit the calculation performed by the differential correlation 210 to be a first-order differential correlation calculation. For example, the differential correlator 210 may also be designed to calculate a differential correlation result through a second-order differential correlation calculation. The differential correlator 210 is not required to perform differential correlation calculations in multiple different orders as the prior art in
The time-domain peak searching circuit 220 identifies M number of peak values having largest amplitudes (i.e., the square |R(1)(n)|2 of the absolute value |R(1)(n)|) from the plurality (e.g., the above 5000) of differential correlation results. Time points of these M number of peak values are most likely an ending position (where the frame header is located) of the reference data c. One of the M number of peak values is outputted each time as a candidate peak value PCAN, where M is a positive integer greater than 1. In practice, the value M may be determined by a circuit designer based on the rule of thumb. For example, if it is known from past experience that, the differential correlation result corresponding to the actual CFO necessarily appears in the first 64 peak values of peak values having the largest amplitudes, the value M may be set to 64.
The data capturing circuit 230 captures, from the received signal r, the data segment corresponding to the candidate peak value PCAN as a candidate data segment yCAN. As previously state, a segment in the section of the reference data c in the received signal r is likely regarded as a candidate data segment. More specifically, the position of the candidate peak value PCAN on the time axis corresponds to a time point (denoted by nCAN). As the length of the reference data c is L, the data capturing circuit 230 captures, from the received signal r, consecutive L sets of data {r(nCAN−L+1), r(nCAN−L+2), . . . , r(nCAN)} with the time point nCAN as the ending point, and provides the same as the candidate data segment yCAN={y(0), y(1), . . . , y(L−1)} to the FFT circuit 240.
The FFT circuit 240 calculates a product of the candidate data segment yCAN and a conjugate signal c* of the reference data c, and performs FFT on the product to obtain a candidate transform result ΓCAN, as equation (10):
ΓCAN=Σn=0L-1yCAN(n)c*(n)e−j2πnk/
In equation (10), the symbol N1 represents the resolution of the FFT (i.e., the number of sampling frequencies), and the symbol k represents an integral index (to be referred to as a frequency index k) ranging between 0 and (N1−1). In other words, the FFT circuit 240 in total generates N1 number of transform results Γ(k) (k=0−(N1−1) corresponding to N1 frequencies. In the frequency domain, these transform results represent the correlation between the candidate data segment and the reference data c.
Next, to determine, from the N1 number of transform results, the transform result with highest correlation with respect to the reference data c, the frequency-domain peak searching circuit 250 determines the frequency index k (k=0˜(N1−1)) corresponding to the largest square |ΓCAN(k)|2 of the absolute value |ΓCAN(k)|, wherein the determined frequency index k is used as the largest amplitude MAXCAN in the candidate transform results ΓCAN, wherein MAXCAN is as represented by equation (11) below:
The selecting circuit 260 determines, according to the largest amplitude MAXCAN of the candidate transform result, whether to select the candidate transform result as a target transform result ΓTAR,
In one embodiment, the threshold providing circuit 261 determines the amplitude threshold T according to the number of transmission paths of the received signal r or the length L of the reference data e. More specifically, if the received signal c arrives at a receiving end where the CFO estimating apparatus 200 is located through multiple transmission paths, the signal energy distributed to the various paths is usually lower as the number of transmission paths increases, and so a lower amplitude threshold T should be used. Further, theoretically speaking, the largest amplitude MAXTAR of the target transform result TTAR increases for a longer length L of the reference data c, and so a higher amplitude threshold T should be used.
In the CFO estimating apparatus 200, once one target transform result TTAR has been identified, the selecting circuit 260 no longer requests the time-domain peak searching circuit 220 to provide a new candidate peak value PCAN to the data capturing circuit 230. In another embodiment, the selecting circuit 260 may configure the M number of peak values, identified by the time-domain peak searching circuit 220, to be set one after another as the candidate peak value PCAN to sequentially identify the candidate transform result ΓCAN, and select therefrom one candidate transform result ΓCAN having the largest amplitude MAXCAN as the target transform result ΓTAR.
In practice, the selecting circuit 260 may be implemented by various control and processing platforms, including fixed and programmable logic circuits, e.g., programmable logic gate arrays, application-specific integrated circuits (ASICs), microcontrollers, microprocessors, and digital signal processors (DSPs). Further, the selecting circuit 260 may also be designed to execute a processor command stored in a memory (not shown) to complete associated tasks.
After the target transform result ΓTAR has been determined, the selecting circuit 260 obtains the frequency index k (to be denoted as {circumflex over (k)} below) corresponding the largest amplitude MAXCAN, as equation (12):
{circumflex over (k)}=arg MAXTAR (12)
The CFO calculating circuit 270 determines an estimated CFO ξ according to the frequency index {circumflex over (k)}. In one embodiment, the CFO calculating circuit 270 calculates the estimated CFO according to the frequency index {circumflex over (k)}, the value N1 (i.e., the resolution of FFT performed by the FFT circuit 240), and the sampling frequency fs that the receiving end applies on the received signal r, as equation (13):
It is seen from the above description that, the CFO estimating apparatus 200 determines the realness (whether or not corresponding to the real reference data c) of a peak value by inspecting the value of the largest amplitude MAXCAN of the candidate transform result ΓCAN. Since the realness of the peak value is not determined based on a summation value of multiple-order differential correlation results, the differential correlator 210 is not required to perform multiple-order differential correlation calculations as the prior art in
The compensating circuit 281 performs CFO compensation on the received signal r according to the estimated CFO ξ generated by the CFO calculating circuit 270 to generate a compensated received signal {tilde over (r)}. In practice, the compensating circuit 281 may be implemented by a mixer. It should be noted that, after the received signal r is processed by the compensating circuit 281, it is likely that only a small amount of CFO remains in the compensated signal {tilde over (r)}.
To further identify the remaining small amount of CFO, the coherent correlator 282 and the fine data capturing circuit 283 are used to more accurately locate the position of the reference data c in the compensated signal {tilde over (r)}. More specifically, the coherent correlator 282 performs a coherent correlation calculation on the compensated signal {tilde over (r)} according to the length L and the reference data c to generate a plurality of coherent correlation results {tilde over (R)}(n) corresponding to a plurality of time points, as equation (14):
{tilde over (R)}(n)=Σi=0L-1{tilde over (r)}(n−L+i+1)c*(i) (14)
For example, assume that the length of one complete frame header and frame body corresponds to 5000 sample results in the compensated signal {tilde over (r)}, the coherent correlator 282 may be configured to generate coherent correlation results {tilde over (R)}(n) corresponding to 5000 consecutive time points n.
Next, the fine data capturing circuit 283 identifies one coherent correlation result having the largest amplitude from the plurality of coherent correlation results {tilde over (R)}(n), and captures a corresponding fine target data segment {tilde over (y)} having the length L from the compensated signal {tilde over (r)}.
The DFT circuit 284 calculates a product of the fine target data segment {tilde over (y)} and a conjugate signal c* of the reference data c, and performs DFT on the product to generate a transform result Γ2, as equation (15):
Γ2(k)=Σn=0L-1{tilde over (γ)}(n)c*(n)e−j2πnk/N
In equation (15), the symbol N2 represents the resolution of the DFT, and the symbol k represents an integral index ranging between 0 and (N2−1).
Next, the fine CFO calculating circuit 285 selects a largest amplitude from the transform result Γ2, and generates a fine estimated CFO {tilde over (ξ)} according to the frequency index k (to be denoted by {hacek over (k)}) corresponding to the largest amplitude, as equation (16):
As previously stated, only a small amount of CFO is likely to remain in the compensated signal {tilde over (r)}. That is to say, among the transform result Γ2, the transform result having the largest amplitude would theoretically appear near zero frequency. Therefore, in one embodiment, the DFT circuit 284 is configured to perform the DFT only on a plurality of frequencies near zero frequency, achieving a benefit of reducing computation. For example, if the resolution N2 of the DFT is 8192, instead of performing the DFT on all of the 8192 frequency indices k, the DFT circuit 284 performs the DFT only on 11 frequency indices k ranging between −5 and 5. In the above situation, the fine estimated CFO {tilde over (ξ)} is:
In one embodiment, the resolution N2 is set to be higher than the resolution N1 of the FFT performed by the FFT circuit 230; that is, a higher resolution is used to determine the fine estimated CFO {tilde over (ξ)}. Further, the resolution N2 may be set according to a CFO tolerance of a subsequent circuit. For example, assuming the CFO tolerance of a subsequent circuit is 2 KHz, i.e., an error caused by CFO below 2 KHz is tolerable, the resolution N2 may be set such that the frequency interval fs/N2 is lower than 2 KHz.
The controller 291 controls the coherent correlator 282, the fine data capturing circuit 283, the DFT circuit 284 and the fine CFO estimating circuit 285, and generates a fine estimated CFO {tilde over (ξ)} for each of K sets of signal contents of the compensated signal {tilde over (r)}, where K is a positive integer greater than one. For example, the K sets of signal contents may be, in the K respective data frames data segments, most likely to be the reference data c.
The memory 292 temporarily stores the fine estimated CFO {tilde over (ξ)} calculated each time by the fine CFO estimating circuit 285. When all of the K fine estimated CFO {tilde over (ξ)} have been generated, the controller 291 controls the weighting circuit 293 to fetch the K fine estimated CFO {tilde over (ξ)} from the memory 292, and performs a weighted summation on the K fine estimated CFO {tilde over (ξ)} to generate a weighted estimated CFO {tilde over (ξ)}. Taking the value K set as 5 for instance, the weighting circuit 293 may set all weightings to 0.2, i.e., calculating an average value of five fine estimated CFO {tilde over (ξ)}. By increasing the number of reference data, the weighted estimated CFO {tilde over (ξ)} may have a higher reliability.
One person skilled in the art can appreciate that, operation variations in the description associated with the CFO estimating apparatuses 200, 400 and 500 are applicable to the CFT estimating method in
While the invention has been described by way of example and in terms of the preferred embodiments, it is to be understood that the invention is not limited thereto. On the contrary, it is intended to cover various modifications and similar arrangements and procedures, and the scope of the appended claims therefore should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements and procedures. Further, the mathematical expressions in the disclosure are for illustrating principles and logics associated with the embodiments of the present invention. Unless otherwise specified, these mathematical expressions do not levy limitations to the present invention. One person skilled in the art can understand that, there are various other technologies capable of realizing the physical forms corresponding to these mathematical expressions.
Number | Date | Country | Kind |
---|---|---|---|
107107318 | Mar 2018 | TW | national |