matlab butterworth低通滤波器怎么使用?如何设计butterworth低通滤波器原型?
原标题:matlab butterworth低通滤波器怎么使用?如何设计butterworth低通滤波器原型?
matlab butterworth低通滤波器怎么使用?
在MATLAB环境下IIR数字滤波器的典型设计和完全设计等方法。典型设计是先按一定规则将给出的数字滤波器的技术指标转换成模拟低通滤波器的技术指标,据此产生模拟滤波器原型,然后把模拟低通滤波器原型转换成模拟低通、高通、带通、带阻滤波器,最后再把模拟滤波器转换成数字滤波器。完全设计方法中我们利用函数直接设计出低通、高通、带通和带阻滤波器,并分别用巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer)滤波器来实现,并比较了各自的频率响应曲线。
在FIR滤波器的设计中,我们用切比雪夫窗和海明窗设计的带通滤波器的频率响应进行对照,结果表面用海明窗设计的滤波器的频率特性几乎在任何频带上都比切比雪夫窗设计的滤波器的频率特性好,只是海明窗设计的滤波器下降斜度较小。
本文利用不同的滤波器研究了MATLAB环境下的图像处理技术。对一张无锡马山园林的风景照片进行的二种修正,取得了不同的效果。先对原图进行线性变换增加了对比度和亮度对这张图像,图像效果有了一定的改善。后来我们用非锐化滤波器对修正后的图像再进行了处理,对图像的过渡失真进行了补偿。本文还对一幅加噪声婚纱照片的去噪效果进行了研究。比较去噪效果证明,用小波变换的方法进行去噪,图像处理效果更佳。
如何设计butterworth低通滤波器原型?
N=ceil((((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*(OmegaP/OmegaS)));
OmegaC=OmegaP/((10^(Rp/10)-1)^(1/(2*N)));
[z,p,k]=buttap(N);%获取零极点参数
p=p*OmegaC;
k=k*OmegaC^N;
B=real(poly(z));
b0=k;
cs=k*B;
ds=real(poly(p));
%双线性变换
[b,a]=bilinear(cs,ds,FS);
%绘制结果
figure(1);
freqz(b,a,,FS);
%进行滤波验证
figure(2);
f1=50;
f2=;
pi=3.14;
n=0:63;
x=sin(2*pi*f1*n)+sin(2*pi*f2*n);
subplot(2,2,1);
stem(x,'.')
title('输入信号')
y=filter(b,a,x);
subplot(2,2,2);
stem(y,'.')
title('滤波之后的信号');
figure(3);
stem(y,'.')wc=0.2*pi;
N=33;
tao=(N-1)/2;
n=[0:(N-1)];
m=n-tao+0.;
hd=sin(wc*m)./(pi*m);
wd1=boxcar(N)';
b1=hd.*wd1;
wd2=hanning(N)';
b2=hd.*wd2;
wd3=blackman(N)';
b3=hd.*wd3;
wd4=hamming(N)';
b4=hd.*wd4;
[h1,w]=freqz(b1,1);
[h2,w]=freqz(b2,1);
[h3,w]=freqz(b3,1);
[h4,w]=freqz(b4,1);
plot(w,20*(abs(h1)),w,20*(abs(h2)),':',w,20*(abs(h3)),'-.',w,20*(abs(h4)),'--');
legend('矩形窗','汉宁窗','布莱克曼窗','汉明窗');
责任编辑:David
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。