FIR低通滤波器设计.doc_第1页
FIR低通滤波器设计.doc_第2页
FIR低通滤波器设计.doc_第3页
FIR低通滤波器设计.doc_第4页
FIR低通滤波器设计.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

武夷学院数字信号与处理(DSP)课程设计报告设计题目:FIR低通滤波器设计班级:08电信2班姓名:学号:200840820指导老师:设计时间:2011年11月28日至2011年12月11日一、 设计任务及要求。设计任务:通带边缘频率 10kHz,阻带边缘频率 25kHz,阻带衰减75dB,采样频率 50kHz的低通滤波器。 二、 总体设计思路及功能描述(附框图)。有限冲击响应滤波原理:数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列。一个线性位移不变系统的输出序列yn与输入序列xn之间的关系,应满足常系数线性差分方程:式中,X(n)为输入序列;Y(n)为输出序列;和为滤波器系数;N为滤波器阶数。若所有的均为0,则得到FIR滤波器的差分方程为对这式进行Z变换,整理后可得FIR滤波器的传递函数为FIR滤波器的结构图如下:+ FIR滤波器的单位冲激响应是一个有限长序列。若为实数,且满足偶对称或奇对称的条件,即或,则FIR滤波器具有线性相位特性。偶对称线性相位FIR滤波器的差分方程为 式中,N为偶数。 在数字滤波器中,FIR滤波器无反馈回路,是一种无条件系统;并且可以设计成具有线性相位特性。FIR数字滤波器阶数计算: -过渡带宽度=阻带边缘频率-通带边缘频率=25-10=15kHz -采样频率: f1=通带边缘频率+(过渡带宽度)/2=10000+15000/2=12.5kHz 1=2f1/fs=0.64 -理想低通滤波器脉冲响应: h1n=sin(n1)/n/=sin(0.64n)/n/ -根据要求,选择布莱克曼窗,窗函数长度为: N=5.98fs/过渡带宽度=5.98*50/15=20-选择 N=20,窗函数为: wn=0.42+0.5cos(2n/24)+0.8cos(4n/24) -滤波器脉冲响应为: hn=h1nwn |n|12 hn=0 |n|12 根据上面计算,各式计算出hn ,然后将脉冲响应值移位为因果序列。 在matlab中算出滤波系数:如下:B=fir1(19,(10+25)/50,blackman(20)B = Columns 1 through 13 -0.0000 -0.0001 -0.0014 0.0055 -0.0060 -0.0123 0.0509 -0.0677 -0.0300 0.5609 0.5609 -0.0300 -0.0677 Columns 14 through 200.0509 -0.0123 -0.0060 0.0055 -0.0014 -0.0001 -0.0000-完成的滤波器的差分方程为: yn=-0.00xn-2-0.00xn-3-0.001xn-4+0.001xn-5-0.006xn-6-0.01xn-7+0.05xn-8-0.07xn-9-0.56xn-10+0.56xn-11-0.03xn-12-0.07xn-13+0.05xn-14-0.01xn-15-0.006xn-16+0.006xn-17-0.001xn-18-0.00xn-19FIR数字滤波器设计方法由:窗函数法、频率抽样法。窗函数法分为固定窗和可变窗。窗函数法窗函数法的设计思想是按照所要求的理想滤波器频率响应,设计一个FIR滤波器,使之频率响应来逼近。先由的傅里叶反变换导出理想滤波器的冲激响应序列,即:由于是矩形频率特性,所以是一无限长的序列,且是非因果的,而要计的FIR滤波器的冲激响应序列是有限长的,所以要用有限长的序列h(n)来逼近无限长的序列,最有效的方法是截断,或者说用一个有限长度的窗口函数w(n)序列来截取,即: 。布莱克曼窗 增加一个二次谐波余弦分量,可进一步降低旁瓣,但主瓣宽度进一步增加,增加N可减少过渡带。频谱的幅度函数为: +0.04程序功能顺序图 调用波形发生子程序产生混叠的波形(高频+低频)调用fir滤波子程序计算当前输出开始初始化工作变量波形发生计算步长用标准C的sin函数和cos函数计算当前波形值返回波形值Fir滤波用滤波器系数乘以保存的N-1个输入值和当前输入值并求和返回计算结果调试的步骤及调试过程中出现的问题以及解决方法。1.连接实验箱2设置Code Composer Studio 2.21 在硬件仿真(Emulator)方式下运行:-设置CCS 通过ICETEK-5100USB 仿真器连接ICETEK-VC5416-AR 硬件环境进行软件调试和开发单击桌面上图标: 进入CCS 设置窗口。(2)在出现的窗口如下图先点击Clear,选择“是”;之后选择VC5409 Emulator配置,单击 “ import”输入配置,最后按下Close; (3)接着在下面的窗口中按标号顺序进行如下选择:(4)在出现的窗口按标号顺序进行如下设置:(5)在出现的窗口按标号顺序进行如下设置:以上设置完成后,CCS 已经被设置成Emulator 的方式(用仿真器连接硬件板卡的方式),并且指定通过ICETEK-5100USB 仿真器连接ICETEK-VC5416-AR 评估板。 3启动Code Composer Studio 2.21:(1)启动Simulator 方式双击桌面上图标(2)启动Emulator 方式首先将实验箱电源关闭。连接实验箱的外接电源线。检查ICETEK-5100USB 仿真器的黑色JTAG 插头是否正确连接到ICETEK-VC5416-AR板的J3 插头上。注:仿真器的插头中有一个孔加入了封针,与J3 插头上的缺针位置应重合,保证不会插错。检查是否已经用电源连接线连接了ICETEK-VC5416-AR 板上的POW1 插座和实验箱底板上+5V 电源插座。检查其他连线是否符合实验要求。检查实验箱上三个拨动开关位置是否符合实验要求。打开实验箱上电源开关(位于实验箱底板左上角),注意开关边上红色指示灯点亮。ICETEK-VC5416-AR 板上指示灯D5 和D6 点亮。如果打开了ICETEK-CTR 的电源开关,ICETEK-CTR 板上指示灯L1、L2 和L3 点亮。如果打开了信号源电源开关,相应开关边的指示灯点亮。用实验箱附带的USB 信号线连接ICETEK-5100USB 仿真器和PC 机后面的USB 插座,注意ICETEK-5100USB 仿真器上指示灯Power 和Run 灯点亮。双击桌面上仿真器初始化图标:如果出现下面提示窗口,表示初始化成功,按一下空格键进入下一步操作。如果出现下面提示窗口,表示初始化成功,按一下空格键进入下一步操作。如果窗口中没有出现“按任意键继续”,请关闭窗口,关闭实验箱电源,再将USB电缆从仿真器上拔出,返回第(2)步重试。如果窗口中出现“The adapter returned an error.”,并提示“按任意键继续”,表示初始化失败,始化失败,请关闭窗口重试两三次,如果仍然不能初始化则关闭实验箱电源,再将USB电缆从仿真器上拔出,返回第(2)步重试。双击桌面上图标:启动CCS2.21。如果进入CCS 提示错误,先选“Abort”,然后用“初始化ICETEK-5100USB2.0 仿真器”初始化仿真器,如提示出错,可多做几次。如仍然出错,拔掉仿真器上USB接头(白色方形),按一下ICETEK-VC5416-AR 板上S1 复位按钮,连接USB 接头,再做“初始化ICETEK-5100 USB2.0 仿真器”。如果遇到反复不能连接或复位仿真器、进入CCS 报错,请打开Windows 的“任务管理器”,在“进程”卡片上的“映像名称”栏中查找是否有“cc_app.exe”,将它结束再试。4、新建一个工程文件(1)选择菜单“Project”的“New”项按编号顺序操作建立20084082047pjt 工程文件:(2)在工程文件中添加程序文件:选择菜单“Project”的“Add Files to Project”项;在“Add Files to Project”对话框中选择文件目录为C:ICETEK-VC5416-EDULabLab0402- LedArrayLedArray.pjt,改变文件类型为“C Source Files(*.c;*.ccc)”,选择显示出来的文件“fir.c”;重复上述各步骤,添加fir.cmd文件到20084082047工程中;添加C:tiC5400cgtoolslibrts.lib。5、打开工程文件:将系数放入fHn数组中:-0.00, -0.000,-0.001 ,0.006,-0.006, -0.012,0.051, -0.068,-0.03, 0.56, 0.56, -0.03, -0.068,0.05,-0.012,-0.006, 0.0056, -0.001, -0.00, -0.006、编译、下载程序。选择菜单“Project”的“Rebuild All”项,或单击工具条中的按钮;注意编译过程中CCS 主窗口下部的“Build”提示窗中显示编译信息,最后将给出错误和警告的统计数。7、运行程序观察结果:波形发生程序的结果: 低通滤波后的结果:8、结束程序运行,退出CCS。设计心得体会通过这次课程设计,我了解了fir低通滤波器的基本原理及设计方法,对dsp课程的了解更加深入,此外,也知道了团队合作的重要性,虽然是一个人一组,但是各组之间相互讨论更加深了大家对此课程的认识。这个课程设计让我明白了,付出是有收获的。参考文献 1 吴冬梅,张玉杰,Dsp技术及应用,北京大学出版社1988.177-191 2董锡君,董绍平,模块法设计FIR的数字滤波器的一种新方法。信号处理2002.2:24263附家才,DSP控制工程实践技术,北京化学工业出版社,2005.1691804 胡虎,万球玉,周彤,FIR数字滤波器的DSP实现,哈尔滨理工大学学报。2004.2:122124 1865陈怀深,任意数字滤波器系统函数计算机求解.信号处理,2003.86 胡广书编著,数字信号处理-理论,算法与实现,北京清华大学出版社,1997. 7 李真芳,书涛,黄小宇编著DSP程序开发MATLAB调试及目标代码生成西安电子科技大学出版社,2003.87163附录:(二)程序源文件。/ Example For ICETEK-VC5416-EDU / CTR Version : V4 / Filename: Fir.c / Project : Fir.pjt / Version : 2.00 / Write by: Daniel Hawk / Company : Realtimedsp Co.Ltd. / / All Rights opened & no Onus 2005.06 /#include #define FIRNUMBER 20#define SIGNAL1F 1000#define SIGNAL2F 4500#define SAMPLEF 5000#define PI 3.1415926float InputWave();float FIR();float fHnFIRNUMBER= -0.00, -0.000,-0.001 ,0.006,-0.006, -0.012,0.051, -0.068,-0.03, 0.56, 0.56, -0.03, -0.068,0.05,-0.012,-0.006, 0.0056, -0.001, -0.00, -0.00 ;float fXnFIRNUMBER= 0.0 ;float fInput,fOutput;float fSignal1,fSignal2;float fStepSignal1,fStepSignal2;float f2PI;int i;float fIn256,fOut256;int nIn,nOut;main()nIn=0; nOut=0;f2PI=2*PI;fSignal1=0.0;fSignal2=PI*0.1;fStepSignal1=2*PI/30;fStepSignal2=2*PI*1.4;while ( 1 )fInput=InputWave();fInnIn=fInput;nIn+; nIn%=256;fOutput=FIR();fOutnOut=fOutput;nOut+;/* break point */if ( nOut=256 )nOut=0;float InputWave()for ( i=FIRNUMBER-1;i0;i- )fXni=fX

温馨提示

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

评论

0/150

提交评论