声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1488|回复: 2

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

[复制链接]
发表于 2015-10-15 10:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
求带通的巴特沃斯滤波器matlab代码,谢谢
回复
分享到:

使用道具 举报

发表于 2015-10-21 15:01 | 显示全部楼层
【转贴】巴特沃斯滤波器

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

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

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

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

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

点评

sd
谢谢,我先试试看  详情 回复 发表于 2015-10-27 23:25
 楼主| 发表于 2015-10-27 23:25 | 显示全部楼层
sorry 发表于 2015-10-21 15:01
【转贴】巴特沃斯滤波器

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

谢谢,我先试试看
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-13 11:08 , Processed in 0.062942 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表