基于DSP的IIR数字滤波器(设计实验)(汇编语言)(word文档良心出品)_第1页
基于DSP的IIR数字滤波器(设计实验)(汇编语言)(word文档良心出品)_第2页
基于DSP的IIR数字滤波器(设计实验)(汇编语言)(word文档良心出品)_第3页
基于DSP的IIR数字滤波器(设计实验)(汇编语言)(word文档良心出品)_第4页
基于DSP的IIR数字滤波器(设计实验)(汇编语言)(word文档良心出品)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、IIR数字滤波器(设计实验)、实验目的1. 了解IIR (Infinite Impulse Response,无限冲激响应)滤波器原理及使用方法;2. 了解使用MATLAB语言设计IIR滤波器的方法;3. 了解DSP对IIR滤波器的设计及编程方法;4. 熟悉在CCS环境下对IIR滤波器的调试方法;、实验原理IIR数字滤波器的传递函数H (z)为:其对应的差分方程为:bzH(z)i0 N1a.Zi 1y(n)biX (n i)ay(n j)i0i 1对于直接形式的二阶IIR数字滤波器,其结构如图4.111编程时, 所.2AXY三、实验内容与步骤设计一个三阶的切比雪夫I型带通数字滤波器,3.2kH

2、zf 4.8kHz,内损耗不大于1dB; f 5.6kHz为阻带,其衰减大于20dBo输入 信号频率为4000Hz、6500Hz的合成信号,通过所设计的带通滤波器将号滤掉,余下4000Hz的信号,达到滤波效果。其采样频率Fs =16kHz,其通频带6500Hz信1、IIR滤波器的MATLAB设计在MATLAB中设计IIR滤波器,程序为:wp=3.2,4.8;ws=2.4,5.6;rp=1 ;rs=20n,wn=cheb1ord(wp/8,ws/8,rp,rs)b,a=cheby1(n,rp,wn)设计结果为:N=3wn =0.40000.6000b0=0.0114747a0=1.000000b

3、1=0 b2=-0.034424b3=0b4=0.034424a1=0a2=2.13779a3=0b5=0b6=-0.0114747a5=0a6=0.539758在设计IIR滤波器时,会出现系数1的情况,为了用Q15定点小数格式表示系数,可以用大数去所有系数。为避免在累加过程中出现MATLAB中加入:1的情况,将系数进一步缩小,为此,在a4=1.769356500Hz信号B=round(b/6*2M5);A=round(a/6*2M5);滤波系数为:B=63018801880-63A =546101167509663029482.产生滤波器输入信号的文件使用CCS的Simulator进行滤波器

4、特性的测试时,需要输入时间信号xS)。本设计输入信号频率为4000Hz、6500Hz的合成信号,通过所设计的带通滤波器将滤掉,余下4000Hz的信号。以下是产生输入信号的C语言程序:#inelude #include void main()int i;double f256;FILE *fp;if(fp=fopen(,iirin.incH,Hwtn)=NULL)printf(,can,t open file!nM); return;fprintf(fp,“INPUT:.sect %clNPUT %cn”,for(i=0;iv=255;i+)Ifi=sin(2*3.14159*i*4000/16

5、000)+sin(2*3.14159*i*6500/16000); fprintf(fp,n .word%1dnH,(long)(fi*32768/2);fclose(fp);疔亥程序将产生名为iirin.inc的输入信号程序,内容如下:INPUT: .sect INPUT.word0.word25486.word15136.word-314.word-11585.word19580.word6270.word-30006.word16383然后,在DSP汇编语言程序中通过.copy汇编命令将生成的数据文件iirin.inc复制到汇编程序 中,作为IIR滤波器的输入数据。3.直接型IIR数字滤

6、波器汇编源程序的编写直接型IIR数字滤波器汇编程序iir.asm如下:*直接型|R数字滤波器通用程序*.title ”diir.asm”.mmregsintOO;输入信号x(n)数据;IIR滤波器系数N.set 6.copy “IIRIN.inc“table.word63.word0.word-188.word0.word188.word0.word-63.word0.word+11675.word0.word+9663.word0.word+2948.dataBN.usect”BN“,N+1AN.usect”AN“,N+1INBUF.usect“INBUF”,256OUTPUT.usect“

7、OUTPUT”,256.text;输入缓冲区在数据区0x2400;输出缓冲区在数据区0x2600.global start .def start,_DARAMPAGE 1PAGE 1: SPRAM:ORIGIN=0060H,L ENGTH=0020HDARAM:ORIGIN=0080H, LENGTH=1380HRAM1:ORIGIN=2400H, LENGTH=0200HRAM2:ORIGIN=2600H, LENGTH=0200HSECTIONS.text :) ROMPAGE0.data:DARAM PAGE 1PAGE 1PAGE 1PAGE 1AN :DARAMINBUF :RAM1

8、OUTPUT :RAM2 在CCS建立iir工程并运行iir.out程序。建立iir工程,将iir.asm和iir.cmd添加到工程 中,对汇编程序进行汇编、链接;如果有错误则进行修改、调试,当汇编、链接成功后,力口 载并运行iir.out程序。注意,将iir.asm、iir.cmd、iirin.inc文件和iir.pjt I程文件放在同一文 件夹下。 观察输入信号的波形及频谱。单击 View GraphsTime/Frequency命令,按照如图4.3所示改变各选项。由-cmd可知输入信号的数据放在数据区0x2400开始的256个单元中。rS! Graph Property DialogDi

9、 splay TypeSingle TimeGraph TitleGraphical DisplayStart Address0x2400PageDataAcquisition Buffer Size256Index Increment1Display Data Si ze256DSP Data Type16-bit signed integerQ-value0Sampling Rate Qfz)1Plot Data FromLeft to RightLftMshiftd Data DisplayTesAutosc&leOnDC Value0Axes Displ&yOr QK gce

10、l |Help图4.3 Graph属性设置窗口单击OK按钮,则显示输入信号的时域波形如图4.4所示。其波形是频率为4000Hz和5000Hz正弦信号的合成信号。4.4将图4.3中的Dsiplay Type项改为FFT Magnitude,则显示输入信号的频谱图。如图 所示。图4.4输入信号的时域波形和频谱图 、观察输出信号的波形及频谱。单击View Graph宀Time/Frequency命令,按照如图4.5所示改变各选项。由.cmd可 知输出 信号的数据放在数据区0x2600开始的256个单元中。VS3 Graph Property Dialog冈Display TypeSingle Tim

11、eGrapk Ti tieGraphical Di splayStart Address0x2600PageDataAcquisition Buffer Size256Index Increment1Di splay Data Si ze256DSP Data Type16bit signed integerQ-yalue0Sampling RmtE (Hz lPlot Data FrociLeft to RightfledDisplayYesutoscaleOnDC Value0Axes DisplayOnVnrir | QK gtl |眄图4.5 Graph属性设置窗口将图4.5中的Dsiplay Type项改为FFT Magnitude,则显示输出信号的频谱图。如图 所示。

温馨提示

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

评论

0/150

提交评论