D-1。式(5)即为数字滤波器H(z)的多相滤波结构。针对本文的应用,此处给出一个I倍内插器多相滤波结构的实现框图,如图1所示。其中,Rk(z')=E(I-1-k)(z')。
由图1可见,此时的数字滤波器Rk(z)位于内插器之前,即滤波是在数据流提速之前进行的,这就大大降低了对处理器的要求,提高了实时处理能力。此外,多相滤波器结构的另一个好处是每一分支滤波器的系数由原来的N个减少到N/I个,可以减小滤波运算的累积误差,有利于提高计算精度,降低对处理器字长的要求。图2是多相结构内插滤波器的开关结构形式。它可以更清楚地说明多相结构内插滤波器是如何工作的。对输入速率为Fs的数据流,经L个子滤波器后,每个子滤波器的数据流速度依然是Fs,但整个内插滤波器的数据流速度提高为I·Fs,此时用速率为I·Fs的开关对输出数据流进行选择,即完成了I倍内插数据的获取。同样可以得出D倍抽取器多相滤波结构。
2 时延算法的DSP实现
短波信道模拟器系统中常采用软件无线电思想实现。软件无线电的宗旨就是尽可能地简化射频模拟前端,使A/D转换尽可能地靠近天线去完成模拟信号的数字化,而且数字化后的信号要尽可能多地用软件进行处理,实现各种功能和指标。软件部分主要用DSP芯片来进行处理信号。根据软件无线电的知识,可以使用内插来完成精确性时延部分的工作,但为了避免插值后数据量的大增,导致DSP处理的负荷量过重,之后就得考虑数据的抽取操作用以减少处理的数据量。在上部分中,可以得出内插和抽取过程都需要一滤波器进行滤波,避免内插带来的高频镜像和抽取带来的频谱混叠。可以采用内插和抽取组合的办法来解决内插所导致的数据量大增问题,并保证小尺寸时延的精度。但必须内插在前,抽取在后,以确保其中间序列的基带谱宽度不小于原始输入序列谱或输出序列谱的基带频谱宽度,否则将会引起信号失真。这里采取的是D倍内插再D倍抽取以实现级联来满足要求。但是由于他们级联的D倍内插滤波器和D倍抽取滤波器工作在相同的采样率Dfs下,所以他们可以以一个组合滤波器来代替。图3是基于内插和抽取技术的时延器结构。
输入信号x(n)的抽样速率为fs,为实现延迟L/D个样点间隔,首先将x(n)的抽样速率增加到原来的D倍(即在x(n)的二个样点间插入D-1个零),速率提高后的V(n)序列经低通滤波器滤波,低通滤波器的作用是滤除间隔为原抽样频率重复出现的成分。V(n)是x(n)内插后的序列,其抽样速率为Dfs,u(n)在高抽样率上延迟L个样点后得ω(n),最后在ω(n)序列中,每D个样点保留一个即得到y(n)。y(n)是x(n)延迟了(L/D)T的序列,这里T=1/fs是原序列的抽样周期。在得出u(n)的过程中,经过的低通滤波器是FIR滤波器,V(n)序列经低通滤波器滤波时是利用产生的,但V(n)是通过x(n)的两样m=0点插零得到,也就是说在进行卷积运算时,将会有许多项是零乘以滤波系数的情况。根据规律可以得出,滤波系数每隔D个再相互与x(n)中相邻数据相乘加得到。结合数字滤波器H(z)的多相滤波结构的知识,多相滤波器是由D个子滤波器构成的。各个子滤波器参数如下,其中N/D=Q,N为滤波器长度,Q为整数,令K=Q-1:
在上面各子滤波器参数组中,相邻滤波参数都相隔D个,也将是输入信号x(n)依次通过各子滤波器后产生新的信号u(n),此时的抽样周期TD=1/Dfs,即x(n)通过相邻子滤波器后产生的输出信号间的抽样时间是一个抽样周期1/Dfs。那么,x(n)依次通过子滤波器参数组中相距L相应的子滤波器时产生的输出信号间抽样时间是L/Dfs。这样就能够产生L个延迟样点时间。最后再采取数据抽取工作。抽取工作其实可以采取对未被抽取的输出信号相对应的数据进行内插滤波操作,而不对抽取的输出信号相对应的数据进行内插滤波操作。这样可让DSP减少许多运算操作,节省DSP实现时延过程的执行时间,能够保证信号数据的准确性。选用的DSP芯片是TI公司的TMS320C6416,主频可以达到1 GHz,运算速度已达到8 000 MIPS,为32 b定点数字信号处理器。根据输入信号x(n)的频谱分析可得出最高频率fmax(fmax≤fs/2),其中利用.Matlab或者SystemView软件设计一个低通滤波器,得出滤波系数。