符号同步#
通信过程中,在接收机中,信号经过 AD 采样后,经过处理后,最后需要通过抽样器抽样判决还原出原始的信号,抽样器工作的时钟被称为符号时钟,接收器提取符号时钟的方法称为符号同步或者定时恢复。
常用的符号同步方法有三种,传统模拟方法,模数混合方法,全数字方法。
其中模拟方法和模数混合方法有多种缺点:
同步的性能受环路滤波器的影响非常大,且理论分析非常困难
采用高阶调制时,锁相环的设计非常困难
锁相环会存在盲区失锁
但是全数字方法不存在以上问题,采用开环方式,具有快速跟踪和收敛的优势
符号同步实现框图#
整个解调流程中,由于信道为卫星通信信道,信号传输距离远,载波频偏严重,因此先进行载波同步完成数字解调,再进行符号同步,匹配滤波放在符号同步后进行。
插值滤波器#
插值滤波器是符号同步的心脏部分,整个符号同步都是依据插值滤波原理设计的
插值滤波器原理#
输入信号经过 D/A 变换和模拟滤波器后,输出信号为:
Copy y ( t ) = ∑ m x ( m T s ) h ( t − m T s ) \begin{aligned}y(t)=\sum_{m}x(mT_{s})h(t-mT_{s})\end{aligned} y ( t ) = m ∑ x ( m T s ) h ( t − m T s )
在 $t=kT_i$ 时刻重采样后内插输出信号为:
Copy y ( k T i ) = ∑ m x ( m T s ) h ( t − m T s ) \begin{aligned}y(kT_i)=\sum_{m}x(mT_{s})h(t-mT_{s})\end{aligned} y ( k T i ) = m ∑ x ( m T s ) h ( t − m T s )
再经过一系列的计算得:
Copy Y ( k T i ) = y [ ( m k + μ k ) T s ] = ∑ i = N 1 N 2 x [ ( m k − i ) T s ] h [ ( i + μ k ) T s ] 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] Y ( k T i ) = y [( m k + μ k ) T s ] = i = N 1 ∑ N 2 x [( m k − i ) T s ] h [( i + μ k ) T s ]
上式即为数字内插器的基本方程
工程应用#
常用的插值滤波器有简单的线性内插器和分段抛物线内插器以及拉格朗日内插器。线性内插器有两个样值点参加运算,分段和拉格朗日有多个样值点参与运算。冲激响应函数分别如下:
线性插值滤波器:
Copy h ( t ) = { 1 + t / T s , − T s ≤ t ≤ 0 1 − t / T s , 0 s ≤ t ≤ T s 0 , o t h e r s h\:(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} h ( t ) = ⎩ ⎨ ⎧ 1 + t / T s , 1 − t / T s , 0 , − T s ≤ t ≤ 0 0 s ≤ t ≤ T s o t h ers
分段抛物线插值滤波器:
Copy h ( t ) = { ρ ( t / T s ) 2 + 3 β ( t / T s ) + 2 β , − 2 T s ≤ t ≤ − T s − β ( t / T s ) 2 − ( β − 1 ) ( t / T s ) + 1 , − T s ≤ t ≤ 0 − β ( t / T s ) 2 + ( β − 1 ) ( t / T s ) + 1 , 0 ≤ t ≤ T s β ( t / T s ) 2 − 3 β ( t / T s ) + 2 β , T s ≤ t ≤ 2 T s 0 , o t h e r s h(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} h ( t ) = ⎩ ⎨ ⎧ ρ ( t / T s ) 2 + 3 β ( t / T s ) + 2 β , − β ( t / T s ) 2 − ( β − 1 ) ( t / T s ) + 1 , − β ( t / T s ) 2 + ( β − 1 ) ( t / T s ) + 1 , β ( t / T s ) 2 − 3 β ( t / T s ) + 2 β , 0 , − 2 T s ≤ t ≤ − T s − T s ≤ t ≤ 0 0 ≤ t ≤ T s T s ≤ t ≤ 2 T s o t h ers
立方插值滤波器:
Copy h ( t ) = { 1 6 ( t / T z ) 2 + ( t / T z ) 2 + 11 6 ( t / T z ) + 1 , − 2 T z ≤ t ≤ − T z − 1 2 ( t / T z ) 3 − ( t / T z ) 2 + 1 2 ( t / T s ) + 1 , − T z ≤ t ≤ 0 1 2 ( t / T z ) 3 − ( t / T z ) 2 − 1 2 ( t / T s ) + 1 , 0 ≤ t ≤ T z − 1 6 ( t / T z ) 3 + ( t / T z ) 2 − 11 6 ( t / T s ) + 1 , T z ≤ t ≤ 2 T s 0 , o t h e r s h(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} h ( t ) = ⎩ ⎨ ⎧ 6 1 ( t / T z ) 2 + ( t / T z ) 2 + 6 11 ( t / T z ) + 1 , − 2 1 ( t / T z ) 3 − ( t / T z ) 2 + 2 1 ( t / T s ) + 1 , 2 1 ( t / T z ) 3 − ( t / T z ) 2 − 2 1 ( t / T s ) + 1 , − 6 1 ( t / T z ) 3 + ( t / T z ) 2 − 6 11 ( t / T s ) + 1 , 0 , − 2 T z ≤ t ≤ − T z − T z ≤ t ≤ 0 0 ≤ t ≤ T z T z ≤ t ≤ 2 T s o t h ers
三种滤波器的冲激响应都关于零点对称,满足插值滤波器要求;且在样点时刻不为 0,其他整数时刻为 0,满足奈奎斯特无失真抽样定理
基于多项式的插值滤波器#
上述三种的缺点是参数恒定,无法根据不同的系统要求做出改变。该滤波器使用 Farrow 结构实现
多项式基函数为:
Copy f n ( t ) = { ( 2 t / T s − 1 ) n , 0 ≤ t ≤ T s 0 , o t h e r s f_n (t)=\begin{cases}(2 t/T_s-1)^n,&\quad 0\leq t\leq T_s\\0,&\quad others\end{cases} f n ( t ) = { ( 2 t / T s − 1 ) n , 0 , 0 ≤ t ≤ T s o t h ers
n 为多项式阶数,t 为内插点整数间隔
冲激响应为:
Copy 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}$$
其中的
$$\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{其他}&\end{cases}\\\end{aligned}$$
### 定时误差估计
Gardner 算法是一种适用于 BPSK/QPSK 的每符号采样两点的算法,具有所需采样点少,易于高速实现,且具有检测性能不受载波相位恢复影响等优点
对于 BPSK 信号,Gardner 算法表示为:
$$ \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}
对于 QPSK 信号,Gardner 算法表示为:
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 ) ] 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)] 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 )]
环路滤波器#
工程中,环路滤波器一般使用一阶积分滤波或者卡尔曼滤波
一阶积分滤波的冲激响应为:
y ( n ) = y ( n − 1 ) + c 1 [ x ( n ) − x ( n − 1 ) ] + c 2 x ( n ) y(n)=y(n-1)+c_1[x(n)-x(n-1)]+c_2x(n) y ( n ) = y ( n − 1 ) + c 1 [ x ( n ) − x ( n − 1 )] + c 2 x ( n )
其中 $c_1=\frac {2\omega_n}{K}$, $c_2=\frac {\omega_n^2}{Kf}$
插值控制器#
插值控制器的作用是控制插值运算,接收定时误差信号,运算后给内插滤波器提供内插运算所需要的控制量参数 $m_k 和 \mu_k$
控制器由 NCO 和分数间隔计算器组成,NCO 的作用是溢出产生时钟,即确定内插基点 $m_k$,分数间隔计算器主要计算 $\mu_k$,提供给内插器进行内插
模 1 的相位递减器,差分方程为:
Copy η ( m + 1 ) = [ η ( m ) − W ( m ) ] m o d 1 \eta(m+1)=[\eta(m)-W(m)]\mathrm{mod}1 η ( m + 1 ) = [ η ( m ) − W ( m )] mod 1
其中 $\eta (m)$ 为第 m 个工作时钟的 NCO 寄存器内容,$W (m)$ 为 NCO 控制字,即相位递减的步长,由环路滤波器调节,使内插器输出最佳采样点,近似为 $W (m)=\frac {T_s}{T_i}$。
分数间隔为:
Copy μ k = ξ 0 η ( m k ) ,其中 ξ 0 = 1 W ( m ) \mu_k=\xi_0\eta(m_k),其中\xi_0=\frac{1}{W(m)} μ k = ξ 0 η ( m k ) ,其中 ξ 0 = W ( m ) 1