• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

matlab滤波器的设计

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

求出濾波器的階數以及 3dB 截止頻率後,可用相應的 Matlab 函數計算出實現傳遞函數
的分子分母係數來。
巴特沃斯型濾波器是通帶內最大平坦、帶外單調下降型的,其計算命令是:
[b,a] = butter(n,Wn) % 計算數字低通或帶通情況
[b,a] = butter(n,Wn,’ftype’) % 計算數字高通或帶阻情況
[b,a] = butter(n,Wn,’s’) % 計算模擬低通或帶通情況
[b,a] = butter(n,Wn,’ftype’,’s’)% 計算模擬高通或帶阻情況
其中,對於數字濾波器,Wn 就是 3dB 歸一化截止頻率。對於模擬濾波器,Wn 則是未
歸一化的角頻率(單位 rad/s),與 fn 的關係是 Wn=2*pi*fn。當截止頻率參數為 2 個元素的
向量時,為計算帶通或帶阻濾波器,否則是計算高通或低通濾波器的。當 ftype 為 high 時為
計算高通,當 ftype 為 stop 時為計算帶阻。對於數字濾波器而言,返回值 b,a 分別是傳遞
函數 H(z) 的分子和分母多項式的係數矩陣。對於模擬濾波器則返回值 b,a 分別是傳遞函
數 H(s) 的分子和分母多項式的係數矩陣。

切比雪夫 1 型濾波器是通帶等波紋(Equiripple)、阻帶單調下降型的,其計算命令是:
[b,a] = cheby1(n,Rp,Wn) % 計算數字低通或帶通情況
[b,a] = cheby1(n,Rp,Wn,’ftype’) % 計算數字高通或帶阻情況
[b,a] = cheby1(n,Rp,Wn,’s’) % 計算模擬低通或帶通情況
[b,a] = cheby1(n,Rp,Wn,’ftype’,’s’) % 計算模擬高通或帶阻情況

例子

f_N=8000; % 採樣率
f_p=2100; f_s=2500; R_p=3; R_s=25; % 設計要求指標
Ws=f_s/(f_N/2); Wp=f_p/(f_N/2); % 計算歸一化頻率
[n, Wn]=buttord(Wp,Ws,R_p,R_s); % 計算階數和截止頻率
[b,a]=butter(n, Wn); % 計算H(z)
figure(1);
freqz(b,a, 1000, 8000) % 作出H(z)的幅頻相頻圖, freqz(b,a, 計算點數, 採樣率)
subplot(2,1,1); axis([0 4000 -30 3])
figure(2); % 第二種作圖方法
f=0:40:4000; % 計算頻率點和頻率範圍
z=exp(j*2*pi*f./(f_N)); %
H_z=polyval(b,z)./polyval(a,z); % 計算相應頻率點處H(z)的值
subplot(2,1,1); plot(f, 20*log10(abs(H_z))); % 幅頻特性
axis([0 4000 -40 1]);
xlabel(’頻率 Hz’);ylabel(’幅度 dB’);
subplot(2,1,2); plot(f, angle(H_z)); % 相頻特性
xlabel(’頻率 Hz’);ylabel(’相角 rad’);


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Rust: Tcp编程Demo发布时间:2022-07-18
下一篇:
【转】rust中impl关键字的用法(二)---What is the Impl keyword in Rust?发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap