ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:798.87KB ,
资源ID:4890289      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4890289.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Fir低通滤波实验报告.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Fir低通滤波实验报告.docx

1、Fir低通滤波实验报告 CHANGCHUN INSTITUTE OF TECHNOLOGY设计题目: FIR数字低通滤波器 学生姓名: 胡扬、李元林、黄一师、周通 学院名称: 长春工程学院 专业名称: 电子信息工程 班级名称: 电子1041 学 号: 35、29、34、8 完成时间: 2013-12-11 2013年 12月 11日任务分配表班级学号姓名完成主要任务电子104135胡扬程序调试及软件仿真电子104129李元林Protel原理图及PCB图电子104134黄一师 整理报告、协同软件仿真电子10418周通 查找资料 理论研究FIR数字低通滤波器胡扬、李元林、黄一师、周通(电子1041

2、:35、29、34、8)摘 要: 本文设计了一个一种基于Matlab和CCS软件的FIR数字低通滤波器,符合通带边界频率8600Hz,阻带边界频率12000Hz,通带最大衰减3db,阻带最小衰减80db的技术指标。文中深入分析了该滤波器系统设计的功能特点、实现原理以及技术关键,阐述了使用MATLAB进行Fir低通滤波器设计及仿真的具体方法。最后把整个设计方案用CCS编写代码并用Matlab和CCS联合进行仿真。仿真结果与理论相符,因此,该设计方法实现了FIR数字低通滤波。关键词:Fir数字低通滤波器 TMS320VC54xx0 引言 随着电子技术的飞速发展,人们正逐步进入数字化时代,数字滤波器

3、越来越受到人们的关注,并且在近代电信设备和各类控制系统中的应用极为广泛,如语音处理、图像处理、通信、电视、雷达、生物医学信号处理等。数字滤波器根据其冲激响应函数的时域特性,可分为有无限长单位冲激响应(IIR)滤波器和有限长单位冲击响应(FIR)滤波器。IIR滤波器虽然可以利用模拟滤波器设计的结果,方便简单,但它的相位是非线性的。图像处理以及数据传输都要求信道具有线性相位,同时又可以具有任意的幅度特性,而FIR滤波器的单位冲激响应是有限长的,因而滤波器一定是稳定的。随着Matlab软件和信号处理工具箱的不断完善,可以利用Matlab信号处理工具箱快速有效地实现数字滤波器的设计、分析和仿真。1 系

4、统原理及设计方法1.1 FIR滤波器的基本结构FIR滤波器7的单位抽样响应为有限长度,一般采用非递归形式实现。通常的FIR数字滤波器有横截性和级联型两种。FIR滤波器实现的基本结构有:(1)FIR滤波器的横截型结构表示系统输入输出关系的差分方程可写作: 直接由差分方程得出的实现结构如图2-2所示:图1-1、 横截型(直接型卷积型)若h(n)呈现对称特性,即此FIR滤波器具有线性相位,则可以简化加横截型结构,下面分情况讨论:图1-2、N为奇数时线形相位实现结构 图1-3、N为偶数时线性相位实现结构 (2)FIR滤波器的级联型结构将H(z)分解成实系数二阶因子的乘积形式: (1-1) 这时FIR滤

5、波器可用二阶节的级联结构来实现,每个二阶节用横截型结构实现。如图所示:图1-4、 FIR滤波器的级联结构这种结构的每一节控制一对零点,因而在需要控制传输零点时可以采用这种结构。1.2 FIR数字滤波器的设计方法IIR滤波器7的优点是可利用模拟滤波器设计的结果,缺点是相位是非线性的,若需要线性相位,则要用全通网络进行校正。FIR滤波器的优点是可方便地实现线性相位。 FIR滤波器单位冲激响应h(n)的特点:其单位冲激响应h(n)是有限长(),系统函数为: (1-2)在有限Z平面有(N-1)个零点,而它的(N-1)个极点均位于原点z=0处。Fir滤波器线性相位的特点:如果FIR滤波器的单位抽样响应h

6、(n)为实数,而且满足以下任一条件:偶对称h(n)h(N-1-n)奇对称h(n)-h(N-1-n)其对称中心在n(N-1)/2处,则滤波器具有准确的线性相位。窗函数设计法: 一般是先给定所要求的理想滤波器频率响应,由导出,我们知道理想滤波器的冲击响应是无限长的非因果序列,而我们要设计的是是有限长的FIR滤波器,所以要用有限长序列来逼近无限长序列,设: (1-3) 常用的方法是用有限长度的窗函数w(n)来截取 即: (1-4) 这里窗函数就是矩形序列RN(n),加窗以后对理想低通滤波器的频率响应将产生什么样的影响呢?根据在时域是相乘关系,在频域则是卷积关系: (1-5) 其中,为矩形窗谱, 是F

7、IR滤波器频率响应. 通过频域卷积过程看的幅度函数H()的起伏现象,可知,加窗处理后,对理想矩形的频率响应产生以下几点影响:(1)使理想频率特性不连续点处边沿加宽,形成一个过渡带,其宽度等于窗的频率响应的主瓣宽度。(2)在截止频率的两边的地方即过渡带的两边,出现最大的肩峰值,肩峰的两侧形成起伏振荡,其振荡幅度取决于旁瓣的相对幅度,而振荡的多少,则取决于旁瓣的多少。(3)改变N,只能改变窗谱的主瓣宽度,改变的坐标比例以及改变的绝对值大小,但不能改变主瓣与旁瓣的相对比例(此比例由窗函数的形状决定)。(4)对窗函数的要求a、窗谱主瓣尽可能窄,以获取较陡的过渡带;b、尽量减小窗谱的最大旁瓣的相对幅度;

8、即能量集中于主瓣,使肩峰和波纹减小,增大阻带的衰减。频率采样法:窗函数设计法是从时域出发,把理想的hd(n)用一定形状的窗函数截取成有限长的h(n),来近似理想的hd(n),这样得到的频率响应逼近于所要求的理想的频率响应。频率抽样法则是从频域出发,把给定的理想频率响应 加以等间隔抽样得到 ,然后以此 作为实际FIR滤波器的频率特性的抽样值H(k),即 (1-6) 知道H(k)后,由DFT定义可唯一确定有限长序列 h(n),利用这N个频域抽样值H(k)同样利用频率内插公式可得FIR滤波器的系统函数H(z),及频率响应 ,即: 频率抽样法内插公式: (1-7) 频率抽样法小结优点:可以在频域直接设

9、计,并且适合于最优化设计。缺点:抽样频率只能等于 2/N 的整数倍,或等于2/N 的整数倍加上/N。因而不能确保截止频率 的自由取值,要想实现自由地选择截止频率,必须增加抽样点数N,但这又使计算量增大。 为了提高逼近质量,减少通带边缘由于抽样点的陡然变化而引起的起伏振荡。有目的地在理想频率响应的不连续点的边缘,加上一些过渡的抽样点,增加过渡带,减少起伏振荡。 2 系统硬件电路 图 1-5、系统原理框图2.1 复位电路设计 图 2-1、复位电路2.2 电源电路设计 图2-2、电源电路2.3 JTAG电路设计及时钟电路设计 图2-3、 JTAG电路设计及时钟电路3 系统软件设计 图 3-1、系统主

10、流程图4 系统调试与结果分析4.1、Matlab仿真结果 1、利用MATLAB编写程序产生一个由三种频率信号复合的信号; 2、程序运行产生此混合信号的时域图; 图 4-1 3、混合信号的频域图; 图 4-2 4、混合信号经滤波器后的时域图; 图 4-35、混合信号经滤波器后的频域图; 图 4-4 6、用Matlab自带的滤波器设计工具FDAtool设定FIR低通滤波器类型及参数。 在MATLAB左下角的Start菜单中选择Toolboxes-Filter Design-Filter Design & Analysis Tools(fdatool),启动滤波器分析器。启动成功后界面如图4-5 图

11、 4-57、在选项中选择或输入滤波器参数,完成后单机“Design Filter”按钮,实现滤波器设计。结果如图4-6图 4-68、从MATLAB中导出FIR滤波器系数。a.在Fdatool中,选择Targets-Generate C header,产生如下图4-7界面:图4-7b.点击“Export as”,输出系数类型选择为Signed 16-bit integer。然后点击“Generate”,选择路径,即可输出前一步设计出的FIR滤波器的系数表。(假设生成的系数表文件为fdacoefs.h)4.2 CCS仿真1、打开CCS软件,新建工程。2、编写C语言程序、cmd文件,完成后导入工程。

12、3、导入rts.lib文件,在.tic5400cgtoollib文件夹下。4、在编译成功并完成工程建立后产生*.Out文件,在File-Load Program里打开。5、选择File-Data-Load.打开MATLAB生成的input.dat文件。6、将Address设置为input,Length设置为200,Page设置为Data。7、运行程序,点击按钮,程序即开始运行。8、打开View-Graph-Time/Frequency,设置参数图如图4-9: 图 4-89、重复前3个步骤,改变图形选项中的Display Type、Start Address,出现如下图形: 图 4-9、输入数据

13、时域图 图 4-10、输出数据时域图 图 4-11、输入数据频谱 图4-12、输出数据频谱5 结论 本次实习我们成功实现数字信号的Fir低通滤波,当然在这过程中我们遇到了很多困难,尤其是调试程序时,花费了好几天时间,一开始总是Build不成功,后来发现是确少Matlab产生的数据文件和相应头文件,后来通过上网查资料以及和同学讨论最终解决。并且通过本次的课程设计,我明白了细节决定成败这句话的道理,在实验中,有很多注意的地方,都被我忽视了,导致我再花费时间去修改,这严重影响了我试验的进度。同时,在实验中我了解了FIR滤波器的原理,熟练掌握了MATLAB的操作,不仅是我学到了知识,更锻炼了我的动手能

14、力。也进一步认识了CCS 软件的使用,了解了各种窗函数对滤波器特性的影响。参考文献:(1)程佩青;清华大学出版社(2)吴镇扬;高等教育出版社(3)胡广书;清华大学出版社.(4)高西全,丁玉美.数字信号处理.3版.西安:西安电子科技大学出版社,2008年(6)楼顺天,李伯菡.基于Matlab的系统分析与设计.西安;西安电子科技大学出版社(7)周浩敏,王睿.测试信号处理技术.北京航空航天大学出版社 附录一:protel原理图附录二:程序源代码一、Matlab代码:sl=500; %有效信号ns1=5000; %高频噪声1ns2=10000; %高频噪声2fs=25000; %采样频率N=800;

15、%序列长度T=1/fs; %采样周期n=0:N; %序列的长度范围 signal=sin(2*pi*sl*n*T); %离散序列noise1=0.7*sin(2*pi*ns1*n*T);noise2=0.4*sin(2*pi*ns2*n*T);x=(signal+noise1+noise2);%待滤波信号subplot(2,2,1),plot(x) subplot(2,2,2),y=abs(fft(x);%待滤波频谱做1000点FFT,显示幅频特性df=n*(fs/N);plot(df,y) subplot(2,2,3),plot(signal) %所需信号的离散信号的图形 subplot(2

16、,2,4),ysignal=abs(fft(signal);%滤波后频谱df=n*(fs/N);plot(df,ysignal) %滤波数据导出xout=x/max(x); %归一化xto_css=round(32767*xout);%数据取整fid=fopen(input.dat,w); %打开文件fprintf(fid,1651 1 0 0 0n);%输出文件头fprintf(fid,%dn,xto_css); %输出fclose(fid);二、CCS源代码:Iirh.c:#includestdio.h#includefdacoefs.h /头文件包含滤波器的系数#define N 81

17、/定义滤波器的阶数为81阶#define Length 200 /定义缓冲区数组大小为200long yn;int inputLength; /存放输入数据int outputLength; /存放输出数据void main() int i,j; int *x; for(j=0;jLength-1;j+) /循环导入数据 x=&inputj; /指针指向每次导入的数据 yn=0; /每做完一次乘累加后,把值赋给output数组后,从新归0 for(i=0;i15; /把值赋给output数组 while(1); /做完滤波后使程序保持在本循环中三、CCS命令文件:MEMORYPAGE 0: /

18、* program space */ VECS: origin = 0x0100, length = 0x0200 /* 128bytes vector table space */ PROG: origin = 0x0300, length = 0x1F00 /* 8K program memory space */PAGE 1: /* data space */ STCK: origin = 0x2000, length = 0x0800 /* 1K words for stack */ DAT1: origin = 0x2800, length = 0x0100 /* 256 words

19、 for sys data */ DAT2: origin = 0x2900, length = 0x1000 /* 12K words for appl data */SECTIONS .vectors : VECS PAGE 0 /* interrupt vector table */ .text : PROG PAGE 0 /* program code */ .coeffs : PROG PAGE 0 /* initialized parameters */ .data : DAT2 PAGE 1 /* initialized data */ .stack : STCK PAGE 1 /* software stack section */ .variable : DAT1 PAGE 1 /* uninitialized vars for DSP&AIC10 */

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1