banner
Moerjie

Moerjie

hello world

Symbol synchronization

Symbol Synchronization#

During the communication process, in the receiver, the signal is sampled by an AD converter, processed, and finally needs to be restored to the original signal through sampling and decision-making by a sampler. The clock that the sampler works on is called the symbol clock, and the method used by the receiver to extract the symbol clock is called symbol synchronization or timing recovery.
There are three commonly used methods for symbol synchronization: traditional analog methods, analog-to-digital hybrid methods, and all-digital methods.
Analog methods and analog-to-digital hybrid methods have several disadvantages:

  1. The performance of synchronization is greatly affected by the loop filter, and theoretical analysis is very difficult.
  2. When using high-order modulation, the design of the phase-locked loop is very difficult.
  3. The phase-locked loop may have blind zone loss of lock.
    However, all-digital methods do not have the above problems. They use an open-loop approach and have the advantages of fast tracking and convergence.

Symbol Synchronization Implementation Block Diagram#

Untitled.png
In the entire demodulation process, because the channel is a satellite communication channel and the signal transmission distance is long, there is severe carrier frequency offset. Therefore, carrier synchronization is performed first to complete digital demodulation, and then symbol synchronization is performed, and matched filtering is performed after symbol synchronization.

Interpolation Filter#

The interpolation filter is the heart of symbol synchronization, and the entire symbol synchronization is designed based on the principle of interpolation filtering.

Interpolation Filter Principle#

image.png
The input signal, after D/A conversion and analog filtering, the output signal is:

y(t)=mx(mTs)h(tmTs)\begin{aligned}y(t)=\sum_{m}x(mT_{s})h(t-mT_{s})\end{aligned}

At the moment $t=kT_i$ after resampling, the interpolated output signal is:

y(kTi)=mx(mTs)h(tmTs)\begin{aligned}y(kT_i)=\sum_{m}x(mT_{s})h(t-mT_{s})\end{aligned}

After a series of calculations, we have:

Y(kTi)=y[(mk+μk)Ts]=i=N1N2x[(mki)Ts]h[(i+μk)Ts]Y (kT_i)=y[(m_k+\mu_k) T_s]=\sum_{i=N_1}^{N_2}x[(m_k-i) T_s]h[(i+\mu_k) T_s]

The above equation is the basic equation of the digital interpolator.

Engineering Application#

Common interpolation filters include simple linear interpolators, piecewise parabolic interpolators, and Lagrange interpolators. Linear interpolators involve two sample points in the calculation, while piecewise and Lagrange interpolators involve multiple sample points. The impulse response functions are as follows:
Linear interpolation filter:

h(t)={1+t/Ts,Tst01t/Ts,0stTs0,othersh\:(t)=\begin{cases}1+t\:/\:T_s\:,&\quad-T_s\leq t\leq0\\1-t\:/\:T_s\:,&\quad0_s\leq t\leq T_s\\0,&\quad others\end{cases}

Piecewise parabolic interpolation filter:

h(t)={ρ(t/Ts)2+3β(t/Ts)+2β,2TstTsβ(t/Ts)2(β1)(t/Ts)+1,Tst0β(t/Ts)2+(β1)(t/Ts)+1,0tTsβ(t/Ts)23β(t/Ts)+2β,Tst2Ts0,othersh(t)=\begin{cases}\rho(t/T_s)^2+3\beta(t/T_s)+2\beta\:,&\quad-2T_s\leq t\leq-T_s\\-\beta(t/T_s)^2-(\beta-1)(t/T_s)+1,&\quad-T_s\leq t\leq0\\-\beta(t/T_s)^2+(\beta-1)(t/T_s)+1,&\quad0\leq t\leq T_s\\\beta(t/T_s)^2-3\beta(t/T_s)+2\beta,&\quad T_s\leq t\leq2T_s\\0,&\quad others\\\end{cases}

Cubic interpolation filter:

h(t)={16(t/Tz)2+(t/Tz)2+116(t/Tz)+1,2TztTz12(t/Tz)3(t/Tz)2+12(t/Ts)+1,Tzt012(t/Tz)3(t/Tz)212(t/Ts)+1,0tTz16(t/Tz)3+(t/Tz)2116(t/Ts)+1,Tzt2Ts0,othersh(t)=\begin{cases}\frac16(t/T_z)^2+(t/T_z)^2+\frac{11}{6}(t/T_z)+1,&\quad-2T_z\leq t\leq-T_z\\-\frac12(t/T_z)^3-(t/T_z)^2+\frac12(t/T_s)+1,&\quad-T_z\leq t\leq0\\\frac12(t/T_z)^3-(t/T_z)^2-\frac12(t/T_s)+1,&\quad0\leq t\leq T_z\\-\frac16(t/T_z)^3+(t/T_z)^2-\frac{11}6(t/T_s)+1,&\quad T_z\leq t\leq2T_s\\0,&\quad others\\\end{cases}

The impulse responses of the three filters are symmetric about the zero point, which satisfies the requirements of interpolation filters. Moreover, they are not zero at the sample points and zero at other integer moments, which satisfies the Nyquist no-loss sampling theorem.

Polynomial-Based Interpolation Filter#

The disadvantage of the above three filters is that the parameters are constant and cannot be changed according to different system requirements. This filter uses the Farrow structure to implement it.
The polynomial basis function is:

fn(t)={(2t/Ts1)n,0tTs0,others f_n (t)=\begin{cases}(2 t/T_s-1)^n,&\quad 0\leq t\leq T_s\\0,&\quad others\end{cases}

where n is the polynomial order and t is the integer interval of the interpolation point.
The impulse response is:

h(t)& =\sum_{i=0}^{\frac N2-1}\sum_{n=0}^{L}c_n(i)f_n(t-iT_s) \\ &=\sum_{i=0}^{\frac N2-1}\sum_{n=0}^{L}c_n(i)g_n(t-iT_s) \end{aligned}$$ where $$\begin{aligned}g_n(t-iT_s)&=\int_n(t-iT_s)+(-1)^nf_n(t+(i+1)T_s)\\&=\begin{cases}(\frac{2(t-iT_s)}{T_s}-1)^n&iT_s\leq t\leq(i+1)T_s\\\\(-1)n(\frac{2(t+(i+1)T_s)}{T_s}-1)^n&-(i+1)T_s\leq t\leq-iT_s\\\\0&\text{others}&\end{cases}\\\end{aligned}$$ ### Timing Error Estimation The Gardner algorithm is a two-sample-per-symbol algorithm suitable for BPSK/QPSK. It has the advantages of requiring fewer sampling points, being easy to implement at high speed, and having detection performance unaffected by carrier phase recovery. For BPSK signals, the Gardner algorithm is represented as: $$ \begin{aligned} U (n)& =x (\tau+(n-1/2) T)[x (\tau+nT)-x (\tau+(n-1) T)] \\ &=x (n-1/2)[x (n)-x (n-1)] \end{aligned}

For QPSK signals, the Gardner algorithm is represented as:
u(n)=xI(n1/2)[xI(n)xI(n1)]+xQ(n1/2)[xQ(n)xQ(n1)]u(n)=x_I(n-1/2)[x_I(n)-x_I(n-1)]+x_Q(n-1/2)[x_Q(n)-x_Q(n-1)]

Loop Filter#

In engineering, the loop filter generally uses a first-order integral filter or a Kalman filter.
The impulse response of the first-order integral filter is:
y(n)=y(n1)+c1[x(n)x(n1)]+c2x(n)y(n)=y(n-1)+c_1[x(n)-x(n-1)]+c_2x(n)
where $c_1=\frac{2\omega_n}{K}$ and $c_2=\frac{\omega_n^2}{Kf}$

Interpolation Controller#

The interpolation controller is responsible for controlling the interpolation operation. It receives the timing error signal, performs calculations, and provides the control parameters $m_k$ and $\mu_k$ required for the interpolation filter to perform interpolation.
The controller consists of an NCO and a fractional interval calculator. The NCO generates clock overflows, which determine the interpolation reference point $m_k$. The fractional interval calculator mainly calculates $\mu_k$ and provides it to the interpolator for interpolation.
The phase decrementer of modulus 1 is described by the difference equation:

η(m+1)=[η(m)W(m)]mod1\eta(m+1)=[\eta(m)-W(m)]\mathrm{mod}1

where $\eta(m)$ is the content of the NCO register at the m-th clock, and $W(m)$ is the NCO control word, which is the step size of phase decrement and is adjusted by the loop filter to make the interpolator output the optimal sampling point, approximately $W(m)=\frac{T_s}{T_i}$.
The fractional interval is:

μk=ξ0η(mk),whereξ0=1W(m)\mu_k=\xi_0\eta(m_k), \text{where} \xi_0=\frac{1}{W(m)}
Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.