KALMAN FILTER BASED PHASE-LOCKED LOOP WITH RE-ENCODING BASED PHASE DETECTOR
20260106782 ยท 2026-04-16
Inventors
- Xushuai Qu (Austin, TX, US)
- Guner Arslan (Austin, TX, US)
- Robert Gorday (Gainesville, FL, US)
- Yan Zhou (Spicewood, TX, US)
- Yi Shen Yeh (Austin, TX, US)
Cpc classification
H03M13/4138
ELECTRICITY
International classification
Abstract
A wireless communications device includes a receiver having a phase detector configured to extract frequency offset and provide a corresponding error signal generated based on a baseband version of a received radio frequency signal and an expected transmitted data signal. The receiver has a phase-locked loop configured to generate an error correction signal based on a phase of the error signal and a predicted instantaneous phase of the error signal. The receiver has a correction circuit configured to provide a corrected baseband version of the received radio frequency signal based on the baseband version of the received radio frequency signal and the error correction signal. The receiver may have a re-encoding-based processing circuit configured to provide the expected transmitted data signal based on a preliminarily decoded symbol.
Claims
1. A method for tracking frequency and phase offset in a receiver, the method comprising: generating an error correction signal based on a baseband version of a received radio frequency signal, a reference signal, and a predicted instantaneous phase signal; and providing a corrected baseband version of the received radio frequency signal based on the baseband version of the received radio frequency signal and the error correction signal.
2. The method as recited in claim 1 further comprising: generating the reference signal, wherein in a training mode of operation of the receiver, the reference signal is generated based on predetermined samples, and wherein in a tracking mode of operation of the receiver, the reference signal is generated using a decoded symbol based on the corrected baseband version of the received radio frequency signal.
3. The method as recited in claim 1 further comprising: processing the corrected baseband version of the received radio frequency signal using a modified Viterbi decoder; and generating the reference signal based on a preliminarily decoded symbol provided by the modified Viterbi decoder.
4. The method as recited in claim 3 further comprising: providing the preliminarily decoded symbol by the modified Viterbi decoder at time index k based on a soft-decision symbol of the corrected baseband version of the received radio frequency signal at the time index k, wherein the modified Viterbi decoder has a plurality of states, each of the plurality of states has a corresponding accumulated path metric, and the preliminarily decoded symbol corresponds to a state of the plurality of states having a minimum accumulated path metric at the time index k.
5. The method as recited in claim 3 wherein processing the corrected baseband version of the received radio frequency signal comprises: demapping the corrected baseband version of the received radio frequency signal to generate a soft-decision signal; decoding the soft-decision signal using the modified Viterbi decoder to generate the preliminarily decoded symbol; and mapping the preliminarily decoded symbol using a predetermined modulation scheme to generate the reference signal.
6. The method as recited in claim 1 wherein generating the error correction signal comprises: generating an error signal based on the baseband version of the received radio frequency signal and the reference signal; generating a phase difference signal based on the phase of the error signal and a prior value of the predicted instantaneous phase signal; combining a proportional version of the phase difference signal with an integrated version of the phase difference signal to generate a predicted frequency signal; and integrating the predicted frequency signal to generate the predicted instantaneous phase signal.
7. The method as recited in claim 6 wherein the proportional version of the phase difference signal and the integrated version of the phase difference signal are further combined with a signal indicative of frequency drift of the received radio frequency signal to generate the predicted frequency signal.
8. The method as recited in claim 1 wherein the predicted instantaneous phase signal is based on a phase offset tracking signal, a frequency offset tracking signal, and a frequency drift tracking signal.
9. The method as recited in claim 1 further comprising: generating the reference signal based on a feedback signal corresponding to a decoded symbol based on the corrected baseband version of the received radio frequency signal; and pausing an update of the error correction signal in response to a control signal indicative of a reliability of the feedback signal.
10. A wireless communications device comprising: a receiver comprising: a phase-locked loop configured to generate an error correction signal based on a phase of an error signal and a predicted instantaneous phase of the error signal, the error signal being generated based on a baseband version of a received radio frequency signal and an expected transmitted data signal; and a correction circuit configured to provide a corrected baseband version of the received radio frequency signal based on the baseband version of the received radio frequency signal and the error correction signal.
11. The wireless communications device as recited in claim 10 wherein the receiver further comprises: a phase detector configured to provide the error signal generated based on the baseband version of the received radio frequency signal and the expected transmitted data signal; and a re-encoding-based processing circuit configured to provide the expected transmitted data signal based on a preliminarily decoded symbol, wherein the re-encoding-based processing circuit comprises: a convolutional encoder configured to generate an encoded symbol based on the preliminarily decoded symbol; and a mapping circuit configured to map the encoded symbol to the expected transmitted data signal using a predetermined modulation scheme.
12. The wireless communications device as recited in claim 10 wherein the receiver further comprises: a re-encoding-based processing circuit configured to provide the expected transmitted data signal based on a preliminarily decoded symbol; and a modified Viterbi decoder configured to provide the preliminarily decoded symbol at time index k based on a soft-decision symbol of the corrected baseband version of the received radio frequency signal at the time index k, wherein the modified Viterbi decoder has a plurality of states, each of the plurality of states has a corresponding accumulated path metric, and the preliminarily decoded symbol corresponds to a state of the plurality of states having a minimum accumulated path metric at the time index k.
13. The wireless communications device as recited in claim 10 wherein the phase-locked loop comprises: a phase difference circuit configured to generate a phase error signal based on a phase of the error signal and the predicted instantaneous phase of the error signal; a proportional integral time-invariant controller responsive to the phase error signal; and an integrator configured to generate the predicted instantaneous phase of the error signal based on an output of the proportional integral time-invariant controller.
14. The wireless communications device as recited in claim 13 wherein the proportional integral time-invariant controller is further responsive to a signal indicative of frequency drift of the received radio frequency signal.
15. The wireless communications device as recited in claim 10 wherein the error correction signal is further based on a phase offset tracking signal, a frequency offset tracking signal, and a frequency drift tracking signal.
16. The wireless communications device as recited in claim 10 further comprising: a circuit configured to pause an update of the phase-locked loop in response to a control signal indicative of a reliability of a feedback signal used to generate the expected transmitted data signal.
17. A method for recovering data transmitted using a radio frequency signal, the method comprising: generating an estimate of frequency and phase offset of a received radio frequency signal; correcting the received radio frequency signal using the estimate of frequency and phase offset to generate a corrected baseband version of the received radio frequency signal; and pausing an update of the estimate of frequency and phase offset in response to a control signal indicative of a reliability of a feedback signal used to generate the estimate of the frequency and phase offset.
18. The method as recited in claim 17 wherein the estimate of frequency and phase offset is generated by a Kalman filter based phase-locked loop, the method further comprising: training the Kalman filter based phase-locked loop using predetermined symbols of a Bluetooth Low Energy packet of the received radio frequency signal in a first mode of operating a receiver, wherein the Bluetooth Low Energy packet is transmitted using quadrature amplitude modulation or phase-shift keying modulation.
19. The method as recited in claim 17 wherein the estimate of the frequency and phase offset is based on a reference signal, the method further comprising: processing the corrected baseband version of the received radio frequency signal using a modified Viterbi decoder; generating the reference signal based on a preliminarily decoded symbol provided by the modified Viterbi decoder; and providing the preliminarily decoded symbol by the modified Viterbi decoder at time index k based on a soft-decision symbol of the corrected baseband version of the received radio frequency signal at the time index k, wherein the modified Viterbi decoder has a plurality of states, each of the plurality of states has a corresponding accumulated path metric, and the preliminarily decoded symbol corresponds to a state of the plurality of states having a minimum accumulated path metric at the time index k.
20. The method as recited in claim 19 wherein the estimate of frequency and phase offset is further based on a signal indicative of frequency drift of the received radio frequency signal.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The present invention may be better understood, and its numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings.
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025] The use of the same reference symbols in different drawings indicates similar or identical items.
DETAILED DESCRIPTION
[0026] Referring to
[0027]
[0028]
[0029] Frequency mixer 208 provides the translated output signal as a set of two signals, an in-phase (I) signal and a quadrature (Q) signal. The I and Q signals are analog time-domain signals. In at least one embodiment of receiver 106, the analog programmable gain amplifier and filters 212 provide amplified and filtered versions of the I and Q signals to analog-to-digital converter (ADC) 214, which converts those versions of the I and Q signals to digital I and Q signals (i.e., I and Q samples). Exemplary embodiments of ADC 214 use a variety of signal conversion techniques (e.g., delta-sigma (i.e., sigma-delta) analog-to-digital conversion). ADC 214 provides the digital I and Q signals to signal processing circuitry 218. In general, signal processing circuitry 218 performs digital signal processing (e.g., frequency translation (e.g., using digital mixer 216), filtering (e.g., using digital filters 220), demodulation, or signal correction) of the digital I and Q signals. In at least one embodiment, signal processing circuitry 218 includes demodulator 224, which recovers or extracts information from digital I and Q signals (e.g., data signals, that were modulated using phase-shift keying or quadrature amplitude modulation by modulator 228 of transmitter 104 of
[0030] Referring back to
[0031] Referring to
[0032] Referring to to reduce the frequency offset. During a second phase of receiver processing (e.g., during a long training sequence of preamble sequence, i.e., n.sub.STS<nn.sub.LTS), fine timing detection and frequency and phase estimation 516 generates fine frequency error correction
and initial phase estimate {tilde over ()} to further reduce the frequency or phase offset. The fine timing detection and frequency and phase estimation 516 also generates and supplies a channel estimate (h) to equalizer 507, which in an embodiment includes a linear minimum mean squared error (LMMSE) equalizer.
[0033] In an embodiment, mixer 502 digitally mixes the received signal with a reference signal (e.g., a tone having a programmable frequency) generated by signal generator 512. Prior to detecting the short training sequence (i.e., nn.sub.STS), signal generator 512 is programmed to generate an intermediate frequency tone having frequency f.sub.if, which is used to down convert the received signal to baseband or DC using mixer 502. After detecting the short training sequence, but before detecting the long training sequence (i.e., n.sub.STS<nn.sub.LTS), signal generator 512 is programmed to a coarsely corrected value having frequency f.sub.if+ to further down-convert the received signal and compensate for frequency offset. After detecting the long training sequence (i.e., n>n.sub.LTS), signal generator 512 is programmed to a finely corrected value having frequency f.sub.if+
+
. Signal generator 512 adjusts the reference signal by initial phase estimate {tilde over ()}, coarse frequency correction
, or fine frequency correction
, and thus, mixer 502 applies error correction to the received signal. Downsampler 506 generates received signal y[k], which is a version of the received signal that is downsampled from a sample space to a symbol space, and supplies received signal y[k] to the equalizer 507. Kalman filter based phase-locked loop 508, described in detail below, applies initial phase estimate {tilde over ()} to the received signal and corrects any residual phase error in corrected received signal y.sub.c[k], which is a phase-corrected version of received signal y[k]. Demapper/decoding/check circuit 510 recovers transmitted data from corrected received signal y.sub.c[k] using demapping, decoding, and error correction techniques.
[0034] Referring to
[0035] In at least one embodiment, decision circuit 606 generates expected signal x.sub.p[k], which is used as a reference signal, by comparing a corrected version of the received signal to predetermined modulated values and provides the nearest predetermined modulated value (in Cartesian coordinates, i.e., real and imaginary values corresponding to the in-phase and quadrature values) as expected signal x.sub.p[k]. In general, decision circuit 606 performs a slicing operation that maps the corrected version of the received signal, which includes noise, to the closest noise-free constellation point of the applicable modulation scheme (e.g., the constellation point of the applicable modulation scheme having the minimum Euclidian distance to the corrected received signal y.sub.c[k]).
[0036] In at least one embodiment, CORDIC 604 converts error signal err[k] from Cartesian coordinates to polar coordinates using a COordinate Rotation DIgital Computer (CORDIC), which may be dedicated to a phase measurement implementation or shared with other operations of the receiver. In general, a CORDIC implements known techniques to perform calculations, including trigonometric functions (e.g., an arctangent function) and complex multiplies, without using a multiplier. The only operations the CORDIC uses are addition, subtraction, bit-shift, and table-lookup operations to implement the arctangent function. In other embodiments, a digital signal processor executing firmware or an arctangent circuit is used to convert error signal err[k] from Cartesian coordinates to polar coordinates.
[0037] CORDIC 604 provides phase y.sub.k, as the input to Kalman filter 622. Kalman filter 622 determines residual phase error signal r.sub.k by computing the difference between phase y.sub.k and predicted instantaneous phase x.sub.k|k1. Phase difference circuit 624 provides residual phase error signal r.sub.k to a proportional integral time-invariant controller including a proportional path (represented by gain circuit 626) and an integral path (represented by gain circuit 628, accumulator 630, and register 614). Summing circuit 632 combines the outputs of the proportional path and the integral path and provides a predicted frequency signal to an integrator represented by accumulator 634 and register 612. The integrator provides the predicted instantaneous phase signal, {right arrow over (x(k|k1))}, to phase difference circuit 624 and to CORDIC 610, which converts the predicted instantaneous phase signal from polar coordinates to Cartesian coordinates for use as an error correction signal to be combined with received signal y[k] by correction circuit 618 to generate corrected received signal y.sub.c[k].
[0038] In an embodiment, Kalman filter based phase-locked loop 508 can be modeled by defining a state
where x.sub.k is instantaneous phase and {dot over (x)}.sub.k is frequency. The state transition model is
The observation model is
The prediction model is
where {right arrow over (F)} is the state transition matrix, {right arrow over (H)} is the observation matrix, v.sub.k is the phase variance, {right arrow over (K.sub.k)} is the loop gain vector,
r.sub.k is the error that drives or controls the prediction, and r.sub.k=y.sub.k+{right arrow over (HX.sub.(k|k1))}. Register 612 is initialized with initial phase estimate 0, which is provided by fine timing detection and frequency and phase estimation 516.
[0039] For an exemplary received signal y[k]=e.sup.j(.sup.
TABLE-US-00001 y[k] xp[n] err[n] y.sub.k x.sub.k|k1 y.sub.c[k]
[0040] Referring to
[0041]
[0042] In other embodiments of a Kalman filter based phase-locked loop, performance is further improved by using a re-encoding-based decision circuit that can provide an improved reference signal in the tracking mode of operation instead of decision circuit 606. In at least one embodiment, a transmitter of the wireless communications system encodes data using a convolutional error-correcting code and a corresponding receiver of the wireless communications system uses soft-decision decoding techniques to recover the data. In an embodiment, transmitter 104 of
The bit produced by generator polynomial G0 (a0) is transmitted before transmitting the bit produced by generator polynomial G1 (a1). An input sequence of three consecutive zeros always brings the convolutional forward error correcting encoder back to its original state. This sequence is known as the termination sequence. A pattern mapper maps P bits output from the convolutional forward error correcting encoder into a symbol, where the value of P depends on the coding scheme in use. However, other encoding and mapping schemes may be used. Accordingly, receiver 106 of
[0043] Referring to
[0044] In an embodiment, demapper/decoding/check circuit 510 includes Viterbi decoder 1131, which implements a conventional Viterbi algorithm for decoding the soft-decision signal vi[k] where the bitstream has been encoded using a convolutional code or trellis code. Viterbi decoder 1131 uses branch metrics (e.g., log-likelihood measure of the probability of a corresponding state transition of a state diagram) and path metrics (e.g., sum of the branch metrics of the branches that a path traverses) to find the most likely received data symbols (e.g., by identifying a minimum distance path through a trellis diagram corresponding to conventional maximum likelihood decoding and Viterbi decoding techniques). In an embodiment, the metrics are computed based on a Euclidian distance between received symbols and expected symbols. Viterbi decoder 1131 provides Viterbi decoded signal vo[k] to decision circuit 1121. Encoder 1125 re-encodes Viterbi decoded signal vo[k] and mapper/CORDIC circuit 1123 maps the re-encoded signal to phase-shift keying or quadrature amplitude modulation symbols and converts those modulated symbols to polar coordinates to generate expected signal x.sub.p[k]. In other embodiments of Kalman filter based phase-locked loop 508 where the CORDIC is within the loop (e.g., using a topology consistent with
[0045] The traceback length (TL) (i.e., traceback depth or traceback value) of the Viterbi decoder is related to the delay of the Viterbi decoder. In general, the traceback length of a Viterbi decoder is an integer indicating the number of trellis branches used to construct each traceback path. In an embodiment of a conventional Viterbi decoder, TL is an integer that is five times the constraint length of the error correcting code. An exemplary forward error correction code has constraint length K=4 and a typical traceback length of a corresponding Viterbi decoder is 20, although greater traceback lengths (e.g., 30 or 40) may be used. A conventional Viterbi decoder selects the path with the lowest cumulative path metric at time t.sub.i. If two paths are equal, the Viterbi decoder selects a path arbitrarily. The conventional Viterbi decoder accumulates branch metrics from state to state to generate the path metrics and outputs symbols corresponding to a decision on the minimum path after the full traceback length TL. Accordingly, a symbol of Viterbi decoded signal vo[k] corresponding to a symbol of received signal y[k] is not available until at least TL symbol periods (e.g., 20 symbol periods) later. To accommodate that latency, the complexity of Kalman filter phase-locked loop 508 increases substantially to account for predicting TL symbols ahead.
[0046] Referring to
[0047] In an embodiment, Viterbi decoder 1131 operates consistent with the following pseudocode for a conventional Viterbi decoder:
TABLE-US-00002 1 for each state s.sub.k: 2 compute branch metrics of m branches: 3
[0048] In an embodiment, modified Viterbi decoder 1133 operates consistent with the following pseudocode for a modified Viterbi decoder that provides a decoded preliminary output signal:
TABLE-US-00003 1 for each state s.sub.k 2 compute branch metrics of m branches: 3
Viterbi decoder 1131 and modified Viterbi decoder 1133 each receive soft-decision signal vi[k] as inputs. For each time index k, vi[k] corresponds to vi.sub.kn, which includes N soft bits per decode bit, which are indexed by n (e.g., N=2 and n[1,2] for decoding a 12 rate convolutional code). Viterbi decoder 1131 and modified Viterbi decoder 1133 each output decoded bits as Viterbi decoded signal vo[k]. However, modified Viterbi decoder 1133 also outputs preliminarily decoded signal voi[k], which is re-encoded by decision circuit 1121. In exemplary embodiments, parameters used by Viterbi decoder 1131 and modified Viterbi decoder 1133 each include states s.sub.k having different likelihoods, where a total number of states of the decoder is S, where s.sub.0s.sub.ks.sub.S-1, and each state has two branches in trellis diagram corresponding to conventional maximum likelihood decoding and Viterbi decoding techniques. For decoding an exemplary convolutional code with a constraint length of 3, S=2.sup.31=4. Viterbi decoder 1131 and modified Viterbi decoder 1133 each use parameter
which corresponds to expected soft bits at the n.sup.th position for branch m of the trellis diagram. Additional parameters include
which is a state at time index k1 that transits to the current state s.sub.k with lowest branch metric, .sub.k (s.sub.k), which is the decoded bit for state s.sub.k,
which is the state that has the minimum path metric (e.g., accumulated path metrics) at time index k, packet length L, and
which are the decoded bits associated with the state at time index kTL on the traceback path. Modified Viterbi decoder 1133 also generates preliminary decoded bits voi[k], which are based on the decoded bit corresponding to the state having the minimum path metric at index k
Modified Viterbi decoder 1133 and the associated pseudocode can be adapted for different preliminary traceback lengths and encoding schemes.
[0049] In the illustrated embodiments, modified Viterbi decoder 1133 generates a conventional Viterbi decoder output vo[k] corresponding to y.sub.c[k] after TL symbol times and generates a preliminarily decoded symbol voi[k] corresponding to y.sub.c[k] after PTL symbol times (e.g., in the same symbol time where PTL=0). However, in other embodiments, PTL is greater than zero but is less than TL and the latency of a reference signal generated by decision circuit 1121 and the complexity of the corresponding Kalman filter based phase-locked loop increases with increases to PTL to account for predicting for PTL samples ahead. In an embodiment, a modified Viterbi decoder provides both conventional Viterbi decoder output signal vo[k] and preliminarily decoded signal voi[k] in parallel to reuse circuitry and to reduce circuit area and power consumption. In other embodiments, modified Viterbi decoder 1133 is separate from Viterbi decoder 1131, which is a conventional Viterbi decoder. In those embodiments, modified Viterbi decoder 1133 generates only preliminarily decoded symbol voi[k] or generates both preliminarily decoded signal voi[k] and a redundant version of Viterbi decoder output signal vo[k], which is discarded or used for diagnostic purposes. Use of preliminarily decoded signal voi[k] in embodiments of
[0050] While the receiver trains using predetermined received symbols (e.g., sixteen predetermined Access Address symbols), Kalman filter based phase-locked loop 508 uses the predetermined received symbols as the reference signal and ignores the corresponding outputs of decision circuit 1121, which are the least reliable outputs of decision circuit 1121. Shortly after the receiver completes training based on the predetermined received symbols, Kalman filter based phase-locked loop 508 starts to use preliminarily decoded symbols to generate the reference signal and will have a negligible or slight performance improvement as compared to the performance when using a slicer-based reference signal. However, as Kalman filter based phase-locked loop 508 continues to use preliminarily decoded symbols to generate the reference signal, path metrics of the Viterbi algorithm accumulate, the reliability of preliminarily decoded symbols approaches the reliability of conventional Viterbi decoder outputs, and the performance of the receiver using preliminarily decoded symbols to generate the reference signal approaches the performance of the receiver using the output of a conventional Viterbi decoder to generate the reference signal.
[0051]
[0052] From time 0t15, the receiver trains on the predetermined received sequence of symbols (e.g., sixteen predetermined Access Address symbols), but the preliminarily decoded signal voi[k] is ignored by phase detector of the Kalman filter based phase-locked loop. At time t=16, the receiver has completed training based on the predetermined received sequence of symbols and receives the first unknown symbol. In state so, the Viterbi decoder or modified Viterbi decoder computes branch metrics and accumulated path metrics based on soft-decision signal vi[k]. Viterbi decoder output symbols vo[16], vo[17], vo[18], and vo[19] are determined by computing the minimum path metric generated by accumulating branch metrics for each state transition from the initial state of s0. In this example, the path having a minimum path metric is bolded and is the sum of bm.sub.a1, bm.sub.b2, bm.sub.e3, and bm.sub.d4. Solid lines indicate a state transition in response to a received bit of vi[k]=0 and dashed lines indicate a state transition in response to a received bit of vi[k]1. A symbol time t=20, where t corresponds to a symbol time, the Viterbi decoder identifies that minimum path, which identifies decoded outputs vo[16]=0, vo[17]=1, vo[18]=0, and vo[19]=1.
[0053] Modified Viterbi decoder provides preliminarily decoded symbol voi[0] for PTL=0 based on the minimum path metric determined by comparing branch metrics bm.sub.a1 and bm.sub.b1 for a decoder having an initial state of s0 at time t=16 and transitioning to a next state at time t=17. Preliminarily decoded symbol voi[16] is available at symbol time t=16 since the processing delay is negligible as compared to symbol delay. The next preliminarily decoded symbol voi[17] corresponds to the minimum path metric at symbol time t=17. The modified Viterbi decoder continues to accumulate path metrics until reaching TL but provides a preliminarily decoded symbol corresponding to a preliminary decision based on a state transition for each symbol time. If a modified Viterbi decoder has PTL=1, then modified Viterbi decoder output voi[16] would be available at time t=17 and based on path metrics from the initial state to a final state (state at t=17) and the associated branch metrics. The preliminarily decoded symbols are used by a simplified decision circuit 1121 of
[0054] Although some embodiments of a communications system include a transmitter and receiver that satisfy frequency drift requirements and any effects of frequency drift are negligible, in other embodiments, frequency drift is substantial and degrades performance of the communications system. Accordingly, at least one embodiment of a communications system implements a technique for tracking frequency drift, thereby reducing or eliminating the effects of frequency drift on performance of the communications system.
[0055] Referring to
The predictor form of the third-order Kalman filter illustrated in
Phase offset tracking signal on node 1628, frequency offset tracking signal on node 1624, and frequency drift tracking signal on node 1626, which is generated by a path represented by a gain circuit, an accumulator, and register 1616, and combined with the integral path by accumulator 1618, are illustrated in
[0056] Referring to
[0057] In an embodiment, phase component y.sub.p[k] of the received signal is a combination of transmitted phase information .sub.T[k] and phase error .sub.T and frequency acquisition and tracking can be modeled as a dynamic system, as described above with respect to
[0058] Kalman filter 1822 determines residual phase error signal r.sub.k by computing the difference between phase y.sub.k and predicted instantaneous phase x.sub.k|k1, as described above. The integrator provides the predicted instantaneous phase signal, {right arrow over (x.sub.(k|k1))}, as phase error compensation signal [k] used by CORDIC 1810. CORDIC 1810 rotates received signal y[k](i.e., y.sub.m[k]+y.sub.p[k]) by an amount indicated by phase error compensation signal [k] and provides frequency or phase offset compensated signal y.sub.c[k] in Cartesian coordinates, which are then demapped (e.g., from PSK or QAM) by LLR demapper 1812. In an embodiment, modified Viterbi decoder 1814 provides preliminary output signal voi[k] for use in generating feedback reference signal [k], which is selectively provided as expected signal x.sub.expp[k] and used by phase detector 1119 as a reference signal for generating error signal y.sub.k.
[0059] In an embodiment, modified Viterbi decoder 1814 operates consistent with the following pseudocode for an embodiment of a modified Viterbi decoder providing a re-encoded preliminary output signal:
TABLE-US-00004 1 for each state s.sub.k 2 compute branch metrics of m branches: 3
[0060] In the tracking mode of operation, phase detector 1119 extracts the frequency or phase offset using feedback reference signal [k]. In an embodiment, preliminary output signal voi[k] is a re-encoded signal that is remapped according to an applicable modulation scheme by mapper and CORDIC 1824 to generate feedback reference signal [k]. In other embodiments, preliminary output signal voi[k] is a decoded signal and a reference generator re-encodes and re-maps that preliminary output signal according to an applicable encoding and modulation scheme to generate feedback reference signal [k].
[0061] In an embodiment, phase detector 1119 combines received signal y.sub.p[k] with a reference signal, i.e., expected signal x.sub.expp[k] to extract any frequency or phase offset or frequency drift and generate error signal y.sub.k. In at least one embodiment, phase detector 1119 includes select circuit 616, which provides a predetermined signal or feedback reference signal [k] as expected signal x.sub.expp[k]. The difference between the phase of expected signal x.sub.expp[k] and the phase of the received signal is used to calculate error signal y.sub.k, which is input to Kalman filter 1822.
[0062] In at least one embodiment of a Kalman filter-based phase-locked loop, preliminary output signal voi[k], which is used as a feedback signal to generate expected signal x.sub.expp[k], may introduce decision error into expected signal x.sub.expp[k]. That decision error degrades performance of Kalman filter based phase-locked loop 508, may cause the loop to diverge, and degrade the performance of the receiver. Accordingly, in at least one embodiment of a frequency or phase offset compensation circuit, a reliability check circuit estimates the reliability of the feedback signal. If the reliability estimate falls below a predetermined threshold level, then the reliability check circuit pauses an update of the frequency or phase offset compensation circuit.
[0063] For example, frequency or phase offset compensation circuit 1800 includes reliability check circuit 1816, which determines the reliability of the feedback signal based on metrics (e.g., path metrics of a Viterbi decoder or modified Viterbi decoder) received from a decoder (e.g., a Viterbi decoder or modified Viterbi decoder). In an embodiment, reliability check circuit 1816 determines whether to update Kalman filter 1822, and thus, predicted instantaneous phase x.sub.k|k1 and phase error compensation signal [k], to reduce the effects of decision error. In an embodiment of reliability check circuit 1816 determines the reliability of preliminarily decoded signal voi[k] at one or more stage of modified Viterbi decoder 1814 and updates control signal PAUSE based thereon. In an embodiment, reliability check circuit 1816 determines the reliability of preliminarily decoded signal voi[k] at every stage of modified Viterbi decoder 1814 and updates control signal PAUSE based thereon.
[0064] In an embodiment, reliability check circuit 1816 receives path metrics Pmax, which are the path metrics for the two paths having the largest path metrics for the one or more stages of modified Viterbi decoder 1814. If the difference between those two path metrics for at least one of the one or more stages is greater than a predetermined threshold value, then reliability check circuit 1816 asserts control signal PAUSE, which pauses an update of Kalman filter 1822 and phase error compensation signal [k]. The update may be paused using any suitable control circuitry. In at least one embodiment, Kalman filter based phase-locked loop 1800 includes select circuit 1826, which zeros out the value of r.sub.k to pause the update. However, other suitable control circuitry may be used to pause the update of predicted instantaneous phase x.sub.k|k1 and phase error compensation signal [k] in response to a control signal. Although illustrated as using reliability metrics to pause update of a phase correction by a Kalman filter based phase-locked loop, persons of ordinary skill would recognize that the use of reliability metrics to pause the update of a frequency or phase correction can be applied to receivers using other frequency or phase offset compensation techniques.
[0065] Thus, techniques for improving the performance of a receiver in a wireless communications system by reducing effects of frequency or phase offset in a demodulator are disclosed. A phase-locked loop having variable gain consistent with Kalman filter theory and having faster convergence than a conventional phase-locked loop with fixed gain, improves performance of a receiver in a wireless communications system (e.g., reduces frequency or phase offset or frequency drift in the receiver, improves signal-to-noise ratio of the received signal and thus facilitates communications at increased information rates) in applications having data transmitted in bursts or packets (e.g., BLE). The Kalman filter based phased-locked loop may use a phase detector that generates a slicer-based reference signal or a re-encoding based reference signal. Use of a modified Viterbi decoder circuit to generate the reference signal approximates results obtained by re-encoding a signal decoded using a conventional Viterbi decoder to generate the reference signal of the Kalman filter based phased-locked loop and improves receiver performance as compared to a Kalman filter based phase-locked loop that uses a slicer-based reference signal.
[0066] The description of the invention set forth herein is illustrative and is not intended to limit the scope of the invention as set forth in the following claims. For example, while the invention has been described in an embodiment in which phase-shift keying is used, one of skill in the art will appreciate that the teachings herein can be utilized with other modulation schemes. In another example, while the invention has been described in embodiments in which an Access Address field of a BLE packet is used, any predetermined symbols of a communications packet (e.g., training symbols) may be used.
[0067] The terms first, second, third, and so forth, as used in the claims, unless otherwise clear by context, are to distinguish between different items in the claims and does not otherwise indicate or imply any order in time, location, or quality. For example, a first received signal, a second received signal, does not indicate or imply that the first received signal occurs in time before the second received signal. Variations and modifications of the embodiments disclosed herein may be made based on the description set forth herein, without departing from the scope of the invention as set forth in the following claims.