欢迎来到天天文库
浏览记录
ID:30777923
大小:526.00 KB
页数:10页
时间:2019-01-03
《基于matlab的滤波器设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.光电图像课程设计报告书课题名称基于matlab的滤波器设计一、设计任务及要求:设计任务:如何用matlab来实现滤波。...要求:1.选图像,并输入;2.采用butter命令,设计一个巴特沃斯低通滤波器,以此实现信号的滤波;3.在同一面上显示滤波前后的所有的图像和程序;4.使用MATLAB分别实现IIR滤波器和FIR滤波器;指导教师签名:年月日二、指导教师评语:指导教师签名:年月日三、成绩验收盖章年月日图像复原的MATLAB实现1课程设计目的(1)了解基于matlab的滤波器处理及其基本操作;(2)学习MATLAB在滤
2、波器中的使用;...(3)提高学习与解决问题的能力。2课程设计基本内容2.1滤波器的基本原理2.1.1设计数字滤波器的任务就是寻求一个因果稳定的线性时不变系统,并使系统函数H(z)具有指定的频率特性。数字滤波器从实现的网络结构或者从单位冲激响应分类,可以分成无限单位冲激响应(IIR)数字滤波器和有限长单位冲激响应(FIR)数字滤波器。数字滤波器频率响应的三个要素:(1)幅度平方响应(2)相位响应(3)群时延响应IIR数字滤波器:IIR数字滤波器的系统函数为有理分数,即IIR数字滤波器的逼近问题就是求解滤波器的系数和,使得
3、在规定的物理意义上逼近所要求的特性的问题。如果是在s平面上逼近,就得到模拟滤波器,如果是在z平面上逼近,则得到数字滤波器。FIR数字滤波器:设FIR的单位脉冲响应h(n)为实数,长度为N,则其z变换和频率响应分别为按频域采样定理FIR数字滤波器的传输函数H(z)和单位脉冲响应h(z)可由它的N歌频域采值H(k)唯一确定。MATLAB中提供了几个函数,分别用于实现IIR滤波器和FIR滤波器。(1)卷积函数conv,调用格式为,c=conv(a,b)该格式可以计算两向量a和b的卷积,可以直接用于对有限长信号采用FIR滤波器的
4、滤波。(2)函数filter的调用格式为,y=filter(b,a,x)...该格式采用数字滤波器对数据进行滤波,既可以用于IIR滤波器,也可以用于FIR滤波器。其中向量b和a分别表示系统函数的分子,分母多项式的系数,若a=1,此时表示FIR滤波器,否则就是IIR滤波器。该函数就是利用给出的向量b和a,对x中的数据进行滤波,结果放入向量y。(1)函数fftfilt的调用格式为,y=fftfilt(b,x)该格式是利用基于FFT的重叠相加法对数据进行滤波,这种频域滤波技术只对FIR滤波器有效。该函数是通过向量b描述的滤波器
5、对x数据进行滤波。关于用butter函数求系统函数分子与分母的几种形式。[b,a]=butter(N,wc,‘high’):设计N阶高通滤波器,wc为它的3dB边缘频率,以Hz为单位。[b,a]=butter(N,wc):当wc为具有两个元素的矢量wc=[w1,w2]时,它设计2N阶带通滤波器,3dB通带,以Hz为单位。[b,a]=butter(N,wc,‘stop’):若wc=[w1,w2],则它设计2N阶带阻滤波器,3dB通带,以Hz为单位。如果在这个函数输入变元的最后,加一个变元“s”,设计的是模拟滤波器。这里不作
6、讨论。为了设计任意的选项巴特沃斯滤波器,必须知道阶数N和3dB边缘频率矢量wc。这可以直接利用信号处理工具箱中的buttord函数来计算。如果已知滤波器指标,,和,则调用格式为[N,wc]=buttord(wp,ws,Rp,As)对于不同类型的滤波器,参数wp和ws有一些限制:对于低通滤波器,wpws;对于带通滤波器,wp和ws分别为具有两个元素的矢量,wp=[wp1,wp2]和ws=[ws1,ws2],并且ws17、滤波器与MATLAB简介(1)滤波器示例:在这里为了说明如何用matlab来实现滤波,特举出一个简单的函数信号滤波实例(对信号x(n)=sin(n/4)+5cos(n/2)进行滤波,信号长度为500点),从中了解滤波的实现过程。程序如下:Wn=0.2*pi;N=5;...[b,a]=butter(N,Wn/pi);N=0:1:499;x=sin(pi*n/4)+5*cos(pi*n/2);X=fft(x,4096);Subplot(2,2,1);plot(x);title(‘滤波前信号的波形’);Subplot(2,2,8、2);plot(X);title(‘滤波前信号的频谱’);y=filter(b,a,x);Y=fft(y,4096);Subplot(2,2,3);plot(y);title(‘滤波后信号的波形’);Subplot(2,2,4);plot(Y);title(‘滤波后信号的频谱’);结果如图:在这里,是采用了butte
7、滤波器与MATLAB简介(1)滤波器示例:在这里为了说明如何用matlab来实现滤波,特举出一个简单的函数信号滤波实例(对信号x(n)=sin(n/4)+5cos(n/2)进行滤波,信号长度为500点),从中了解滤波的实现过程。程序如下:Wn=0.2*pi;N=5;...[b,a]=butter(N,Wn/pi);N=0:1:499;x=sin(pi*n/4)+5*cos(pi*n/2);X=fft(x,4096);Subplot(2,2,1);plot(x);title(‘滤波前信号的波形’);Subplot(2,2,
8、2);plot(X);title(‘滤波前信号的频谱’);y=filter(b,a,x);Y=fft(y,4096);Subplot(2,2,3);plot(y);title(‘滤波后信号的波形’);Subplot(2,2,4);plot(Y);title(‘滤波后信号的频谱’);结果如图:在这里,是采用了butte
此文档下载收益归作者所有