有限冲击响应FIR-滤波器的设计完美版_第1页
有限冲击响应FIR-滤波器的设计完美版_第2页
有限冲击响应FIR-滤波器的设计完美版_第3页
有限冲击响应FIR-滤波器的设计完美版_第4页
有限冲击响应FIR-滤波器的设计完美版_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

……装……装………订…………线………有限冲击响应FIR滤波器的设计一、设计目的

1、掌握数字滤波器的设计过程;

2、了解FIR的原理和特性;

3、熟悉设计FIR数字滤波器的原理和方法;

4、学习FIR滤波器的DSP实现原理;

5、学习使用ccs的波形观察窗口观察输入、输出信号波形和频谱变化情况。二、设计内容1、通过MATLAB来设计一个低通滤波器,对它进行模拟仿真确定FIR滤波器系数;2、用DSP汇编语言进行编程,实现FIR运算,对产生的合成信号,滤除信号中高频成分,观察其滤波前后的波型变化。三、设计原理滤波器就是在时间域或频域内,对鼓励产生规定响应的网络。使其能够从信号中提取有用的信号,抑制并衰减不需要的信号,滤波器的设计实质上就是对提出的要求给出相应的性能指标.再通过计算,使物理可实现的实际滤波器响应特性逼近给出的频率响应特性。FIR数字滤波器是一种非递归系统,其传递函数为:H(z)=Y(Z)/X(Z)=∑b(n)z-n由此可得到系统的差分方程为:y〔n)=∑h(i)x(n-i)其激响应h〔n〕是有限长序列,它其实就是滤波器系数向量b(n),N为FIR滤波器的阶数.在数字信号处理应用中往往需要设计线性相位的滤波器,FIR滤波器在保证幅度特性满足技术要求的同时,易做到严格的线性相位特性。为了使滤波器满足线性相位条件,要求其单位脉冲响应h(n)为实序列,且满足偶对称或奇对称条件,即h(n)=h(N-1-n)或h(n)=h(N-1-n)。这样,当N为偶数时,偶对称线性相位F讯滤波器的差分方程表达式为Y(n)=∑h(i)(x(n-i)+x(N-1-n-i))由上可见,FIR滤波器不断地对输入样本x(n)延时后,再做乘法累加算法,将滤波器结果y(n)输出。因此,FIR实际上是一种乘法累加运算。而对于线性相位FIR而言,利用线性相位FIR滤波器系数的对称特性,可以采用结构精简的FIR结构将乘法器数目减少一半。FIR滤波器的单位脉冲h(n)是一个有限长序列。假设h(n)为实数,且满足偶对称或是奇对称的条件,那么FIR滤波器具有相位特性,FIR数字滤波器具有以下几个特点:FIR滤波器无反应回路,是一种无条件稳定系统。四、总体方案设计1、有给定的设计参数,滤波器系数可由MATLAB中的函数产生。2、在CCS中采用汇编源程序来实现FIR数字滤波器步骤1〕:创立工程文件project/new/myproject保存时加后缀。2〕:在file/new/sourcefile进行汇编语言并将其添加到工程文件。3〕:编译汇编链接project/build生成out文件。4〕:file/loadprogram。5〕:执行文件。五、主要参数滤波器阶数为17,a1=a15=0,a2=a14=158,a3=a13=264,a4=a12=-290,a5=a11=-1406,a6=a10=3187,a7=a9=9287,a8=12272。六、设计步骤1、启动CCS,在CCS中建立一个汇编源文件、建立一个C源文件和一个命令文件,并将这三个文件添加到工程,再编译并装载程序。2、设置波形时域观察窗口,得到其滤波前后波形变化图;

3、设置频域观察窗口,得到其滤波前后频谱变化图。七、源程序1、汇编源文件;一个FIR滤波器源程序fir.asm .mmregs .globalstart .def start,_c_int00INDEX .set 1KS .set 256 ;模拟输入数据缓冲区大小N.set17 COFF_FIR .sect"COFF_FIR" ;FIR滤波器系数 .word0 .word158 .word264 .word-290 .word-1406 .word-951 .word3187 .word9287 .word12272 .word9287 .word3187 .word-951 .word-1406 .word-290 .word260 .word158 .word0 .dataINPUT .copy "firin.inc";模拟输入在数据存储区0x2400OUTPUT .space 1024;输出数据在数据区0x2500;FIR_DP .usect "FIR_VARS",0;D_FIN .usect "FIR_VARS",1;D_FOUT .usect "FIR_VARS",1COFFTAB .usect "FIR_COFF",NDATABUF .usect "FIR_BFR",NBOS .usect "STACK",0FhTOS .usect "STACK",1 .text .asg AR0,INDEX_P .asg AR4,DATA_P ;输入数据x(n)循环缓冲区指针 .asg AR5,COFF_P ;FIR系数表指针 .asg AR6,INBUF_P;模拟输入数据指针 .asg AR7,OUTBUF_P;FIR滤波器输出数据指针_c_int00 bstart nop nopstart:ssbxFRCT STM #COFFTAB,COFF_P RPT #N-1 ;将FIR系数从程序存储器移动 MVPD #COFF_FIR,*COFF_P+ ;到数据存储器 STM #INDEX,INDEX_P STM #DATABUF,DATA_P RPTZ A,#N-1 STL A,*DATA_P+ ;将数据循环缓冲区清零 STM #(DATABUF+N-1),DATA_P;数据缓冲区指针指向x[n-(N-1)] STM #COFFTAB,COFF_P ;FIR_TASK:STM #INPUT,INBUF_P STM #OUTPUT,OUTBUF_PSTM #KS-1,BRCRPTBD LOOP-1STM #N,BK ;FIR循环缓冲区大小LD *INBUF_P+,A ;装载输入数据FIR_FILTER: STL A,*DATA_P+% RPTZ A,N-1 MAC *DATA_P+0%,*COFF_P+0%,A STH A,*OUTBUF_P+LOOP:EEND B EEND .end2、链接程序fir.obj-m fir.map-o fir.outMEMORY{ PAGE0:ROM1(RIX) :ORIGIN=0080H,LENGTH=100H PAGE1:INTRAM1(RW):ORIGIN=2400H,LENGTH=0200HINTRAM2(RW):ORIGIN=2600H,LENGTH=0100H INTRAM3(RW):ORIGIN=2700H,LENGTH=0100H B2B(RW) :ORIGIN=0070H,LENGTH=10H}SECTIONS{ .text : {}>ROM1 PAGE0 .data:{}>INTRAM1PAGE1 FIR_COFF:{}>INTRAM2PAGE1 FIR_BFR:{}>INTRAM3PAGE1 .stack:{}>B2BPAGE1}3、执行程序0000:0080FIR.ASM:46:75$,___text__,.text,_c_int000000:0084start0000:0095FIR_TASK0000:00A0FIR_FILTER0000:00A5EEND,LOOP0000:00A7COFF_FIR,etext,___etext__八、实验结果及分析1、设置波形时域观察窗口,得到其滤波前后波形变化图滤波前的波形输入滤波前的波形输出2、设置频域观察窗口,得到其滤波前后频谱变化图滤波前频谱图滤波后频谱图九、设计总结在这次DSP课程设计中,我受益匪浅!这期间学到了更多CCS软件的知识,同时也对这个软件的操作更加熟悉。用DSP实现FIR数字滤波,具有稳定性好、准确度高、灵活性好、不受环境影响等优点。在完成这个设计的过程中我遇到了好多操作问题,好屡次都想放弃,因为有了老师的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论