1 基于DSP Builder的滤波系统设计
1.1 FIR滤波器原理
有限冲激响应(Finite Impulse Response,FIR)滤波器是由有限个采样值组成,实现的方式是非递归、稳定的,在满足幅频响应要求的同时,可以获得严格的线性相位特性,因此在高保真的信号处理等领域得到广泛应用。
对于一个FIR滤波器系统,它的冲击相应总是有限长的,其系统函数可记为:最基本的FIR滤波器可表示为:
式中:z(n)是输入采样序列;h(n)是滤波器系数;L是滤波器阶数;y(n)表示滤波器输出序列,为x(n)和h(n)的卷积。FIR滤波器基本结构如图1所示。
对于一个4阶滤波器子系统其输出可表示为:
可见在这个子系统中共需要4个延时器,4个乘法单元和一个4输入的加法器,并可以根据实际需要选择调用子系统构成多阶滤波器。
1.2 滤波的总体要求及实现
1.2.1 设计要求和滤波参数选取
该带通滤波器的技术指标为16阶FIR数字带通滤波器,对模拟信号的采样频率fs为102.4 kHz,通带频率为24~44 kHz,上限截止频率24 kHz,下限截止频率44 kHz,输入/输出序列位宽分别是9位、19位。滤波器系数由滤波器设计工具FDATools生成。因FIR数字滤波器的设计方法主要有窗函数法和等波纹一致逼近法等,比较最佳效果选定Equiripple等波纹法实验。输入信号采用DSPBuilder库中的增加/减少(Increment Decrement)模块和LUT模块,分别构成一个线性递增的地址发生器和正弦查找表模块。这样组建一组正弦信号,考虑组建通带内频率f1=24.414 kHz与带外频率f2=48.828 kHz叠加。之所以选这两个频率主要根据LUT中的信号的步进制即在一个周期(0~2π)中对信号采样点来决定的。
1.2.2 带通滤波器的模型设计
根据FIR滤波器原理和4阶子系统的输出公式,在Matlab的Simulink环境下,调用Altera DSP Builder库中的4个 Delay延迟模块、4个Product乘法模块、5个9位的Input输入端口、1个20位的Output输出端口和一个4输入的加法器,使9位的输入序列x(n)和FIR滤波器的系数h(0),h(1),h(2),h(3)作为输入,完成4阶滤波器子系统。调用4个这样的子系统级联起来构成16阶的滤波器。其中,滤波器系数h(0),h(1),…,h(15)由滤波器设计工具FDATools生成,系数与滤波器关联,建立出完整的滤波系统模型。