数字滤波器实现课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数字滤波器实现课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字滤波器 实现 课件
- 资源描述:
-
1、第7章数字滤波器理想低通滤波器低通、高通、带通与带阻高通滤波器带通滤波器带阻滤波器a.Band-reject byAdding parallel stagesb.Band-reject byin a single stagexnh1nh2nynLow-passxnh1n+h2nynband-passhigh-pass有限冲击响应(FIR)滤波器10Npppkxakypa式中,yk是时刻t=kT时滤波器的输出信号,xk是最近(t=kT)的输入信号,xk-p是延时了p个采样周期的输入信号,是第p个延时节的加权值(也就是滤波器系数)。从这个结构可以看出,因为该滤波器的冲激响应,在N个采样周期后变为0
2、,因此称为有限冲激响应滤波器。FIR滤波器的基本结构,是一个分节的延时线,每一节的输出加权累加,得到滤波器的输出。数学上可以表示为:而IIR滤波器的差分方程后面还需要加上一项Mpppkyb110)1(110)(NpNNppzazaazazH将式 作Z变换,得传输函数:10Npppkxaky由传输函数可以看出,由于FIR的传输函数H(z)只在Z平面上的原点处有极点,因此,它是稳定的。FIR滤波器的横截型结构Z-1Z-1Z-1Z-1+y(n)x(n)x(n-1)x(n-2)x(n-N+1)a0a1a2aN-2aN-1FIR滤波器的主要特点 单位冲激响应只有有限多项 可以设计成线性相位系数 只在零点
3、处有极点,因此系统总是稳定的 便于DSP实现并可用立即数乘加指令编程,节约存储器系统非线性相移造成输出信号失真 系统相位特性决定了信号不同频率的时延,系统的群延时定义为相位函数的导数。dd)(忽略相位信息的后果DFT变换DFT反变换忽略相位信息输入波形输出波形要求线性相位的例子 通信系统:数据通信、调制解调器 希尔伯特变换器:要求输入输出信号正交 高保真音响系统:音乐的相位失真必须减到最小,尽可能逼真地重现原来的声音 理想微分器线性相位的FIR滤波器 系统的群延时tconsddgtan)(线性相位设计 当hp=hN-p 即hp关于中点对称,且:2NTg则满足线性相位要求,群延时为:sgfNNT
4、221FIR滤波器的DSP实现 FIR滤波器的基本算法是一种乘法-累加运算,即不断的输入样本x(n),经过 延时后,再进行乘法-累加,最后输出滤波结果y(n)操作:延迟(一个采样周期)操作,两种方法:1、线性缓冲区实现2、用循环缓冲区实现1z1z1z1z线性缓冲区法 线性缓冲区法又称延迟线法。其方法是:对于n=N的FIR滤波器,在数据存储器中开辟一个N单元的缓冲区,存放最新的N个样本;滤波时从最老的样本开始,每读一个样本后,将此样本向下移位;读完最后一个样本后,输入最新样本至缓冲区的顶部。以上过程,可以用N=6的线性缓冲区示意图来说明,如图所示:循环缓冲区法 下图说明了使用循环寻址实现FIR滤
5、波器的方法。对于N级FIR滤波器,在数据存储区开辟一个称为滑窗的具有N个单元的缓冲区,滑窗中存放最新的N个输入样本值。每次输入新的样本时,新的样本将改写滑窗中最老的数据,其他数据则不需要移动。用循环缓冲区实现1zFIR滤波器编程实现RPTBD fir_filter_loop-1STM#k_FIR_BFFR,BK;FIR circular bffr sizeLD*INBUF_P+,A;load the input valueFir_filter:STL A,*FIR_DATA_P+%;replace oldest sample with newest sampleRPTZ A,(K_FIR_BU
6、FF-1)MAC*FIR_DATA_P+0%,*FIR_COFF_P+0%,A;filteringSTH A,*OUTBUF_P+;replace the oldest bffr valuefir_filter_loop计算16阶的FIR滤波器输出256个点.sect ”fir_prog”STM#255,BRC;Repeat 256 timesRPTBD fir_filter_loop STM#16,BK;FIR circular buffer sizeLD*AR7+,A;load the input valueSTL A,*AR4+%;replace oldest sample with n
7、ewest sampleRPTZ A,#15MAC*AR4+0%,*AR3+0%,A;filteringSTH A,*AR5+;replace the oldest buffer valueFir_filter_loopC54的FIRS指令 该指令实现一个对称的FIR滤波器。累加器A的高段和由pmad(程序存储器地址)寻址的pmem相乘,结果加到累加器B中。同时,存储器操作数Xmem和Ymem相加,结果左移16bits,然后装入累加器A。在下一个循环中,pmad加1.语法:FIRS Xmem,Ymem,pmad 例:FIRS *AR3+,*AR4+,COEFFS【例】用循环缓冲区和双操作数寻址
展开阅读全文