牛油

巴特沃斯滤波器设计

描述

例子

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

例子

[<一href="//www.tatmou.com/de/help/signal/ref/#bucse3u_sep_shared-ba" class="intrnllnk">b、 一个] =黄油(<一href="//www.tatmou.com/de/help/signal/ref/#bucse3u_sep_shared-n" class="intrnllnk">n个,<一href="//www.tatmou.com/de/help/signal/ref/#bucse3u-Wn" class="intrnllnk">WN,<一href="//www.tatmou.com/de/help/signal/ref/#bucse3u-ftype" class="intrnllnk">文件类型)设计了一个低通,高通,带通,或带阻巴特沃斯滤波器,这取决于的值文件类型和的元素的数量WN. 由此产生的带通和带阻设计为2级n个.

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

例子

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

例子

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

例子

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

例子

全部折叠

设计一个截止频率为300hz的6阶低通巴特沃斯滤波器,对于在1000hz采样的数据,它对应于 0个 . 6个 π 弧度/样品。画出它的幅度和相位响应。用它来过滤1000样本随机信号。

fc=300;fs=1000;[b,a]=黄油(6,fc/(fs/2));频率(b,a)

dataIn=randn(1000,1);dataOut=filter(b,a,dataIn);

设计一个6阶Butterworth带阻滤波器与标准化边缘频率 0个 . 2个 π 0个 . 6个 π rad/样品。绘制其幅度和相位响应图。用它来过滤随机数据。

并[b,A] =脂(3,[0.2 0.6],'停止');频率(b,a)

dataIn=randn(1000,1);dataOut=filter(b,a,dataIn);

设计一个九阶高通巴特沃斯滤波器。指定300赫兹的截止频率,对于以1000赫兹采样的数据,该频率对应于 0个 . 6个 π 弧度/样品。画出幅度和相位响应。转换零点,电线杆,并获得对二阶部分使用fvtool.

[Z,P,K] =黄油(9300/500,'高');sos=zp2sos(z,p,k);fvtool(sos,'分析','频率')

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

[A,B,C,D]=黄油(10,[500 560]/750);D=设计过滤器('带通','FilterOrder'20,...'HalfPowerFrequency1',500,'HalfPowerFrequency2',560,...'采样率',1500);

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

sos=ss2sos(A,B,C,D);fvt=fvtool(sos,D,'FS',1500);传说(FVT,“黄油”,'设计筛选')

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

n=5;f=2e9;[zb,pb,kb]=黄油(n,2*pi*f,“的”);[BB,AB] = zp2tf(ZB,PB,KB);[HB,WB] = freqs(BB,AB,4096);

设计了一个边缘频率相同、通带纹波3db的5阶切比雪夫I型滤波器。计算它的频率响应。

[z1,p1,k1]=cheby1(n,3,2*pi*f,“的”);[B1,A1] = zp2tf(Z1,P1,K1);[H1,W1] = freqs(B1,a1,4096);

设计了一个具有相同边频和30db阻带衰减的5阶切比雪夫II型滤波器。计算它的频率响应。

[z2,p2,k2]=cheby2(n,30,2*pi*f,“的”);[B2,A2] = zp2tf(Z2,P2,K2);[H2,W2] = freqs(B2,a2,4096);

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

[泽,PE,柯] =椭球(N,3,30,2 * PI * F,“的”);[是,AE] = zp2tf(ZE,PE,KE);[他,我们] = freqs(是,AE,4096);

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

绘图(wb/(2e9*pi),mag2db(abs(hb)))保持在图(W1 /(2E9 * PI),mag2db(ABS(H1)))图(W2 /(2E9 * PI),mag2db(ABS(H2)))图(我们/(2E9 * PI),mag2db(ABS(他)))轴线([0 4 -40 5])网格xlabel('频率(GHz)')伊拉贝尔('衰减量(dB)')图例(“黄油”,'切比1','切比2',“埃利普”)

Butterworth和Chebyshev II型滤波器具有平坦的通带和宽的过渡带。切比雪夫I型和椭圆滤波器的衰减速度更快,但具有通带纹波。切比雪夫II型设计功能的频率输入设置了阻带的开始而不是通带的结束。

输入参数

全部折叠

滤波器阶数,指定为整数标量。对于带通和带阻设计,n个表示筛选器顺序的一半。

数据类型:

截止频率,指定为一个标量或一个两元素矢量。截止频率是滤波器的幅度响应的频率1/√2.

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

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

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

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

数据类型:

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

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

  • '高'指定具有截止频率的高通滤波器WN.

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

  • '停止'指定顺序为2的带阻滤波器n个如果WN是一个双元素向量。

输出参数

全部折叠

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

  • 对于数字滤波器,传递函数中来表达作为

    小时 ( z轴 ) = ( z轴 ) 一个 ( z轴 ) = b(一) + b(二) z轴 - 1个 + + b(n+1) z轴 - n个 a(一) + a(二) z轴 - 1个 + + 第(n + 1) z轴 - n个 .

  • 对于模拟滤波器,传递函数表示为作为

    小时 ( s公司 ) = ( s公司 ) 一个 ( s公司 ) = b(一) s公司 n个 + b(二) s公司 n个 - 1个 + + b(n+1) a(一) s公司 n个 + a(二) s公司 n个 - 1个 + + 第(n + 1) .

数据类型:

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

  • 对于数字滤波器,传递函数中来表达z轴,第页,和作为

    小时 ( z轴 ) = ( 1个 - z(一) z轴 - 1个 ) ( 1个 - z(二) z轴 - 1个 ) ( 1个 - z(n) z轴 - 1个 ) ( 1个 - 第(1)页 z轴 - 1个 ) ( 1个 - 第(2)页 z轴 - 1个 ) ( 1个 - p(n) z轴 - 1个 ) .

  • 对于模拟滤波器,传递函数表示为z轴,第页,和作为

    小时 ( s公司 ) = ( s公司 - z(一) ) ( s公司 - z(二) ) ( s公司 - z(n) ) ( s公司 - 第(1)页 ) ( s公司 - 第(2)页 ) ( s公司 - p(n) ) .

数据类型:

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

  • 对于数字滤波器,状态空间矩阵与状态向量相关,输入u型,输出是的通过

    ( + 1个 ) = 一个 ( ) + u型 ( ) 是的 ( ) = C类 ( ) + u型 ( ) .

  • 对于模拟滤波器,状态空间矩阵与状态向量相关,输入u型,输出是的通过

    ˙ = 一个 + u型 是的 = C类 + u型 .

数据类型:

更多关于

全部折叠

限制

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

通常,使用[Z,P,K]语法设计IIR滤波器。分析或实现你的过滤器,你就可以使用[Z,P,K]与输出zp2sos.如果您使用的设计滤波器[乙,甲]语法方面,您可能会遇到数值问题。这些问题是由于舍入错误造成的,可能发生在n个低至4下面的例子说明了这一限制。

N = 6;WN = [2.5e6 29e6] / 500e6;FTYPE ='带通';%传递函数设计并[b,A] =黄油(N,WN,FTYPE);%。这是一个不稳定的滤波器%零极点增益设计[z,p,k]=黄油(n,Wn,ftype);sos=zp2sos(z,p,k);%显示并对比结果hfvt = fvtool(B,A,SOS,'FrequencyScale','日志');图例(hfvt,'TF设计','ZPK设计')

算法

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

牛油采用5步骤的算法:

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

  2. 它将极点、零点和增益转换为状态空间形式。

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

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

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

扩展功能

C / C ++代码生成<乙r>使用Matlab®编码器生成C和C++代码™.

在R2006a之前引入