欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《数字滤波器实现》PPT课件.ppt

    • 资源ID:53441707       资源大小:452.50KB        全文页数:37页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《数字滤波器实现》PPT课件.ppt

    第7章数字滤波器理想低通滤波器低通、高通、带通与带阻高通滤波器带通滤波器带阻滤波器a.Band-reject byAdding parallel stagesb.Band-reject byin a single stagexnh1nh2nynLow-passxnh1n+h2nynband-passhigh-pass有限冲击响应(FIR)滤波器式中,yk是时刻t=kT时滤波器的输出信号,xk是最近(t=kT)的输入信号,xk-p是延时了p个采样周期的输入信号,是第p个延时节的加权值(也就是滤波器系数)。从这个结构可以看出,因为该滤波器的冲激响应,在N个采样周期后变为0,因此称为有限冲激响应滤波器。FIR滤波器的基本结构,是一个分节的延时线,每一节的输出加权累加,得到滤波器的输出。数学上可以表示为:而IIR滤波器的差分方程后面还需要加上一项将式 作Z变换,得传输函数:由传输函数可以看出,由于FIR的传输函数H(z)只在Z平面上的原点处有极点,因此,它是稳定的。FIR滤波器的横截型结构FIR滤波器的主要特点单位冲激响应只有有限多项可以设计成线性相位系数只在零点处有极点,因此系统总是稳定的便于DSP实现并可用立即数乘加指令编程,节约存储器系统非线性相移造成输出信号失真系统相位特性决定了信号不同频率的时延,系统的群延时定义为相位函数的导数。忽略相位信息的后果DFT变换DFT反变换忽略相位信息输入波形输出波形要求线性相位的例子通信系统:数据通信、调制解调器希尔伯特变换器:要求输入输出信号正交高保真音响系统:音乐的相位失真必须减到最小,尽可能逼真地重现原来的声音理想微分器线性相位的FIR滤波器系统的群延时线性相位设计当hp=hN-p 即hp关于中点对称,且:则满足线性相位要求,群延时为:FIR滤波器的DSP实现 FIR滤波器的基本算法是一种乘法-累加运算,即不断的输入样本x(n),经过 延时后,再进行乘法-累加,最后输出滤波结果y(n)操作:延迟(一个采样周期)操作,两种方法:1、线性缓冲区实现2、用循环缓冲区实现线性缓冲区法线性缓冲区法又称延迟线法。其方法是:对于n=N的FIR滤波器,在数据存储器中开辟一个N单元的缓冲区,存放最新的N个样本;滤波时从最老的样本开始,每读一个样本后,将此样本向下移位;读完最后一个样本后,输入最新样本至缓冲区的顶部。以上过程,可以用N=6的线性缓冲区示意图来说明,如图所示:循环缓冲区法下图说明了使用循环寻址实现FIR滤波器的方法。对于N级FIR滤波器,在数据存储区开辟一个称为滑窗的具有N个单元的缓冲区,滑窗中存放最新的N个输入样本值。每次输入新的样本时,新的样本将改写滑窗中最老的数据,其他数据则不需要移动。用循环缓冲区实现FIR滤波器编程实现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_BUFF-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 newest 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【例】用循环缓冲区和双操作数寻址方法编写实现FIR滤波的程序。1FIR滤波器设计设计一个FIR低通滤波器,通带边界频率为1500Hz,通带波纹小于1dB;阻带边界频率为2000Hz,阻带衰减大于40dB;采样频率为 8000Hz。FIR滤 波 器 的 设 计 可 以 用MATLAB窗函数法进行。2产生滤波器输入信号的文件按照通常的程序调试方法,先用Simulator逐步调试各子程序模块,再用硬件仿真器在实际系统中与硬件仪器联调。使用CCS的Simulator进行滤波器特性测试时,需要输入时间信号x(n)。本例设计一个采样频率Fs为8000Hz,输入信号频率为1000Hz和2500Hz的合成信号,通过设计的低通滤波器将2500Hz信号滤掉,余下1000Hz信号。3编写FIR数字滤波器的汇编源程序FIR数字滤波器汇编程序fir.asm如下:*一 个 FIR滤 波 器 源 程 序 fir.asm*.mmregs.global start.def start,_c_int00INDEX.set 1KS.set 256;输入样本数据个数COEF_FIR.sect COEF_FIR;FIR滤波器系数N .set 17;FIR滤波器阶数.word 0,158,264,-290,-1406,-951,3187,9287,12272.word9287,3187,-951,-1406,-290,264,158,0.dataINPUT.copy firin.inc;输输入入数数据据在在数数据据区区0 x2400OUTPUT.space1024;输出数据在数据区输出数据在数据区0 x2500COEFTAB.usectFIR_COEF,NDATABUF.usectFIR_BFR,NBOS.usectSTACK,0FhTOS.usectSTACK,1.text.asg AR0,INDEX_P.asgAR4,DATA_P;输输入入数数据据x(n)循循环环缓冲区指针缓冲区指针.asgAR5,COEF_P;FIR系数表指针系数表指针.asg AR6,INBUF_P;模拟输入数据指针模拟输入数据指针.asgAR7,OUTBUF_P;FIR滤滤波波器器输输出出数数据据指针指针_c_int00b start nopnopstart:SSBxFRCT ;小数乘法编程时,设置小数乘法编程时,设置FRCT(小数方式小数方式)位位MVPD#COEF_FIR,*COEF_P+STM#INDEX,INDEX_PSTM#DATABUF,DATA_P;数数据循环缓冲区清零据循环缓冲区清零RPTZA,#N-1STLA,*DATA_P+STM#(DATABUF+N-1),DATA_P;数数据循环缓冲区指针指向据循环缓冲区指针指向xn-(N-1)STM#COEFTAB,COEF_PSTM#COEFTAB,COEF_P;将将FIR系系数数从从程序存储器移到数据存储器程序存储器移到数据存储器RPT#N-1 FIR_TASK:STM#INPUT,INBUF_PSTM#OUTPUT,OUTBUF_P STM#KS-1,BRCRPTBDLOOP-1STM#N,BK;FIR循环缓冲区大小循环缓冲区大小LD*INBUF_P+,A;装载输入数据装载输入数据FIR_FILTER:;FIR滤波运算滤波运算STLA,*DATA_P+%;用用最最新新的的样样本本值值替替代代最旧的样本值最旧的样本值RPTZA,N-1MAC*DATA_P+0%,*COEF_P+0%,ASTHA,*OUTBUF_P+.end4编写FIR滤波器链接命令文件对应以上汇编程序的链接命令文件fir.cmd如下:MEMORYPAGE 0:ROM1(RIX):ORIGIN=0080H,LENGTH=100HPAGE 1:INTRAM1(RW):ORIGIN=2400H,LENGTH=0200H INTRAM2(RW):ORIGIN=2600H,LENGTH=0100H将输出文件名改成,如果不使用-o,则输出文件省缺名为。-m选择项建立映射列表文件,该映射列表描述存储器划分、输入与输出断的位置以及外部符号重新定位后的地址。PAGE说明一个存储器空间,用户最多可以说明255页。通常,page0是程序存储器,page1是数据存储器。INTRAM3(RW):ORIGIN=2700H,LENGTH=0100HB2B(RW):ORIGIN=0070H,LENGTH=10H SECTIONS.text:ROM1PAGE 0.data :INTRAM1 PAGE 1FIR_COEF:INTRAM2 PAGE 1FIR_BFR:INTRAM3 PAGE 1.stack :B2B PAGE 1 程序代码装入ROM区5CCS集成开发环境下上机操作过程(1)在CCS上建立fir工程并运行程序。(2)观察输入信号的波形及频谱(如图7-137-15所示)。(3)观察输出信号的波形及频谱(如图7-16、7-17所示)。图7-13 Graph 属性设置窗口 图7-14 输入信号的时域波形 图7-15 输入信号的频谱图 图7-16 滤波器输出信号时域波形 图7-17 滤波器输出信号频谱图

    注意事项

    本文(《数字滤波器实现》PPT课件.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开