欢迎来到天天文库
浏览记录
ID:20227818
大小:199.50 KB
页数:3页
时间:2018-10-11
《不同阶数fir数字滤波器dsp实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、不同阶数的FIR数字滤波器的DSP实现由于Q(ω)是一个已知的三角函数,故除在点ω=0,π外,上式处处有效。令: 则可得到如下数学模型: 据此,可以把FIR滤波器的设计问题,归纳为如下的加权契比雪夫迫近问题:寻找P(ω)的一组系数a(n)(或使E(ω)的最大绝对值在整个频带上都达到最小。即: 其中:B表示整个有意义的频带。 求解契比雪夫迫近问题的依据是交错定理(这里不再介绍)。2 用Matlab设计FIR数字滤波器 Matlab信号处理工具箱采用Remez算法实现线性相位FIR滤波器的等波纹最佳一致逼
2、近设计。与其他设计方法相比,其优点是:设计指标相同时,使滤波器阶数最低;阶数相同时,使通带最平坦,阻带最小衰减最大;通带和阻带均为等波纹形式,适合设计片段常数型滤波器。其调用格式如下: remezord函数用于估算FIR数字滤波器的等波纹最佳一致逼近设计的最低阶数N,从而使滤波器在满足指标的前提下造价最低。基本调用格式如下: 其返回参数供remez函数使用。编制程序(略)FIR数字滤波器的滤波仿真程序: 设有一个正弦叠加信号:x=sin(2*pi*100*t)+sin(2*pi*200*t)+sin(2*pi*300*t);经过带通滤波器后,滤
3、除频率为100Hz和300Hz的信号,如图1所示。结果如图2所示。 3 用DSP线性缓冲区和带位移的双操作数寻址方法来实现不同阶数的FIR数字滤波器 实现的核心器件采用美国德州仪器公司生产的DSP芯片TMS320C5402。对于N级FIR滤波器,在数据存储器中开辟一个称之为滑窗的N个单元的缓冲区,存放最新的N个输入样本。从最老的样本开始,每读一个样本后,将此样本向下移位。读完最后一个样本后,输入最新样本至缓冲区的顶部(见图3)。FIR滤波器的主程序(程序流程图见图4),其中包括3个子程序Var
4、iableinc,Bfunction.asm,Filter_coeffinc。Variableinc程序的主要作用是:将TMS320个寄存器定义为全局符号,这样就可以直接引用寄存器(符号)。Bfunction.asm程序的主要作用是:初始化FEC和初始化C54。Filter_coeff.inc程序提供滤波器的系数,其系数用Q15格式表示。 4 结语 实践证明,该滤波器准确度高、稳定性好,易于移植使用,具有较强的实用性与灵活性。Matlab可方便地设计出FIR数字滤波器,并且修改
5、系数方便。由于DSP的可移植性好,所以能从不同方法得来的滤波器系数写入filter_coeff.inc子程序中,从而得到不同的滤波效果。参考文献1]丁玉美,高西全.数字信号处理[M].西安:西安电子科技大学出版社,20022]吴湘淇.信号、系统与信号处理[M].北京:电子工业出版社,1999.3]薛年喜.Matlab在数字信号处理中的应用[M].北京:清华大学出版社,2003.4]TMS320C54XDSPCPUandPeripherals(ReferenceSetVolume1).5]TMS320C54XDSPMnemonicInstructionSet(R
6、eferenceSetVolume2).
此文档下载收益归作者所有