牛油

巴特沃斯滤波器设计

描述

[<一个href="//www.tatmou.com/au/help/signal/ref/#bucse3u_sep_shared-ba" class="intrnllnk">B,A] =黄油(<一个href="//www.tatmou.com/au/help/signal/ref/#bucse3u_sep_shared-n" class="intrnllnk">ñ,<一个href="//www.tatmou.com/au/help/signal/ref/#bucse3u-Wn" class="intrnllnk">WN返回的一个传递函数的系数ñ阶低通数字巴特沃思滤波器具有归一化截止频率WN

[<一个href="//www.tatmou.com/au/help/signal/ref/#bucse3u_sep_shared-ba" class="intrnllnk">B,A] =黄油(<一个href="//www.tatmou.com/au/help/signal/ref/#bucse3u_sep_shared-n" class="intrnllnk">ñ,<一个href="//www.tatmou.com/au/help/signal/ref/#bucse3u-Wn" class="intrnllnk">WN,<一个href="//www.tatmou.com/au/help/signal/ref/#bucse3u-ftype" class="intrnllnk">FTYPE设计了一个低通,高通,带通,或带阻巴特沃斯滤波器,这取决于的值FTYPE和的元素的数量WN。将所得的带通和带阻设计是2阶ñ

注意:看到<一个href="//www.tatmou.com/au/help/signal/ref/butter.html" class="intrnllnk">限制有关影响形成的传递函数的数字问题的信息。

[<一个href="//www.tatmou.com/au/help/signal/ref/#bucse3u_sep_shared-zpk" class="intrnllnk">Z,P,K] =黄油(<小号p一个ñclass="argument_placeholder">___设计了一个低通,高通,带通,或带阻数字巴特沃思滤波器并返回它的零点,极点和增益。这句法可以包括任何在以前的语法输入参数。

[<一个href="//www.tatmou.com/au/help/signal/ref/#bucse3u_sep_shared-ABCD" class="intrnllnk">A B C D] =黄油(<小号p一个ñclass="argument_placeholder">___设计了一个低通,高通,带通,或带阻数字巴特沃思滤波器,并返回指定其状态空间的矩阵。

[<小号p一个ñclass="argument_placeholder">___] =黄油(<小号p一个ñclass="argument_placeholder">___, 'S')设计了一个低通,高通,带通,或与截止角频率带阻模拟巴特沃斯滤波器<一个href="//www.tatmou.com/au/help/signal/ref/#bucse3u-Wn" class="intrnllnk">WN

例子

全部收缩

设计第六阶低通巴特沃斯滤波器300赫兹的截止频率,其中,在1000赫兹采样的数据,对应于<小号p一个ñclass="inlineequation"> 0 6 π 弧度/样品。画出它的幅度和相位响应。用它来过滤1000样本随机信号。

FC = 300;FS = 1000;并[b,A] =黄油(6,FC /(FS / 2));freqz(B,A)

DATAIN = randn(1000,1);DATAOUT =滤波器(B,A,DATAIN);

设计一个6阶Butterworth带阻滤波器与标准化边缘频率<小号p一个ñclass="inlineequation"> 0 2 π 和<小号p一个ñclass="inlineequation"> 0 6 π 弧度/样品。画出它的幅度和相位响应。用它来过滤随机数据。

并[b,A] =脂(3,[0.2 0.6],<小号p一个ñ小号tyle="color:#A020F0">'停');freqz(B,A)

DATAIN = randn(1000,1);DATAOUT =滤波器(B,A,DATAIN);

设计一个第九阶高通巴特沃斯滤波器。指定300赫兹的截止频率,其中,在1000赫兹采样的数据,对应于<小号p一个ñclass="inlineequation"> 0 6 π 弧度/样品。画出幅度和相位响应。转换零点,电线杆,并获得对二阶部分使用fvtool

[Z,P,K] =黄油(9300/500,<小号p一个ñ小号tyle="color:#A020F0">'高');SOS = zp2sos(Z,P,K);fvtool(SOS,<小号p一个ñ小号tyle="color:#A020F0">'分析',<小号p一个ñ小号tyle="color:#A020F0">“频率”)

设计一个20阶巴特沃斯带通滤波器与500Hz的下限截止频率和560赫兹的高截止频率。指定1500赫兹的采样率。使用状态空间。使用设计相同的过滤器designfilt

[A,B,C,d] =黄油(10,[500 560] / 750);d = designfilt(<小号p一个ñ小号tyle="color:#A020F0">'bandpassiir',<小号p一个ñ小号tyle="color:#A020F0">'FilterOrder'20,<小号p一个ñ小号tyle="color:#0000FF">...'HalfPowerFrequency1',500,<小号p一个ñ小号tyle="color:#A020F0">'HalfPowerFrequency2',560,<小号p一个ñ小号tyle="color:#0000FF">...'采样率',1500);

转换状态空间二阶区段。使用可视化的频率响应fvtool

SOS = ss2sos(A,B,C,d);FVT = fvtool(SOS,d,<小号p一个ñ小号tyle="color:#A020F0">'FS',1500);传说(FVT,<小号p一个ñ小号tyle="color:#A020F0">'牛油',<小号p一个ñ小号tyle="color:#A020F0">'designfilt')

设计一个5阶巴特沃思模拟低通与2GHz的截止频率滤波。乘以<小号p一个ñclass="inlineequation"> 2 π 到频率转换为弧度每秒。计算滤波器中的4096个点的频率响应。

N = 5;F = 2E9;[ZB,PB,KB] =黄油(N,2 * PI * F,<小号p一个ñ小号tyle="color:#A020F0">'S');[BB,AB] = zp2tf(ZB,PB,KB);[HB,WB] = freqs(BB,AB,4096);

设计具有相同的边缘频率和通带波纹3dB的5阶切比雪夫型滤波器。计算其频率响应。

[Z 1,P1,K1] = cheby1(N,3,2 * PI * F,<小号p一个ñ小号tyle="color:#A020F0">'S');[B1,A1] = zp2tf(Z1,P1,K1);[H1,W1] = freqs(B1,a1,4096);

设计具有相同边缘频率的5阶切比雪夫型滤波器II和阻带衰减为30分贝。计算其频率响应。

[Z2,P2,K2] = cheby2(N,30,2 * PI * F,<小号p一个ñ小号tyle="color:#A020F0">'S');[B2,A2] = zp2tf(Z2,P2,K2);[H2,W2] = freqs(B2,a2,4096);

设计具有相同边缘频率的5阶椭圆滤波器,通带波纹的3dB时,和阻带衰减为30分贝。计算其频率响应。

[泽,PE,柯] =椭球(N,3,30,2 * PI * F,<小号p一个ñ小号tyle="color:#A020F0">'S');[是,AE] = zp2tf(ZE,PE,KE);[他,我们] = freqs(是,AE,4096);

情节分贝的衰减。表达千兆赫的频率。比较过滤器。

图(WB /(2E9 * PI),mag2db(ABS(HB)))保持<小号p一个ñ小号tyle="color:#A020F0">上图(W1 /(2E9 * PI),mag2db(ABS(H1)))图(W2 /(2E9 * PI),mag2db(ABS(H2)))图(我们/(2E9 * PI),mag2db(ABS(他)))轴线([0 4 -40 5])网格xlabel(<小号p一个ñ小号tyle="color:#A020F0">'频率(GHz)')ylabel(<小号p一个ñ小号tyle="color:#A020F0">'衰减量(dB)')图例(<小号p一个ñ小号tyle="color:#A020F0">'牛油',<小号p一个ñ小号tyle="color:#A020F0">'cheby1',<小号p一个ñ小号tyle="color:#A020F0">'cheby2',<小号p一个ñ小号tyle="color:#A020F0">“椭球”)

巴特沃思和切比雪夫II型滤波器具有平坦的通带和宽过渡带。切比雪夫I型和椭圆滤波器滚下快,但有通带纹波。输入到切比雪夫II型设计功能频率设置阻带的开头,而不是通带的端部。

输入参数

全部收缩

滤波器阶数,指定为整数标量。对于带通和带阻设计,ñ代表的二分之一的过滤器的顺序。

数据类型:

截止频率,指定为一个标量或一个两元素矢量。截止频率是滤波器的幅度响应的频率<小号p一个ñclass="inlineequation">1 /√2。

  • 如果WN是标量,则牛油设计与截止频率的低通或高通滤波器WN

    如果WN是两个元素的向量[W1 W2],其中W1<W2, 然后牛油设计带通或带阻滤波器具有较低的截止频率W1和较高的截止频率W2

  • 对于数字滤波器,截止频率必须在0和1,其中1个对应于奈奎斯特速率的一半采样速率或之间位于π弧度/样品。

    为模拟滤波器,截止频率必须在每秒弧度来表示,并且可以采取任何正值。

数据类型:

滤波器类型,指定为以下情况之一:

  • '低'指定与截止频率的低通滤波器<一个href="//www.tatmou.com/au/help/signal/ref/#bucse3u-Wn" class="intrnllnk">WN'低'是标量默认WN

  • '高'指定与截止频率的高通滤波器WN

  • “通”指定的2阶带通滤波器<一个href="//www.tatmou.com/au/help/signal/ref/#bucse3u_sep_shared-n" class="intrnllnk">ñ如果WN是一个两元素矢量。“通”是默认的时WN有两个元素。

  • '停'指定的顺序2带阻滤波器ñ如果WN是一个两元素矢量。

输出参数

全部收缩

该滤波器的传递函数的系数,返回作为长度的行向量<一个href="//www.tatmou.com/au/help/signal/ref/#bucse3u_sep_shared-n" class="intrnllnk">ñ+ 1为低通和高通滤波器和2ñ+ 1为带通和带阻滤波器。

  • 对于数字滤波器,传递函数中来表达b一个

    H ž = ž 一个 ž = B(1) + B(2) ž - 1 + + B(N + 1) ž - ñ 一(1) + a2) ž - 1 + + 第(n + 1) ž - ñ

  • 为模拟滤波器,传递函数在来表示b一个

    H 小号 = 小号 一个 小号 = B(1) 小号 ñ + B(2) 小号 ñ - 1 + + B(N + 1) 一(1) 小号 ñ + a2) 小号 ñ - 1 + + 第(n + 1)

数据类型:

零,电线杆,和所述过滤器的增益,返回作为长度的两个列向量<一个href="//www.tatmou.com/au/help/signal/ref/#bucse3u_sep_shared-n" class="intrnllnk">ñ(2ñ对于带通和带阻设计)和一个标量。

  • 对于数字滤波器,传递函数中来表达žpķ

    H ž = ķ 1 - Z(1) ž - 1 1 - Z(2) ž - 1 1 - Z(n)的 ž - 1 1 - P(1) ž - 1 1 - P(2) ž - 1 1 - P(N) ž - 1

  • 为模拟滤波器,传递函数在来表示žpķ

    H 小号 = ķ 小号 - Z(1) 小号 - Z(2) 小号 - Z(n)的 小号 - P(1) 小号 - P(2) 小号 - P(N)

数据类型:

滤波器的状态空间,返回矩阵。如果=<一个href="//www.tatmou.com/au/help/signal/ref/#bucse3u_sep_shared-n" class="intrnllnk">ñ对于低通和高通的设计和= 2ñ对于带通和带阻滤波器,那么一个××1,C为1×d是1×1。

  • 对于数字滤波器,状态空间矩阵涉及的状态向量X,输入ü,输出ÿ通过

    X ķ + 1 = 一个 X ķ + ü ķ ÿ ķ = C X ķ + d ü ķ

  • 为模拟滤波器,状态空间矩阵涉及的状态向量X,输入ü,输出ÿ通过

    X ˙ = 一个 X + ü ÿ = C X + d ü

数据类型:

更多关于

全部收缩

限制

传递函数语法的数值不稳定

在一般情况下,使用[Z,P,K]语法设计IIR滤波器。分析或实现你的过滤器,你就可以使用[Z,P,K]与输出zp2sos。如果您使用的设计滤波器并[b,一个]语法,你可能会遇到数值问题。这些问题是由于舍入误差,可以对发生ñ低至4下面的例子说明了这一限制。

N = 6;WN = [2.5e6 29e6] / 500e6;FTYPE =<小号p一个ñ小号tyle="color:#A020F0">“通”;<小号p一个ñ小号tyle="color:#228B22">%传递函数设计并[b,A] =黄油(N,WN,FTYPE);<小号p一个ñ小号tyle="color:#228B22">%。这是一个不稳定的滤波器%零极点增益设计[Z,P,K] =黄油(N,WN,FTYPE);SOS = zp2sos(Z,P,K);<小号p一个ñ小号tyle="color:#228B22">%显示并对比结果hfvt = fvtool(B,A,SOS,<小号p一个ñ小号tyle="color:#A020F0">'FrequencyScale',<小号p一个ñ小号tyle="color:#A020F0">“日志”);传说(hfvt,<小号p一个ñ小号tyle="color:#A020F0">“TF设计”,<小号p一个ñ小号tyle="color:#A020F0">“ZPK设计”)

算法

巴特沃斯滤波器具有幅度响应是在通带和单调整体最大平坦。这种平滑正值降低滚降陡度的价格。椭圆形,切比雪夫滤波器通常提供给定滤波器阶陡峭的滚降。

牛油采用5步骤的算法:

  1. 它发现了低通模拟原型极,零和使用功能增益<一个href="//www.tatmou.com/au/help/signal/ref/buttap.html">buttap

  2. 它把极点,零点和增益进入状态空间形式。

  3. 如果需要,它采用了一种状态空间变换到低通滤波器变换为带通,高通,或与期望的频率约束的带阻滤波器。

  4. 对于数字滤波器的设计,它使用<一个href="//www.tatmou.com/au/help/signal/ref/bilinear.html">双线性通过与频率预畸变双线性变换到模拟滤波器转换成数字滤波器。小心频率调整使模拟滤波器和所述数字滤波器具有相同的频率响应幅度在WNW1W2

  5. 其转换状态空间滤波器返回到它的传递函数或零极点增益形式,根据需要。

扩展功能

C / C ++代码生成
生成使用MATLAB®编码器™C和C ++代码。

也可以看看

|<小号p一个ñitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<小号p一个ñitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<小号p一个ñitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<小号p一个ñitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<小号p一个ñitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<小号p一个ñitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<小号p一个ñitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<小号p一个ñitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<小号p一个ñitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">

R2006a前推出