文档

buttap

巴特沃斯滤波器样机

语法

[z,p,k] = buttap(n)

描述

[z,p,k] = buttap(n)返回一个order的极点和增益n巴特沃斯模拟低通滤波器原型。函数返回长度中的极点n列向量p增益是标量kz是一个空矩阵,因为没有0。传递函数是

H 年代 z 年代 p 年代 k 年代 p 1 年代 p 2 年代 p n

巴特沃斯滤波器的特征是在通带中最大程度地平坦和整体单调的幅度响应。在低通的情况下,第一个2n响应平方的-1导数在ω = 0处为零。幅值响应函数的平方为

| H ω | 2 1 1 + ω / ω 0 2 n

对应于一种传递函数,其极点在左半平面上绕圆均匀分布。在截止角频率ω处的幅值响应0总是 1 / 2 不管过滤器的顺序。buttap集ω01表示归一化结果。

请注意

这个函数buttap返回0、极点和增益(z, p, k)在MATLAB®.然而,生成的C/ c++代码用于buttap只返回极点p并获得k从零z总是一个空矩阵。

例子

全部折叠

设计一个9阶巴特沃斯模拟低通滤波器。显示其大小和相位响应。

[z,p,k] = buttap(9);巴特沃斯滤波器原型[num,den] = zp2tf(z,p,k);%转换为传递函数形式频率(num穴)模拟滤波器的频率响应

算法

Z = [];P = exp(√(-1)*(pi*(1:2:2*n-1)/(2*n)+pi/2)).';K = real(prod(-p));

参考文献

[1]帕克斯,t.w.和c.s. Burrus。数字滤波器设计。纽约:约翰·威利父子出版社,1987年,第7章。

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

R2006a之前介绍过