Costas loop
≈ 7 min read
Names in other languages
- СрпскиKostasova petlja
- DeutschCostas Loop
- EnglishCostas loop
- FrançaisCostas loop
- NederlandsCostas loop
- PortuguêsCostas loop
- 中文科斯塔斯循环
- 繁體中文科斯塔斯迴圈
Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.
A Costas loop is a phase-locked loop (PLL) based circuit which is used for carrier frequency recovery from suppressed-carrier modulation signals (e.g. double-sideband suppressed carrier signals) and phase modulation signals (e.g. BPSK, QPSK). It was invented by John P. Costas at General Electric in the 1950s. Its invention was described as having had "a profound effect on modern digital communications". The primary application of Costas loops is in wireless receivers. Its advantage over other PLL-based detectors is that at small deviations the Costas loop error voltage is \sin(2(\theta_i-\theta_f)) as compared to \sin(\theta_i-\theta_f) . This translates to double the sensitivity and also makes the Costas loop uniquely suited for tracking Doppler-shifted carriers, especially in OFDM and GPS receivers.
A Costas loop is a phase-locked loop (PLL) based circuit which is used for carrier frequency recovery from suppressed-carrier modulation signals (e.g. double-sideband suppressed carrier signals) and phase modulation signals (e.g. BPSK, QPSK). It was invented by John P. Costas at General Electric in the 1950s. Its invention was described as having had "a profound effect on modern digital communications". The primary application of Costas loops is in wireless receivers. Its advantage over other PLL-based detectors is that at small deviations the Costas loop error voltage is \sin(2(\theta_i-\theta_f)) as compared to \sin(\theta_i-\theta_f) . This translates to double the sensitivity and also makes the Costas loop uniquely suited for tracking Doppler-shifted carriers, especially in OFDM and GPS receivers. In the simplest case m^2(t) = 1 . Therefore, m^2(t) = 1 does not affect the input of the noise-reduction filter. The carrier and voltage-controlled oscillator (VCO) signals are periodic oscillations f_{ref,vco}(\theta_{ref,vco}(t)) with high-frequencies \dot\theta_{ref,vco}(t) . The block \bigotimes is an analog multiplier. A linear filter can be described mathematically by a system of linear differential equations: \begin{array}{ll} \dot x = Ax + b u_{d}(t),& u_{LF} = c^*x. \end{array} where A is a constant matrix, x(t) is a state vector of the filter, b and c are constant vectors. The model of a VCO is usually assumed to be linear: \begin{array}{ll} \dot\theta_{vco}(t) = \omega^{free}_{vco} + K_{vco} u_{LF}(t),& t \in [0,T], \end{array} where \omega^{free}_{vco} is the free-running frequency of the VCO and K_{vco} is the VCO gain factor. Similarly, it is possible to consider various nonlinear models of VCO. Suppose that the frequency of the master generator is constant \dot\theta_{ref}(t) \equiv \omega_{ref}. Equation of VCO and equation of filter yield \begin{array}{ll} \dot{x} = Ax + bf_{ref}(\theta_{ref}(t))f_{vco}(\theta_{vco}(t)),& \dot\theta_{vco} = \omega^{free}_{vco} + K_{vco}c^*x. \end{array} The system is non-autonomous and rather tricky for investigation. f_{ref}\big(\theta_{ref}(t)\big) = \cos\big(\omega_{ref} t\big),\ f_{vco}\big(\theta_{vco}(t)\big) &= \sin\big(\theta_{vco}(t)\big) \\ f_{ref}\big(\theta_{ref}(t)\big)^2 f_{vco}\left(\theta_{vco}(t)\right) f_{vco}\left(\theta_{vco}(t) - \frac{\pi}{2}\right) &= -\frac{1}{8}\Big( 2\sin(2\theta_{vco}(t)) + \sin(2\theta_{vco}(t) - 2\omega_{ref} t) + \sin(2\theta_{vco}(t) + 2\omega_{ref} t) \Big) \end{align} The standard engineering assumption is that the filter removes the upper sideband frequency from the input but leaves the lower sideband without change. Thus it is assumed that the VCO input is \varphi(\theta_{ref}(t) - \theta_{vco}(t)) = \frac{1}{8}\sin(2\omega_{ref} t - 2\theta_{vco}(t)). This makes a Costas loop equivalent to a phase-locked loop with phase detector characteristic \varphi(\theta) corresponding to the particular waveforms f_{ref}(\theta) and f_{vco}(\theta) of the input and VCO signals. It can be proved that filter outputs in the time and phase-frequency domains are almost equal. Thus it is possible to study the simpler autonomous system of differential equations \begin{align} \dot{x} &= Ax + b\varphi(\Delta\theta), \\ \Delta\dot{\theta} &= \omega_{vco}^{free} - \omega_{ref} + K_{vco}c^*x, \\ \Delta\theta &= \theta_{vco} - \theta_{ref}. \end{align} . The Krylov–Bogoliubov averaging method allows one to prove that solutions of non-autonomous and autonomous equations are close under some assumptions. Thus, the Costas loop block diagram in the time domain can be asymptotically changed to the block diagram on the level of phase-frequency relations. The transition to the analysis of an autonomous dynamical model of the Costas loop (in place of the non-autonomous one) allows one to overcome the difficulties related to modeling the Costas loop in the time domain, where one has to simultaneously observe a very fast time scale of the input signals and slow time scale of signal's phase. This idea makes it possible to calculate core performance characteristics - hold-in, pull-in, and lock-in ranges.
Frequency acquisition
The classical Costas loop will work towards making the phase difference between the carrier and the VCO become a small, ideally zero, value. The small phase difference implies that frequency lock has been achieved. m_1(t) = \pm 1, m_2(t) = \pm 1. Inputs of low-pass filters LPF1 and LPF2 are \begin{align} \varphi_1(t) &= \cos\left(\theta_\text{vco}\right)\left(m_1(t)\cos\left(\omega_\text{ref} t\right) + m_2(t)\sin\left(\omega_\text{ref} t\right)\right), \\ \varphi_2(t) &= \sin\left(\theta_\text{vco}\right)\left(m_1(t)\cos\left(\omega_\text{ref} t\right) + m_2(t)\sin\left(\omega_\text{ref} t\right)\right). \end{align} After synchronization, the outputs of LPF1 Q(t) and LPF2 I(t) are used to get demodulated data ( m_1(t) and m_2(t) ). To adjust the frequency of the VCO to the reference frequency, signals Q(t) and I(t) are limited and cross-multiplied: u_d(t) = I(t)\sgn(Q(t)) - Q(t)\sgn(I(t)). Then the signal u_d(t) is filtered by the loop filter and forms the tuning signal for the VCO u_\text{LF}(t) , similar to BPSK Costas loop. Thus, QPSK Costas can be described by a system of ordinary differential equations: \begin{align} \dot{x}_1 &= A_\text{LPF} x_1 + b_\text{LPF}\varphi_1(t),\\ \dot{x}_2 &= A_\text{LPF} x_2 + b_\text{LPF}\varphi_2(t),\\ \dot{x} &= A_\text{LF} x + b_\text{LF}\big(c_\text{LPF}^* x_1\sgn(c_\text{LPF}^* x_2) - c_\text{LPF}^* x_2\sgn(c_\text{LPF}^* x_1)\big),\\ \dot{\theta}_\text{vco} &= \omega_\text{vco}^\text{free} + K_\text{VCO}\Big(c^*_\text{LF} x + h_\text{LF}\big(c_\text{LPF}^* x_1\sgn(c_\text{LPF}^* x_2) - c_\text{LPF}^* x_2\sgn(c_\text{LPF}^* x_1)\big)\Big).\\ \end{align} Here A_\text{LPF}, b_\text{LPF}, c_\text{LPF} are parameters of LPF1 and LPF2 and A_\text{LF}, b_\text{LF}, c_\text{LF}, h_\text{LF} are parameters of the loop filter.
References
Text derived from https://en.wikipedia.org/w/index.php?oldid=1324310552 under CC BY-SA 4.0; modifications have been made.