内插:
目的:把Ts和Ti连接起来,虚拟出Ti时刻的采样点value。使用内插滤波器把此点制造出来,内插滤波器tap的生成需要(控制、鉴相、环路滤波器三者配合);
同时,控制生成判决时刻,即symbol生成时刻。
具体说明:
假设sampling rate是1/Ts,symbol rate是1/Ti。Timing 同步是要sample和symbol的节奏一致,不同时间点,但是在同一个轴上。
当Ts和Ti不能整除时,也就是无理数,上篇讲解中的模型就用上了。本讲主要介绍:框图中interpolation control的这一段。
PS:模型有一个前提,Ti 要大于Ts;因此在实际场景中,fs 是4倍左右的f_symbol是建议的。
模型就要引用公式,本人也不能例外。
内插滤波器:
笼统上说,是一个滤波器。y(t) = ∑ x(mTs) * h(t-mTs),其中t就是Ti是symbol的时间间隔;
针对内插的区别:y(kTi) =∑x(mTs) * h(kTi-mTs); 中间存在两个时间线,Ts,Ti;input数据是按照Ts的间隔输入的,在Ti是没有数据存在的;
y(kTi) = y((mk+uk)*Ts),其中mk = int[kTi/Ts],uk=kTi/Ts - mk,i=int[kTi/Ts]-m;
y((mk+uk)*Ts) = ∑x(mk-i) *h((mk+uk-m)*Ts) = ∑x(mk-i) *h((i+uk)*Ts);
引出两个问题:h在uk下的抽头如何生成;
uk如何估计;
uk如何估计
使用interpolation control模块,估计uk。
引入NCO来解决uk的估计问题,NCO具有重复的特性,即recycle的特点;当NCO underflow到0时,就是Ti出现的时刻;
此图最清晰的说明使用NCO作为桥梁连接 Ts和Ti。在此模型中,不使用传统的NCO 正向,即增加模式,使用减少模式,是比较方便的。
η(xk+1) = (η(xk) - W(xk))(mod 1),这里要说明一点,下面的推导是η(xk)去underflow 0 的时候!!!很重要。
由此图可以通过,三角形相似推导出
uk = η(mk)/(1-η(mk+1)+η(mk)) = η(mk)/W(mk);
到此处可以写几句代码:
W = dis_code + 1/int(Ti/Ts);//dis_code 来自鉴相器
if NCO - W < 0
生成时刻 = 1;
end
if 生成时刻== 1
uk = NCO/W;
end
if NCO - W > 0
NCO = NCO - W
else
NCO = NCO - W +1;
end