- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于DSP的FIR数字滤波器的实现
1.2 过渡带及阻带衰减
根据对过渡带及阻带衰减的要求, 设计时可选择窗函数的形状, 并估计窗口长度N。设待求滤波器的过渡带用Δω表示, 它近似等于窗函数的主瓣宽度。由于过渡带Δω近似与窗口长度N成反比。即N=A/Δω, 其中A决定于窗口形式, 例如, 矩形窗A=4π, 哈明窗A=8π等。按照过渡带及阻带衰减情况, 选择窗函数形式。其设计原则是在保证阻带衰减的情况下, 尽量选择主瓣比较窄的窗函数。
1.3 单位取样响应的计算:
计算滤波器的单位取样响应h (n) 时, 可按正式进行:
验算技术指标是否满足要求时其设计出的滤波器频率响应可采用下式进行计算:
计算上式时, 可使用FFT算法。如果H (ejω)不能满足要求, 那么, 根据具体情况, 可重复上述设计, 直到满足要求为止。
2 基于DSP的FIR数字滤波器实现方案
2.1 滤波系统的差分方程
2.2 实现方案
由于在卷积运算之前, h (n) 的N个数值是已知的, 因此, 可先在程序存储器中开辟N个单元来存放h (n)。由于输入序列x (n) 是不断变化的,因此, 在数据存储器中可开辟N个存储单元并对其进行移位寄存, 其初始值分别为x (n)、x (n-1)……x (n-N-1), 然后采用循环寻址的方法对其进行访问。每次输入新的样本时, 可以以新样本改写滑窗中的最老的数据, 而滑窗中的其他数据则不需要移动。利用片内8 kB (循环缓冲区长度)寄存器可对滑窗进行间接寻址, 循环缓冲区地址首尾相邻。8级循环缓冲区的结构如图1所示, 其中顶部为低地址, 图1中的(a) (b) (c) 分别为初始状态、输入1个和2个样本后的存储情况。
图1 8级循环缓冲区结构。
3 仿真结果
下面是一组信号采样序列样本x (n), 其中存在有高频干扰。现以x (n) 作为输入序列, 然后滤除其中的干扰成分。
{x (n)} = {-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,*,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0}
本设计的线性相位低通FIR数字滤波器的截止频率ωc为0.2πrad, 窗口长度N为11。根据上述原理及实现方案, 若采用汉宁窗来实现, 则可依据算式计算出用汉宁窗设计时的各h (n) 的系数:
{h (n)} = {0, 0.0045, 0.0349, 0.0991, 0.1692,0.2, 0.1692, 0.0991,0.0349, 0.0045, 0}
在CCS2.0软件中观察x (n) 的输入曲线如图2所示, 图3所示是其y (n) 输出曲线。
来源:维库开发网