0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于数字信号处理器件实现FIR数字滤波器的应用方案

基于数字信号处理器件实现FIR数字滤波器的应用方案

来源: elecfans
2021-01-27
类别:工业控制
eye 24
文章创建人 拍明

原标题:基于数字信号处理器件实现FIR数字滤波器的应用方案

  引言

  数字信号处理现已在通信与信息系统、信号与信息系统、自动控制、需达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中, 滤波占有十分重要的地位, 如对信号的过滤、检测、预测等, 都要广泛地用到滤波器。IIR数字滤波器的设计保留了一些典型模拟滤波器优良的幅度特性, 但所涉及的滤波器相位特性一般是非线性的, 而FIR滤波器则可在保证幅度特性并满足技术要求的同时, 也很容易做到严格的线性相位特性。

  1 基于窗函数法的FIR滤波器设计

  1.1 单位冲激响应

  首先应根据技术要求确定待求滤波器的单位冲激响应hd (n)。如果给出待求滤波器的频率为Hd (ej), 那么单位取样响应则可用下式求出:

  

image.png


  

image.png


  如果给出通带阻带衰减和边界频率的要求,则可选用理想滤波器作为逼近函数, 从而用理想滤波器的特性作傅立叶逆变换, 以求出hd (n)。若理想低通滤波器为:

  

image.png


  1.2 过渡带及阻带衰减

  根据对过渡带及阻带衰减的要求, 设计时可选择窗函数的形状, 并估计窗口长度N。设待求滤波器的过渡带用Δω表示, 它近似等于窗函数的主瓣宽度。由于过渡带Δω近似与窗口长度N成反比。即N=A/Δω, 其中A决定于窗口形式, 例如, 矩形窗A=4π, 哈明窗A=8π等。按照过渡带及阻带衰减情况, 选择窗函数形式。其设计原则是在保证阻带衰减的情况下, 尽量选择主瓣比较窄的窗函数。

  1.3 单位取样响应的计算:

  计算滤波器的单位取样响应h (n) 时, 可按正式进行:

  

image.png


  验算技术指标是否满足要求时其设计出的滤波器频率响应可采用下式进行计算:

  

image.png


  计算上式时, 可使用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个样本后的存储情况。

  

image.png


  图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) 输出曲线。

  由图2和图3两图对比可见, 经过滤波后, 其输入曲线变平滑了。并且, 根据计算所得:

  {y (n)} = {0, -0.018, -0.1486, -0.4662, -0.893, -1.305, -1.7006, -2.1548, -2.6372, -3.0062, -3.1918, -3.3098, -3.5296, -3.8198,-4.009, -4.0482, -3.9514, -3.4596, -2.0672, 0.3162, 2.7908, 3.*8, 0.9464, -6.2018, -17.6736, -31.8884, -45.5584, -54.1796, -54.044, -44.916, -30.6*, -16.6756, -6.3676, 0.058,4.037, 6.5272, 7.5976, 7.318, 6.2854, 5.0906, 3.8896, 2.*2, 1.5078, 0.6238, 0.0788, -0.3198, -0.7348, -1.0768, -1.1474, -0.9538,-0.7342, -0.6852, -0.7*, -0.8172, -0.8136,-0.8834} 上面一共56个值。

  

image.png


  图2 x (n) 输入曲线

  

image.png


  图3 y (n) 输出曲线

  4 结束语

  通过实验结果可见, 本设计用DSP设计的FIR数字滤波器的输出曲线对应值与计算所得值完全相符, 由此证明, 本设计的程序是正确的。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案