sd 发表于 2015-10-15 10:02

求带通的巴特沃斯滤波器代码

求带通的巴特沃斯滤波器matlab代码,谢谢

sorry 发表于 2015-10-21 15:01

【转贴】巴特沃斯滤波器

  巴特沃斯滤波器是滤波器的一种设计分类,其采用的是巴特沃斯传递函数,有高通、低通、带通、带阻等多种滤波器类型。

  巴特沃斯滤波器在通频带内外都有平稳的幅频特性,但有较长的过渡带,在过渡带上很容易造成失真。
=buttap(n)
n为滤波器的阶数,滤波器的零点z,极点p,增益k

=zp2tf(z,p,k)
将模拟原型滤波器函数设计出的零点z,极点p,增益k,形式转换为传递函数形式

=freqs(b,a,w)
求传递函数的形式

Matlab代码:
n=0:0.01:2;
for i=1:4
switch i
    case 1 ,N=2;%频率点
    case 2 ,N=5;%取4种滤波器
    case 3,N=10;
    case 4,N=20;
end
=buttap ( N );      %设计butterworth滤波器
= zp2tf(z,p,k);          %将零点、极点、增益的形式转换为传递函数
=freqs(b,a,n);         %按n制定的频率点给出频率响应
magH2 = (abs(H)).^2;       %给出传递函数幅度平方
hold on;
plot (w, magH2);               
end
xlabel ('w/wc');
ylabel('|H(jw)|^2');
title('Butterworth');
text(1.5,0.18,'n=2');
text(1.3,0.08,'n=10');
text(1.16,0.08,'n=10');
text(0.93,0.98,'n=20');
grid on;

sd 发表于 2015-10-27 23:25

sorry 发表于 2015-10-21 15:01
【转贴】巴特沃斯滤波器

  巴特沃斯滤波器是滤波器的一种设计分类,其采用的是巴特沃斯传递函数,有高 ...

谢谢,我先试试看
页: [1]
查看完整版本: 求带通的巴特沃斯滤波器代码