有限冲击响应滤波器(FIR)算法实验.doc_第1页
有限冲击响应滤波器(FIR)算法实验.doc_第2页
有限冲击响应滤波器(FIR)算法实验.doc_第3页
有限冲击响应滤波器(FIR)算法实验.doc_第4页
有限冲击响应滤波器(FIR)算法实验.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

淮阴师范学院物理与电子电气工程学院DSP课程设计报告学生姓名许进学 号170907032班 级0907专 业电子信息工程题 目有限冲击响应滤波器(FIR)算法实验指导教师潘建2012年5月dsp课程设计报告一、设计指标1.1课题研究 随着集成电路技术的发展,各种新型的大规模和超大规模继承电路不断涌现集成电路技术与计算机技术结合在一起使得对数字信号处理系统功能的要求越来越强。DSP技术基于VLSI技术和计算机技术发展起来的一门技术。用可编程DSP芯片实现数字滤波器可通过修改滤波器的参数十分方便的改变滤波器的特性,因此将通过DSP设计平台来实现FIR。本课题的研究将为今后设计DSP核心部件的嵌入式系统集成提供技术准备。1.2研究要求1)掌握用窗函数法设计FIR数字滤波器的原理和方法;2) 熟悉线性相位FIR数字滤波器特性;3)了解各种窗函数对滤波特性的影响。二、 总体设计方案2.1设计要求 利用C语言在CCS环境中编写一个FIR滤波器程序,并能利用以设计好的滤波器对常用信号进行滤波处理。2.2 CCS开发环境 CCS加速和增强了实时,嵌入信号处理的开发过程,它提供了配置,构建,调试,跟踪和分析程序的功能。CCS功能如图2.2.1所示,CCS基本开发环境如图2.2.2所示 图2.2.1 CCS功能 图2.2.2 CCS基本开发环境2.3 设计思路 在TMS320C54X系统开发环境CCS下对FIR滤波器的DSP实现原理进行讨论。利用C语言设计相应的滤波器,通过实验仿真,从输入信号和输出信号的时域和频域曲线可以看出在DSP上实现的FIR滤波器能完成预定的滤波任务。2.4 设计方框图三、设计原理分析3.1 FIR滤波器的基本原理 设h(n)(n=0,1,2N-1)为滤波器的冲击响应,输入信号x(n),则FIE滤波器就是实现下列差分方程: 式(1)是FIR滤波器的差分方程。FIR滤波器的最主要的特点就是没有反馈电路,因此它是无条件稳定系统。它的单位脉冲响应h(n)是一个有限长序列。对(1)式进行Z变换,整理后得FIR滤波器的传递函数为: 所以FIR滤波器的一般结构如图3.1.1所示: 图3.1.1 FIR滤波器的结构3.2 FIR滤波器的设计方法 要设计一个FIR滤波器就是要求出它的冲击响应系数h(n),设计方法主要有窗函数法和频率抽样法。 理想的低通滤波器的频率响应Hd(w)是一个矩形,这意味着它在时域上是无限长的序列,这在实际上是不可能实现的。因此要采取某种方法截断Hd(n),可以用一个有限长度的窗函数序列w(n)与之相乘。因此对窗函数的分析和选择是设计FIR滤波器的关键问题。3.3电路安装与调试过程 A实验前准备1) 正确完成计算机、DSP仿真器和实验箱连接后,开关K9拨到右边,即仿真器选择连接右边的CPU:CPU2; 2)“A/D转换单元”的拨码开关设置:拨码开关设置:码位备注1ON: 将“模拟信号源”单元的信号输入到AD78222OFF: 3OFF: 4OFF: 5OFF: 6OFF: SW2拨码开关SW2备 注1234码位ONONONONAD7822的采样时钟为250KHZ,且中断给CPU2的中断23)检查:计算机、DSP仿真器、实验箱是否正确连接,系统上电; 4)置拨码开关S23的1、2拨到OFF,用示波器分别观测模拟信号源单元的2号孔“信号源1”和“信号源2”输出的模拟信号,分别调节信号波形选择、信号频率、信号输出幅值等旋钮,直至满意,置拨码开关S23的1到ON,两信号混频输出; 本样例实验程序建议:采用两路正弦波信号的混叠信号作为输入信号; 低频正弦波信号:幅值 5V,频率70KHz; 可在2号孔“信号源1”点用示波器观察混叠信号。 B实验 启动CCS 2.0,Project/Open打开“Algorithm”目录中“Exp02_cpu2”子目录下“Exp-FIR-AD.pjt”工程文件;双击“Exp-FIR-AD.pjt” 及“Source”可查看各源程序;加载“Exp-FIR-AD.out”;在主程序中,在flag = 0处设置断点;单击“Run”运行程序,程序将运行至断点处停止;用View / Graph / Time/Frequency打开一个图形观察窗口;设置观察图形窗口变量及参数为:采用双踪观察启始地址分别为x和y,长度为256的单元中数值的变化,数值类型为32位浮点型变量,这两个数组中分别存放的是经A/D转换后的输入混叠信号(输入信号)和对该信号进行FIR滤波的结果; 单击“Animate”运行程序,或按F10运行程序;调整观察窗口并观察滤波结果;单击“Halt”暂停程序运行,激活“Exp-FIR-AD.c”的编辑窗口;实验程序说明:该程序为51阶FIR低通滤波器算法程序,采用矩形窗函数实现,数组h和xmid长度均为51,fs为采样频率,fstop为滤波器截止频率,可以修改以上参数来改变滤波器性能。重新“Rebuild All”后,重新加载,单击“Animate”,可得到不同的实验结果。实验结果:在CCS2.0环境,同步观察输入信号及其FIR低通滤波结果。3.4电路测试与使用说明3.4.1FIR程序参数说明系统函数对应的常系数线性差分方程:程序参数说明:输入信号:输入信号经A/D转换后,写入数组x,长度256,32位浮点型;输出信号:FIR低通滤波器输出,写入数组y,长度256,32位浮点型。3.4.2系统程序代码#pragma CODE_SECTION(vect,vect)#include stdio.h#include math.h#define pi 3.1415927#define IMR *(pmem+0x0000) #define IFR *(pmem+0x0001) #define PMST *(pmem+0x001D) #define SWCR *(pmem+0x002B) #define SWWSR *(pmem+0x0028) #define AL *(pmem+0x0008) #define CLKMD 0x0058 /* clock mode reg*/#define Len 256#define FLen 51double npass,hFLen, xLen, yLen, xmidFLen;void firdes (double npass);unsigned int *pmem=0;ioportunsigned charport8002;int in_xLen;int m = 0;int intnum = 0;double xmean=0;int i=0;int flag = 0;double fs,fstop,r,rm;int i,j,p,k=0;void cpu_init() *(unsigned int*)CLKMD=0x0; /switch to DIV mode clkout= 1/2 clkin while(*(unsigned int*)CLKMD)&01)!=0); *(unsigned int*)CLKMD=0x27ff; /switch to PLL X 10 modePMST=0x3FA0;SWWSR=0x7fff;SWCR=0x0000;IMR=0;IFR=IFR; interrupt void int2() in_xm = port8002;in_xm &= 0x00FF;m+;intnum = m;if (intnum = Len)intnum = 0;xmean = 0.0;for (i=0; iLen; i+)xmean = in_xi + xmean;xmean = 1.0*xmean/Len;for (i=0; iLen; i+)xi = (double)(in_xi - xmean);for (i=0; iLen; i+)for (p=0; pFLen; p+) xmidFLen-p-1 = xmidFLen-p-2; xmid0 = xi; r = 0;rm= 0; for (j=0; jFLen; j+) r = xmidj * hj;rm = rm + r; yi = rm; m=0;flag = 1; void firdes(double npass) int t; for (t=0; tFLen; t+) ht = sin(t-(FLen-1)/2.0)*npass*pi)/(pi*(t-(FLen-1)/2.0); if (t = (FLen-1)/2) ht=npass; void set_int() asm( ssbx intm);IMR=IMR|0x0004; asm( rsbx intm); void main(void)cpu_init(); fs = 250000; fstop = 20000; npass = fstop/fs; for (i=0; iFLen; i+) xmidi=0; firdes(npass);set_int();for(;)if (flag = 1) flag = 0; /* set breakpoint here */void vect() asm( .ref _c_int00); /*pseudoinstruction*/ asm( .ref _int2); asm( b _c_int00); /* reset */ asm( nop); asm( nop); asm( rete); asm( nop); asm( nop); asm( nop); asm( rete); asm( nop); asm( nop); asm( nop); asm( rete); asm( nop); asm( nop); asm( nop); asm( rete); asm( nop); asm( nop); asm( nop); asm( rete); asm( nop); asm( nop); asm( nop); asm( rete); asm( nop); asm( nop); asm( nop); asm( rete); asm( nop); asm( nop); asm( nop); asm( rete); asm( nop); asm( nop); asm( nop); asm( rete); asm( nop); asm( nop); asm( nop); asm( rete); asm( nop); asm( nop); asm( nop); asm( rete); asm( nop); asm( nop); asm( nop); asm( rete); asm( nop); asm( nop); asm( nop); asm( rete); asm( nop); asm( nop); asm( nop); asm( rete); asm( nop); asm( nop); asm( nop); asm( rete); asm( nop); asm( nop); asm( nop); asm( rete); /* int0 */ asm( nop); asm( nop); asm( nop); asm( rete); /* int1 */ asm( nop); asm( nop); asm( nop); asm( b _int2); /* int2 */ asm( nop); asm( nop); asm( rete); /* tint0 */ asm( nop); asm( nop); asm( nop); asm( rete); /* brint0 */ asm( nop); asm( nop); asm( nop); asm( rete); /* bxint0 */ asm( nop); asm( nop); asm( nop); asm( rete); /* dmac0 */ asm( nop); asm( nop); asm( nop); asm( rete); /* tint1 */ asm( nop); asm( nop); asm( nop); asm( rete); /* int3 */ asm( nop); asm( nop); asm( nop); asm( rete); /* hpint */ asm( nop); asm( nop); asm( rete); /* brint1 */ asm( nop); asm( nop); asm( nop); asm( rete); /* bxint1 */ asm( nop); asm( nop); asm( nop); asm( rete); /* dmac4 */ asm( nop); asm( nop); asm( nop); asm( rete); /* dmac5 */ asm( nop); asm( nop); asm( nop); asm( nop); asm( nop); asm( nop); asm( nop); asm( nop); asm( nop); asm( nop);四、仿真图 1.标准方波,频率为300Hz,振幅为1000mv。滤波前后的波形图和频谱图如下所示: 图 4.1.1标准方波波形图 图4.1.2标准方波滤波前频谱图 图4.1.3标准方波滤波后 图4.1.4标准方波滤波后频谱图 五、总结在数字信号处理中,滤波占有极其重要的地位。FIR滤波器以其优越的性能,在信号处理中占有很重要的地位,利用DSP芯片实现FIR数字滤波,不仅准确度高,执行速度快等特点,而且用程序可

温馨提示

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

评论

0/150

提交评论