基于matlab的IIR数字滤波器的设计与实现.docx

上传人:lao****ou 文档编号:137930 上传时间:2023-04-11 格式:DOCX 页数:13 大小:616.31KB
下载 相关 举报
基于matlab的IIR数字滤波器的设计与实现.docx_第1页
第1页 / 共13页
基于matlab的IIR数字滤波器的设计与实现.docx_第2页
第2页 / 共13页
基于matlab的IIR数字滤波器的设计与实现.docx_第3页
第3页 / 共13页
基于matlab的IIR数字滤波器的设计与实现.docx_第4页
第4页 / 共13页
基于matlab的IIR数字滤波器的设计与实现.docx_第5页
第5页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于matlab的IIR数字滤波器的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于matlab的IIR数字滤波器的设计与实现.docx(13页珍藏版)》请在第一文库网上搜索。

1、数字信号处理课程设计报告姓 名:韩 斌学 号:200712130专 业:通信工程院 系:信息工程学院指导教师:陈黎霞王玲一、课题名称 基于mat lab的HR滤波器设计二、课题意义数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。它的基本工作原理是利用离散系统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型,与模拟滤波器相比,数字滤波器除了具有数字信号处理的

2、固有优点外,还有滤波精度高(与系统字长有关)、稳定性好(仅运行在0与1两个电平状态)、灵活性强等优点。三、数字滤波器原理在数字滤波中,我们主要讨论离散时间序列。如图1所示。设输入序列为M),离散或数字滤波器对单位抽样序列刈)的响应为M)。因刈)在时域离散信号和系统中所起的作用相当于单位冲激函数在时域连续信号和系统中所起的作用。由)数字滤波器日”x(z)M),h(z)y(z)图1数字滤波器原理数字滤波器的序列y()将是这两个序列的离散卷积,即y() = Z h(k)x(n - k)( 1 )k=g同样,两个序列卷积的Z变换等于个自Z变换的乘积,即r(z)=/(z)x(z)(2)用Z = ”代入上

3、式,其中T为抽样周期,则得到Y(ej(1,T) = H(ejMT )x(ejMT)(3)式中X(/叫和y()分别为数字滤波器输入序列和输出序列的频谱,而为单位抽样序列响应从)的频谱。由此可见,输入序列的频谱X(e)经过滤波后,变为,按照X(/,)的特点和我们处理信号的目的,选取适当的9)使的滤波后的符合我们的要求。四、软件设计过程1、采集声音信号2、语音信号的采样及频谱分析3、添加噪声4、设计滤波器5、语音信号滤波6、对滤波前后信号的波形和频谱进行比较7、GUI界面(选做)五、各部分源程序及相应结果1、原始信号的采集及分析源程序:y 1 ,fs,bits=wavread(,d:q. wav*)

4、;sound(y 1,44000);%播放语音信号y=fft(yl);%对信号做FFT变换f=fs*(0:511)/1024;figure(l)subplot(2,l,l);plot(abs(y(l:512)%做原始语音信号的FFT频谱图title。原始语音信号FFT频谱)subpk)t(2,2);%做原始语音信号的时域图形plot(yl)出1贝原始语音信号波形)xlabelC时间 n);ylabelC幅值 n);2、信号加燥及相关分析源程序:y,Fs,bits=wavread(D:q.wav);%读出信号,采样率和采样位数。y=y(:);取单声道作分析yl=length(y)%求语音信号长度

5、yy=fft(y,yl);%傅里叶变换t=0:1/8000:4 zeros。,yL32001)r;m=0.07*sin(10000*pi*t);% 产生噪声n=y+m;%加入噪声nl=length(n)%求语音信号长度nn=fft(n,nl);%傅里叶变换figure(l);subplot(2,l, 1 );pk)t(n);titleC 噪声信号波形)subpk)t(2,l ,2);plot(y);titleC 原信号波形。figure(2);subplot(2);plot(abs(nn);titleC 噪声信号频谱;subplot(2,l ,2);plot(abs(yy);title(原信号

6、频谱);sound(n,fs)SJ Figure 13、滤波器的设计及相关分析源程序:y,Fs,bits=wavread(D:q.wav);%读出信号,采样率和采样位数。y=y(:);取单声道作分析yl=length(y)%求语音信号长度yy=fft(y,yl);%傅里叶变换t=0:1/8000:4 zeros。,yL32001)r;m=0.07*sin(10000*pi*t);% 产生噪声k=y+m;%加入噪声kl=length(k)%求语音信号长度K=fft(k,kl);%傅里叶变换fb=800;fc=1000;As=100;Ap=l;fs=44000;wc=2*fc/fs; wb=2*f

7、b/fs;n,wn=ellipord(wc,wb,Ap,As);b,a=ellip(n,Ap,As,wn);x=filter(b,a,k);sl=length(x);%求语音信号长度X=fft(x,sl);figure(l);freqz(b,a1000,8000);titleC 滤波茗导幅频相频图)figure(2) ;subplot(3,1 ,l);plot(y);titleC 原信号波形)figure(2);subplot(3,l ,2);plot(k);title(噪声信号波形)figure(2);subplot(3,l,3);plot(x);titleC 滤波后信号波形)figure(

8、3);subplot(3,l1);plot(abs(yy);titleC 原信号频谱);figure(3);subplot(3,2);plot(abs(K);title(噪声信号频谱);figure ;subplot,3);plot(abs(X);title(滤波后信号频谱);sound(x,Fs);Q Figure 1IBI滤波器幅频相频图File Edit View Insert Tools Desktop Window HelpDdl I QIWC底/口国婀4一一.050010001500 2000 2500 300035004000Frequency (H 或0mp) 8pn-c6en

9、(Saal6-S) SEd-500 01000M- 一.-05001000 15002000 2500 300035004000File Edit View Insert Tools Desktop Window Help口官。I诗I0白要国I国0246810121416-4六、设计心得在这次的课程设计过程中,我发现自己的基础知识和应用能力都很差。刚接过课题,按照设计步骤走的时候,在信号的采集和分析上就卡住了,上学期学习的matlab知识都忘得差不多了,以至于这次在设计的时候花费了部分时间来补习如何操作matlab。随着实验的进行,发现自己的数字信号处理课程学得远远不够,不能根据仿真出来的信号

10、频谱对滤波器的参数进行调整以达到最佳的滤波效果。然而,通过这次设计,看了一遍数字信号处理课程关于数字滤波器的设计的内容,再通过利用参考文献与网络,最终完成了用Matlab进行HR数字滤波器的课程设计。加深了对课堂抽象概念的理解,巩固了课堂上所学的理论知识,并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。熟悉了 MATLAB的运行环境,初步掌握了 MATLAB语言在数字信号处理中一些基本库函数的调用和编写基本程序等应用;熟悉了滤波器设计的一般原理,对滤波器有了一个感性的认识;学会了数字高通滤波器设计的一般步骤;加深了对滤波器设计中产生误差的原因以及双线性变换法优缺点的理解和

11、认识。单片机内部一般有若干个定时器,如8051单片机内部有T0和T1两个16位定时器。每个定时器都是由两个8位的特殊功能寄存器THi和TLi组成,因此,T0和T1都可以通过字节传送指令为它们赋初值,以获得不同定时时间所需要的计数值。T0和T1在初始值的基础上,每隔12个时钟周期(一个机器周期),作一次加1运算,当计数器从全1变为全0时自动产生定时器溢出中断请求。MCS-51每个定时器有4种工作方式:方式0是13位计数结构,计数器由THi的8位与TLi的低5位构成;方式1是16位计数结构,计数器由THi的8位与TLi的8位组成;方式2是8位计数结构,计数器由TLi的8位组成,当定时器溢时,THi

12、的值能自动装入TLi中,并在此值基础上自动计数,这与其它的方式不同;在方式3下,也是8位的计数器,并且TO的各控制位和引脚归TLO使用,THO借用T1的各控制位和引脚信号,T1只能按不需要中断的方式2工作。定时器的溢出率在不同的工作方式下不同:工作在方式0时:溢出率=fosc/(12*(213-Z+NR)Z为定时器初值,NR为定时器溢出恢复初值的周期数。恢复初值周期数为从定时器溢出到定时器初值重新装入的时间。该段时间和CPU响应中断以及程序中何时重新装入初值有关。工作在方式1时:溢出率=fosc/(12*溢出-Z+NR)方式1为16位计数器其初值由THi和TLi中的数值确定。工作在方式2时:溢

13、出率=fosc/(12*(28-Z)由于方式2为自动恢复初值的8位计数器,初值由THi确定;由于方式2是自动重装初值,所以NR=O即不存在重装初值的延时。特殊功能寄存器TMOD控制定时寄存器的工作方式,TCON则用于控制定时器TO和T1的启动和停止计数,同时管理定时器TO和T1的溢出标志等。当设置了定时器的工作方式并启动定时器后,定时器就按照被设定的工作方式工作,不需要CPU的干预。当计数器值全为1时,如果再输入一个脉冲则计数值重新回到定时器设置初值,同时把定时器/计数器的溢出标志位(TFO或TF1)置位,作为计数器的溢出标志。当单片机工作在方式1时,若定时/计数值计满溢出后,则定时/计数器的

14、初值将被置零,并继续从THX=0X00, TLO=0X00开始计数。由于定时初值不会被重新装入,所以需要利用程序重新对THX,TLX进行赋值。但赋值操作需要占用一定时间,如果不补偿,则会造成下一次定时/计数溢出中断信号的时间与理想值不符。这样就会产生误差。可以用软件减少误差,有以下几种方法:(1)、用MCS-51内部定时器产生中断响应时的误差由每次重装定时器初值和中断响应时间形成的,所以应该在中断服务程序中考虑定时器赋初值的时间,应该把定时器溢出到定时器初值重新装入的时间加到定时器初值中,即缩短定时器溢出的时间。开启定时器/计数器0,使之开始计时,中断后进入中断程序。自停止计数到、计数又开始,中间执行了 7条指令,也就是延迟了 13个单周期共用时间26us,这样,每个中断的总时间应为100. 026ms,而原来定时是100ms,所以,也就是说每次中断定时多了 26us.这样,可改变计数重装值,使每次中断定时时间为99.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服