基于matlab的数字滤波器的设计及仿真-_第1页
基于matlab的数字滤波器的设计及仿真-_第2页
基于matlab的数字滤波器的设计及仿真-_第3页
基于matlab的数字滤波器的设计及仿真-_第4页
基于matlab的数字滤波器的设计及仿真-_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

式单击此处编辑母版副标题样式*1数单字击滤波此器处的M编atl辑ab设母计版、仿标真题研究样主要内容前言Matlab下IIR滤波器的设计Matlab下FIR滤波器的设计两个有趣的实验声音滤波图像滤波数字滤波器的分类按功能分:低通、高通、带通、带阻滤波器按滤波器的网络结构分:

IIR滤波器和FIR滤波器 它们的函数分别为:N阶IIR滤波器:N-1阶FIR滤波器:滤波器的指标滤波器的指标常在频域给出数字滤波器的频率响应特性曲线:H(ejw)=

|H(ejw)|ej(w)|H(ejw)|为幅频特性函数,表示信号通过该滤波器后各频率的衰减情况。(w)为相频特性函数,表示信号通过滤波器后在时间上的延时情况。二、MATLAB环境下IIR数字滤波器的设计典型设计先按照一定规则将给出的数字滤波器的技术指标转换成模拟低通滤波器的技术指标,据此产生模拟滤波器原型,然后把模拟低通滤波器原型转换成数字滤波器。完全设计利用函数直接设计出低通、高通、带通和带阻滤波器,用巴特沃斯滤波器来实现。IIR滤波器设计函数1.典型法设计clearWp1=90;Wp2=110;Ws1=80;Ws2=120;

Fs=2000;Rp=1;Rs=20;Wp=[Wp1,Wp2]*2*pi;Ws=[Ws1,Ws2]

*2*pi;Bw=Wp2*2*pi-Wp1*2*pi;Wo=2*pi*sqrt(Wp2*Wp1);[n,Wn]=buttord(Wp,Ws,Rp,Rs,"s");[z,p,k]

=

buttap(n);[b,a]=zp2tf(z,p,k);[Bb,Ab]=lp2bp(b,a,Wo,Bw);[Bbz,Abz]=impinvar(Bb,Ab,Fs);[h,w]=freqz(Bbz,Abz,512);subplot(2,3,1);plot((w/pi)*Fs/2,20*log10(abs(h)));grid;xlabel("w/pi");ylabel("数字带通幅度(dB)")t1=0:1/2000:0.5;A=0.5*sin(2*pi*50*t1);B=sin(2*pi*100*t1);C=2*sin(2*pi*150*t1);subplot(2,3,2);plot(t1,A);subplot(2,3,3);plot(t1,B);subplot(2,3,4);plot(t1,C);D=A+B+C;subplot(2,3,5);plot(t1,D);E=filter(Bbz,Abz,D);subplot(2,3,6);plot(t1,E);滤波器的幅频和相频曲线2.完全滤波器设计clearclose

allt1=0:1/2000:0.25;A=2*sin(2*pi*100*t1);B=sin(2*pi*50*t1);

C=3*sin(2*pi*150*t1);Wp1=90;Wp2=110;Ws1=80;Ws2=120;

Fs=2000;Rp=1;Rs=20;Wp=[Wp1,Wp2];Ws=[Ws1,Ws2];[n,Wn]=buttord(Wp/(Fs/2),Ws/(Fs/2),Rp,Rs);[b,a]=butter(n,Wn);[h,w]=freqz(b,a,512);subplot(2,2,1);plot((w/pi)*Fs/2,20*log10(abs(h)));grid;xlabel("Hz");ylabel("数字带通幅度(dB)")D=A+B+C;E=filtfilt(b,a,D);subplot(2,2,2);plot(t1,A);subplot(2,2,3);plot(t1,D);subplot(2,2,4);plot(t1,E);滤波器的幅频和相频曲线3.FDATOOL设计在Simulink下进行设计MATLAB命令行键入simulink,进入Simulink界面;

选择Signal

Processing

Blockset模块下DSPsources中Sine

Wave来产生信号;选择Sum来叠加三个正弦信号;选择DSP

sinks下的Vector

Scope进行示波;

选择Filtering下的DigitalFilter

Design模块进行滤波器的导入。滤波器的仿真三个信号叠加:滤波后的结果:可见FDAtool设计的滤波器滤波的效果很好!二、MATLAB环境下FIR数字滤波器的设计窗函数法等波纹逼近法频率采样法窗函数法

用窗函数法设计FIR滤波器时,先根据wc和N求出相应的理想滤波器单位脉冲响应hd(n);

选择合适的窗函数w(n)来截取hd(n)的适当长度(即阶数),以保证实现要求的阻带衰减;最后得到FIR滤波器单位脉冲响应:h(n)=

hd(n)*w(n).窗函数法设计滤波器时阶数选择名称近似过度带宽精确过度带宽最小阻带衰减矩形4π/M1.8π/M21dB巴特利特8π/M6.1π/M25dB汉宁8π/M6.2π/M44dB哈明8π/M6.6π/M51dB布莱克曼12π/M11π/M74dB取kaiser窗时用MATLAB中的kaiserord函数来得到长度M任务设计用窗函数法设计一个FIR带通滤波器低端阻带截止频率:wls=0.2π;低端通带截止频率:wlp=0.35π;高端通带截止频率:whp=0.65π;高端阻带截止频率:whs=0.8π;通带最大衰减:Rp=1dB;阻带最小衰减:Rs=60dB.建模Wc=[wlp/π,whp/π];根据阻带衰减选blackman窗(最小阻带衰减为74dB);

其窗口长度由过度带宽B=0.15π决定,blackman窗设计的滤波器过渡带宽为12π/M,故M取80,因为M=N+1,所以N=79.

使用工具箱函数fir1的格式b=fir1(N,wc,window)编程。程序编写clearclose

allwls=0.2*pi;wlp=0.35*pi;whp=0.65*pi;B=wlp-wls;N=ceil(12/0.15);wc=[wlp/pi-6/N,whp/pi+6/N];hn=fir1(N-1,wc,blackman(N));n=0:79;subplot(2,1,1);stem(n,hn,".")[h,w]=freqz(hn,1,256);subplot(2,1,2);plot(w/pi,20*log10(abs(h)));grid;四、两个有趣的实验1、利用MATLAB进行声音滤波:利用MATLAB读取wav格式的声音文件,对

信号进行离散傅里叶变换,得到其频谱图,给

信号加杂音,然后设计一个数字滤波器将杂音

滤除,得到原音,最后比较滤波器的滤波效果。语音读取和加噪clear;close

all;[Y,Fs,NBITS]=WAVREAD("WindowsXP.wav");n=length(Y);f=0:Fs/n:Fs*(n-1)/n;K=0:1/(n-1):1;subplot(2,3,1);plot(K,Y);title("语音信号的时域波形");Y1=fft(Y,n);subplot(2,3,3);plot(f,abs(Y1));title("语音信号的频谱");noise=0.02*sin(2*pi*4000*K);subplot(2,3,2);plot(K(1:50),noise(1:50));title("噪声的时域波形");s=length(noise);noise1=fft(noise,s);subplot(2,3,5);plot(f,abs(noise1));title("噪声的频谱");A=Y"+noise;subplot(2,3,4);plot(K,A);title("含噪语音的时域波形");A1=fft(A,s);subplot(2,3,6);plot(f,abs(A1));title("含噪语音的频谱");使用IIR带阻滤波器滤波fs=4000;fw=200;f0=fs/(Fs/2);fc=fw/(Fs/2);wp=[f0-fc

f0+fc];ws=[f0-0.5*fc

f0+0.5*fc];Ap=1;Rs=30;[n,wc]=buttord(wp,ws,Ap,Rs);[b,a]=butter(n,wc,"stop");figure,freqz(b,a,512);y=filter(b,a,A);y1=fft(y,s);figure,plot(f,abs(y1));sound(y);滤波后的波形图从上图可以看出,滤波器成功的把噪音滤除,用耳机可以听到清晰的声音。2、利用MATLAB进行图像滤波:clear;close

all;I1=imread("xmu.jpg");I2=rgb2gray(I1);I3=imnoise(I2,"salt");[M

N]=size(I3);F=fft2(double(I3));F1=fftshift(F);m1=fix(M/2);n1=fix(N/2);for

u=1:Mfor

v=1:ND=sqrt((u-m1)^2+(v-n1)^2);H(u,v)=1/(1+0.414*(D/50)^8);endendF2=H.*F1;F3=ifftshift(F2);I4=abs(ifft2(F3));subplot(211),imshow(I3,[]);title("含有椒盐噪音的校徽")subplot(212),imshow(I4,[]);title("消除椒盐噪音的校徽")高通滤波clear;close

all;I1=imread("xmu.jpg");I2=rgb2gray(I1);[M

N]=size(I2);F=fft2(double(I2));F1=fftshift(F);m1=fix(M/2);n1=fix(N/2);for

u=1:Mfor

v=1:ND=sqrt

温馨提示

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

评论

0/150

提交评论