ellip

椭圆滤波器设计

描述

例子

[<一个href="#bucr9wl_sep_shared-ba" class="intrnllnk">b,一个) = ellip (<一个href="#bucr9wl_sep_shared-n" class="intrnllnk">n,<一个href="#bucr9wl_sep_shared-Rp" class="intrnllnk">Rp,<一个href="#bucr9wl_sep_shared-Rs" class="intrnllnk">Rs,<一个href="#bucr9wl-Wp" class="intrnllnk">Wp的传递函数系数n归一化通带边缘频率的th阶低通数字椭圆滤波器Wp.得到的过滤器有Rp峰间通带纹波的分贝Rs从峰值通带下减去停止衰减的分贝。

例子

[<一个href="#bucr9wl_sep_shared-ba" class="intrnllnk">b,一个) = ellip (<一个href="#bucr9wl_sep_shared-n" class="intrnllnk">n,<一个href="#bucr9wl_sep_shared-Rp" class="intrnllnk">Rp,<一个href="#bucr9wl_sep_shared-Rs" class="intrnllnk">Rs,<一个href="#bucr9wl-Wp" class="intrnllnk">Wp,<一个href="#bucr9wl-ftype" class="intrnllnk">ftype根据值设计,设计低通,高通,带通或BandStop椭圆滤波器ftype元素的个数Wp.所得到的带通和带阻设计是二阶的n

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

例子

[<一个href="#bucr9wl_sep_shared-zpk" class="intrnllnk">z,p,k) = ellip (<年代p一个nclass="argument_placeholder">___设计一个低通、高通、带通或带阻数字椭圆滤波器并返回其零点、极点和增益。该语法可以包含前面语法中的任何输入参数。

例子

[<一个href="#bucr9wl_sep_shared-ABCD" class="intrnllnk">A, B, C, D) = ellip (<年代p一个nclass="argument_placeholder">___设计一个低通、高通、带通或带阻数字椭圆滤波器,并返回指定其状态空间表示的矩阵。

例子

[<年代p一个nclass="argument_placeholder">___) = ellip (<年代p一个nclass="argument_placeholder">___,'s')设计一种带通边缘角频率的低通、高通、带通或带阻模拟椭圆滤波器<一个href="#bucr9wl-Wp" class="intrnllnk">Wp,<一个href="#bucr9wl_sep_shared-Rp" class="intrnllnk">Rp通频带波纹的分贝<一个href="#bucr9wl_sep_shared-Rs" class="intrnllnk">Rs阻带衰减的分贝。

例子

全部折叠

设计一个六阶低通椭圆滤波器,通带纹波为5db,阻带衰减为40db,通带边缘频率为300hz,对于1000hz采样的数据,对应于<年代p一个nclass="inlineequation"> 0 6 π rad /样品。绘制它的幅值和相位响应。使用它过滤1000样本随机信号。

[b] = ellip(6 5, 40岁,0.6);freqz (b)

dataIn = randn (1000 1);dataOut =过滤器(b, a, dataIn);

设计具有归一化边缘频率的6阶椭圆箱带电滤波器<年代p一个nclass="inlineequation"> 0 2 π 和<年代p一个nclass="inlineequation"> 0 6 π rad/sample,通带纹波为5 dB,阻带衰减为50 dB。绘制它的幅值和相位响应。用它来过滤随机数据。

[b,a] = ellip(3,5,50,[0.2 0.6]),<年代p一个n年代tyle="color:#A020F0">“停止”);freqz (b)

dataIn = randn (1000 1);dataOut =过滤器(b, a, dataIn);

设计一个通带边缘频率为300hz的六阶高通椭圆滤波器,对于1000hz采样的数据,该滤波器对应于<年代p一个nclass="inlineequation"> 0 6 π rad /样品。指定通带纹波为3db,阻带衰减为50db。绘制幅值和相位响应。将零、极点和增益转换为二阶部分以供使用fvtool

(z,磷、钾)= ellip (6 3 50300/500,<年代p一个n年代tyle="color:#A020F0">“高”);sos = zp2sos (z,磷、钾);fvtool (sos,<年代p一个n年代tyle="color:#A020F0">“分析”,<年代p一个n年代tyle="color:#A020F0">“频率”)

设计一个20阶椭圆带通滤波器,其低通频带为500hz,高通频带为560hz。指定通带纹波为3 dB,阻带衰减为40 dB,采样率为1500 Hz。使用状态空间表示。设计一个相同的过滤器使用designfilt

[A,B,C,D] = ellip(10,3,40,[500 560]/750);d = designfilt (<年代p一个n年代tyle="color:#A020F0">“bandpassiir”,<年代p一个n年代tyle="color:#A020F0">“FilterOrder”, 20岁,<年代p一个n年代tyle="color:#0000FF">...“PassbandFrequency1”, 500,<年代p一个n年代tyle="color:#A020F0">'passbandfrequency2'', 560,<年代p一个n年代tyle="color:#0000FF">...“PassbandRipple”,3,<年代p一个n年代tyle="color:#0000FF">...“StopbandAttenuation1”现年40岁的<年代p一个n年代tyle="color:#A020F0">“StopbandAttenuation2”现年40岁的<年代p一个n年代tyle="color:#0000FF">...“SampleRate”, 1500);

将状态空间表示形式转换为二阶分段。使用fvtool

sos = ss2sos (A, B, C, D);fvt = fvtool (sos d<年代p一个n年代tyle="color:#A020F0">'FS', 1500);传奇(fvt<年代p一个n年代tyle="color:#A020F0">“ellip”,<年代p一个n年代tyle="color:#A020F0">“designfilt”)

设计5阶模拟Butterworth低通滤波器,截止值为2 GHz。乘以<年代p一个nclass="inlineequation"> 2 π 将频率转换为每秒弧度。计算滤波器的频率响应在4096点。

n = 5;f = 2 e9;[zb, pb, kb] =黄油(n, 2 f *π*,<年代p一个n年代tyle="color:#A020F0">“年代”);(bb, ab) = zp2tf (zb、铅、kb);(hb, wb) =频率(bb, ab, 4096);

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

(z1, p1, k1) = cheby1 (n 3 2 f *π*,<年代p一个n年代tyle="color:#A020F0">“年代”);(b1, a1] = zp2tf (z1, p1, k1);[h1, w1] =频率(b1, a1, 4096);

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

(z2, p2, k2) = cheby2(2 *π* f n, 30日,<年代p一个n年代tyle="color:#A020F0">“年代”);(b2 a2) = zp2tf (z2, p2, k2);(h2 w2) =频率(b2, a2, 4096);

设计具有相同边缘频率,3 dB通带纹波的5级椭圆滤波器,以及30 dB的停止带衰减。计算其频率响应。

(泽、pe、ke) = ellip (n, 3, 30日,2 f *π*,<年代p一个n年代tyle="color:#A020F0">“年代”);[是,ae] = zp2tf(ze,pe,ke);[他,我们] =弗里克(是,AE,4096);

在分贝中绘制衰减。表达Gigahertz的频率。比较过滤器。

情节(wb / (2 e9 *π)mag2db (abs (hb)))<年代p一个n年代tyle="color:#A020F0">在Plot (w1/(2e9*pi),mag2db(abs(h1))) Plot (w2/(2e9*pi),mag2db(abs(h2))) Plot (we/(2e9*pi),mag2db(abs(h2))) axis([0 4 -40 5]) grid xlabel()<年代p一个n年代tyle="color:#A020F0">“频率(GHz)”) ylabel (<年代p一个n年代tyle="color:#A020F0">“衰减(dB)”)传说(<年代p一个n年代tyle="color:#A020F0">“黄油”,<年代p一个n年代tyle="color:#A020F0">“cheby1”,<年代p一个n年代tyle="color:#A020F0">“cheby2”,<年代p一个n年代tyle="color:#A020F0">“ellip”)

巴特沃斯和切比雪夫II型滤波器具有平坦的通带和宽的过渡带。切比雪夫I型和椭圆型滤波器滚动速度更快,但有通带纹波。切比雪夫II型设计函数的频率输入设置了阻带的开始而不是通带的结束。

输入参数

全部折叠

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

数据类型:

峰间通带纹波,用分贝表示的正标量。

如果您的规格ℓ是线性单位,您可以使用以下方法将其转换为分贝Rp= 40日志<年代ub>10((1 +ℓ)/(1 -ℓ))。

数据类型:

从峰值通带值向下的阻带衰减,用分贝表示为正标量。

如果您的规格ℓ是线性单位,您可以使用以下方法将其转换为分贝Rs= -20日志<年代ub>10ℓ。

数据类型:

通带边缘频率,指定为标量或两个元素向量。通带边沿频率是滤波器幅度响应的频率<年代p一个nclass="inlineequation">- - - - - -<一个href="#bucr9wl_sep_shared-Rp" class="intrnllnk">Rp分贝。通带纹波较小,Rp,阻带衰减值较大,<一个href="#bucr9wl_sep_shared-Rs" class="intrnllnk">Rs,两者都导致更宽的过渡带。

  • 如果Wp那是一个标量ellip设计具有边缘频率的低通或高通滤波器Wp

    如果Wp是两个元素矢量(w1 w2),在那里w1<w2,然后ellip设计了一种具有较低边缘频率的带通或带阻滤波器w1以及更高的边缘频率w2

  • 对于数字滤波器,通频带边缘频率必须在0和1之间,其中1对应于奈奎斯特率-一半的采样率或πrad /样品。

    对于模拟滤波器,通带边缘频率必须以弧度/秒表示,并且可以取任何正值。

数据类型:

过滤类型,指定为以下之一:

  • “低”指定具有通带边缘频率的低通滤波器<一个href="#bucr9wl-Wp" class="intrnllnk">Wp“低”是标量的默认值吗Wp

  • “高”指定具有通带边缘频率的高通滤波器Wp

  • “带通”指定阶2的带通滤波器<一个href="#bucr9wl_sep_shared-n" class="intrnllnk">n如果Wp是一个二元向量。“带通”是默认值Wp有两个元素。

  • “停止”指定2阶带阻滤波器n如果Wp是一个二元向量。

输出参数

全部折叠

传输滤波器的函数系数,作为长度的行向量返回<一个href="#bucr9wl_sep_shared-n" class="intrnllnk">n+ 1为低通和高通滤波器和2n+ 1用于带通和Bandstop滤波器。

  • 对于数字滤波器,传递函数表示为b一个作为

    H z B z 一个 z b (1) + b (2) z 1 + + b (n + 1) z n (1) + (2) z 1 + + a(n + 1) z n

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

    H 年代 B 年代 一个 年代 b (1) 年代 n + b (2) 年代 n 1 + + b (n + 1) (1) 年代 n + (2) 年代 n 1 + + a(n + 1)

数据类型:

零,滤波器和过滤器的增益,返回为长度的两个列向量<一个href="#bucr9wl_sep_shared-n" class="intrnllnk">n(2n用于带通和带阻设计)和标量。

  • 对于数字滤波器,传递函数表示为z,p,k作为

    H z k 1 z (1) z 1 1 z (2) z 1 1 z (n) z 1 1 (1页) z 1 1 (2页) z 1 1 p (n) z 1

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

    H 年代 k 年代 z (1) 年代 z (2) 年代 z (n) 年代 (1页) 年代 (2页) 年代 p (n)

数据类型:

过滤器的状态空间表示,返回为矩阵。如果=<一个href="#bucr9wl_sep_shared-n" class="intrnllnk">n用于低通和高通设计和= 2n对于带通和带阻滤波器,则一个×,B×1,C是1×,D是1 × 1。

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

    x k + 1 一个 x k + B u k y k C x k + D u k

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

    x ˙ 一个 x + B u y C x + D u

数据类型:

更多关于

全部折叠

限制

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

一般来说,使用the(z,磷、钾)语法来设计IIR过滤器。要分析或实现筛选器,可以使用(z,磷、钾)输出zp2sos.如果您使用的是使用过滤器[b]语法,你可能会遇到数值问题。这些问题是由于四舍五入错误而导致的n低至4。下面的例子说明了这个限制。

n = 6;Rp = 0.1;Rs = 80;Wn = [2.5e6 29e6]/500e6;ftype =<年代p一个n年代tyle="color:#A020F0">“带通”;<年代p一个n年代tyle="color:#228B22">传递函数设计[b] = ellip (n, Rp, Rs、Wn ftype);<年代p一个n年代tyle="color:#228B22">%此过滤器不稳定% Zero-Pole-Gain设计(z,磷、钾)= ellip (n, Rp, Rs、Wn ftype);sos = zp2sos (z,磷、钾);<年代p一个n年代tyle="color:#228B22">%绘图并比较结果hfvt = fvtool(b,a,sos,<年代p一个n年代tyle="color:#A020F0">'验证',<年代p一个n年代tyle="color:#A020F0">“日志”);传奇(hfvt<年代p一个n年代tyle="color:#A020F0">“特遣部队设计”,<年代p一个n年代tyle="color:#A020F0">“ZPK设计”)

算法

椭圆滤波器比巴特沃斯滤波器或切比雪夫滤波器具有更陡的滚转特性,但在通带和阻带上都是等波纹的。一般来说,椭圆滤波器满足给定的性能规格,具有任何滤波器类型的最低阶。

ellip使用五步算法:

  1. 利用该函数找到低通模拟原型的极点、零点和增益<一个href="//www.tatmou.com/help/signal/ref/ellipap.html">ellipap

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

  3. 如果需要,它使用状态空间转换将低通滤波器转换为具有所需频率约束的带通、高通或带阻滤波器。

  4. 用于数字滤波器的设计<一个href="//www.tatmou.com/help/signal/ref/bilinear.html">双线性将模拟滤波器转换为数字滤波器,通过使用频率预警的双线性转换。仔细的频率调节使模拟滤波器和数字滤波器能够具有相同的频率响应幅度Wpw1w2

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

扩展功能

另请参阅

|<年代p一个nitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代p一个nitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代p一个nitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代p一个nitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代p一个nitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代p一个nitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代p一个nitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代p一个nitemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">

之前介绍过的R2006a