一种抛物线型内插滤波器的FPGA实现
2018-03-21李玉峰李洁洁
李玉峰,邓 军,曹 博,李洁洁
(1.唐山市交通运输局交通信息管理中心,河北 唐山 063000;2.西安电子科技大学 电子工程学院,陕西 西安710071)
0 引言
内插滤波是全数字接收机中的一个特殊问题,用于实现码元同步[1-3]。在全数字接收机中,信号在最佳采样点的值不能通过直接采样得到,而是通过定时误差估值控制内插滤波器对采样得到的信号样本值进行插值运算,从而得到信号在最佳采样时刻的近似值。因此内插处理器的性能直接影响全数字接收机的性能,设计性能良好的内插滤波器是全数字接收机的关键。
内插滤波算法是一种数字信号处理方法,其实现方法有2种:软件方法和硬件方法。软件实现的内插滤波算法,虽然其可移植性好,开发周期短,但运行速度慢。硬件实现方法虽然在灵活性和移植性方面不及软件方法,但其处理速度快,在某些应用中可能降低功耗。本文将一种分段抛物线插值滤波算法映射到FPGA中,用以取代传统的DSP实现方法。通过仿真并在FPGA上实现,得到基于改进的Farrow结构在频率响应及误码率性能上接近原结构,且与原结构相比,有着更快的运行速度和更低的功耗。
1 内插滤波器原理
符号时钟同步技术是传统数字通信系统接收机中最核心的技术之一。若噪声环境为加性高斯白噪声,那么相关解调器和匹配滤波器抽样判决时刻都必须在t=T时刻,超前或者滞后都会增大误码率。和A/D转换中进行的取样不同,这里取样是为了对符号进行判决取样。
为了分析内插滤波原理,Floyd M.Garnder给出了插值滤波器速率转换模型[1-2],如图1所示。
图1 内插滤波器速率转换模型
图1中,T为调制信号的符号周期;Ts为接收机采样周期;x(mTs)为输入信号采样值;y(kTi)为输出信号抽样值;Ti=T/k,k是一个小整数,与时钟恢复算法无关,一般取2或4。
信号经D/A变换和模拟滤波器hI(t)后,输出信号为:
(1)
在时刻t=(kTi)重采样y(t),则内插后的输出值为:
(2)
只要知道下面3个条件,完全可以用数字化方法得到正确的内插值。① 输入的采样序列x(mTs);② 模拟滤波器的单位脉冲响应hI(t);③ 输入的采样时间Ts和输出的采样时间Ti。
在这3个条件中,输出的采样时间Ti是未知的,经过变换后,可以用采样时钟来表示内插值,如式(3)所示。
(3)
其中,基本指针mk为:
(4)
分数间隔μk为:
(5)
定义滤波器指针i为:
(6)
则式(2)可写为:
y(kTi)=y[(mk+μk)Ts]=
(7)
式(7)为数字内插滤波器的基本方程。可以看出,经过简单的变换后,这里的Ti完全用Ts来表示。
要恢复原信号,如果使用理想状态下的插值滤波器,即理论上要获得滤波器过去的输出值,在非因果的结构中不能实现,但实际中没必要去恢复原信号在任何时刻的值,只需要解调器能够正确地进行判决,这样就会比较简单。
在数字信号处理中学习过信号的采样定理。内插滤波器在采样时会产生周期性的镜像频谱,周期采样之后,经过内插滤波,实际上等同于采样后经过D/A变换器输出的信号通过低通滤波之后再进行一次采样。所以,插值滤波器应当让有用的信号频谱都通过,并且要阻止其他的镜像频谱,否则会产生频谱混叠。内插函数需要对镜像进行抑制,所以,其决定了插值滤波器的特性,是设计的关键问题之一。
2 分段抛物线型拉格朗日内插滤波器的设计
考虑插值滤波器的物理可实现性,选择滤波器的参数时应遵循如下原则:① 参与插值运算的采样点数应是偶数,这样才能使滤波器具有线性相位;② 一定要用内插而不是外插,即插值点在输入的信号样本点之间,这样就能避免插值过程中的延时干扰。
实际采用的多项式内插滤波器基于拉格朗日插值公式,分为线性拉插值滤波器、分段抛物线插值滤波器和日立方插值滤波器[4,9-10]。总体来讲,多项式结构插值滤波器的性能比简单的线性插值滤波器的性能要好,因为它有多个采样点来参与运算,精确性就有了保证。本文主要讨论分段抛物线型拉格朗日插值滤波器。
由于内插估值点μK随时间变化,所以内插滤波器的冲击响应也是随时间变化的,因此,数字内插滤波器是一种时变线性滤波器,它符合时变线性滤波器的所有特性。
内插滤波器可以用不同的结构实现,但实现的复杂性不同,因此内插滤波器的结构也是内插滤波器设计的一个关键环节。
内插滤波器可以用多相结构实现,即用一个滤波器组实现,其中每个滤波器都是线性时不变的。这种实现方法带来的问题是,在所有滤波器组成的多相结构中,由于要对内插估值点μK做量化,每个内插估值点的量化都对应着一个线性时不变滤波器,这样结构的复杂度就非常高。
内插滤波器也可使用系数实时计算式横向结构实现,它通过一个单一的横向滤波器来计算内插的估计值,这种结构的复杂度取决于横向滤波器的级数和函数计算的复杂度,一般适用于低速及hI(t)比较简单的场合,如线性内插函数。
Farrow结构是一种易于硬件实现内插滤波器的完全计算式嵌套结构,但只有多项式内插函数可以用Farrow结构实现。
对拉格朗日多项式内插滤波器,有
(8)
信号通过内插滤波后的输出为:
(9)
由式(9)可以看出,在Farrow结构中,计算内插值时需要用到的变量只有内插估值点μk,而不需要中间的滤波器系数,所以实现起来非常简单。
分段抛物线插值滤波器Farrow结构的实现系数如表1所示,实现框图如图2所示。
表1 分段抛物线插值滤波器Farrow结构实现系数bl(i)
il012-20-ββ-10β+1-β01β-1-β00-ββ
图2 分段抛物线插值滤波算法Farrow结构实现框图(β=0.5)
3 仿真结果分析
以2倍符号速率对4QAM基带信号进行采样,对Farrow结构实现的分段抛物线内插滤波算法,分别用TMS320C6678 DSP处理板以软件方式和用XC7A100T FPGA处理板以硬件方式进行仿真和实现,插值滤波器输出信号星座如图3和图4所示。
图3 DSP软件方式实现的内插滤波输出信号星座图
图4 FPGA硬件方式实现的内插滤波输出信号星座图
在FPGA上的测试波形如图5所示。可见,输入的采样信号x为8位数据,内插输出数据y在延迟后且插值间隔为1的情况下,与x保持一致,验证了设计的正确性。DSP处理板的功耗为15 W,FPGA处理板的功耗为5 W。
图5 Farrow结构的分段抛物线内插滤波器仿真波形
4 结束语
本文对内插滤波器的原理和用Farrow结构实现的分段抛物线内插滤波器算法进行了分析,分别用TMS320C6678 DSP处理板以软件方式和用XC7A100T FPGA处理板以硬件方式进行了仿真和实现,验证了设计的正确性,DSP处理板的功耗为15 W,FPGA处理板的功耗为5 W。
[1] 张公礼.全数字接收机理论与技术[M],北京:科学出版社,2005.
[2] GARDNER F M.Interpolation in Digital Modems-Part-I:Fundamental[J].IEEE Trans.on Comm.,1993,41(3),502-508.
[3] ERUP L,GARDNER F M,HARRIS R A.Interpolation in Digital Modems-Part-II:Implementation and Perf ormance[J].IEEE Trans.on Comm.,1993,41(6):998-1008.
[4] 邓军,杨银堂.全数字接收机中一种基于并行流水线与快速FIR算法的插值滤波器结构及其实现[J].电子与信息学报,2010,32(9):2089-2094.
[5] Chien-Cheng TSENG,Lee Su-Ling.Design of Fractional Delay Filter Using Discrete Fourier Transform Interpolation Method[J].Signal Processing,2010,90(4):1313-1322.
[6] SHYU J J,PEI S C,HUANG Y D.Two-dimensional Farrow Structure and the Design of Variable Fractional-delay 2-D FIR Digital Filters[J].IEEE Transactions on Circuits and Systems I:Regular Papers,2009,56(2):395-404.
[7] 胡明睿,陈长兴,冯晓玉.卫星发射与地面接收信号位同步算法仿真研究[J].计算机仿真,2016,33 (9):127-131.
[8] DENG T B.Hybrid Structures for Low-complexity Variable Fractional-delay FIR Filters[J].IEEE Transactions on Circuits and Systems I:Regular Papers,2010,57(4):897-910.
[9] 张华冲,王晓亚.全数字QAM解调器的设计与FPGA实现[J].无线电工程,2010,40(6):27-30.
[10] 苗放.面向数据的软件体系结构初步探讨[J].计算机科学与探索,2016,10(10):1351-1364.