基于DSP C54x的数字滤波器设计(05-100)
—— 基于DSP C54x的数字滤波器设计
FIR滤波算法实际上是一种乘法累加运算。它不断输入样本,经延时
本文引用地址://m.amcfsurvey.com/article/91452.htm![](http://m.amcfsurvey.com/editerupload/200902/a3d9565bb4f2d98a27076d62926e5410.gif)
- 系统的单位冲激响应h(n)在有限个n值处不为零;
- 系统函数H(z)在|z|>0处收敛,在|z|>0处只有零点,有限z平面只有零点,而全部极点都在z=0处;
- 结构主要是非递归结构,没有输出到输入的反馈。
这本次设计中FTSK输入数据中包含频率为800HZ,1200HZ,1600HZ,2021HZ,中心频率为1600HZ,提取该频率的信号。利用Matlab设计一个带通滤波器。具体参数为:采样频率为22050HZ,通带宽度为250HZ,则Fpass1=1475HZ,Fpass2=1725HZ,衰减1db,过渡带为200HZ则Fstop1=1275HZ,Fstop2=1925HZ,阻带衰减为30db。运行Matlab获得126阶的带通滤波器,并提取系数。
用线性缓冲区和带移位双操作数寻址方法实现FIR滤波器
在这里介绍用线性缓冲区法实现
![](http://m.amcfsurvey.com/editerupload/200902/a8bd89d9b707371261dfca060e8ec9d3.gif)
- 对于N级的FIR滤波器,在数据存储区中开辟一个称之为滑窗的N个单元的缓冲区,存放最新的N个输入样本。
- 从最老的样本开始,每读一个样本后,将此样本向下移位。读完最后一个样本后,输入最新样本至缓冲区的顶部。
在这里N=126,y(n)=
![](http://m.amcfsurvey.com/editerupload/200902/eff63f990997f7af73925e08fbafa202.gif)
在数据存储区中存放系数
![](http://m.amcfsurvey.com/editerupload/200902/29f1db5362617081369eebd6aa120da0.gif)
具体实现程序如下:
评论