主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

ellipord

椭圆滤波器的最小阶

说明

[n,Wn] = ellipord(Wp,Ws,Rp,Rs) 返回数字椭圆滤波器的最低阶数 n,通带波纹不超出 Rp dB,阻带衰减至少为 Rs dB。WpWs 分别是滤波器的通带和阻带边缘频率,归一化范围为 0 至 1,其中 1 对应于 π 弧度/采样点。此外,还会返回对应截止频率 Wn 的标量(或向量)。要设计椭圆滤波器,请使用输出参量 nWn 作为 ellip 的输入。

示例

[n,Wn] = ellipord(Wp,Ws,Rp,Rs,'s') 用于求模拟椭圆滤波器的最小阶数 n 和截止频率 Wn。以弧度/秒为单位指定频率 WpWs。通带或阻带频率可以为无限值。

示例

全部折叠

对于 1000 Hz 数据,设计一个低通滤波器,在定义为 0 到 40 Hz 的通带内波纹小于 3 dB,在定义为 150 Hz 到奈奎斯特频率 500 Hz 的阻带内波纹至少为 60 dB。求滤波器的阶数和截止频率。

Wp = 40/500;
Ws = 150/500;
Rp = 3;
Rs = 60;
[n,Wp] = ellipord(Wp,Ws,Rp,Rs)
n = 
4
Wp = 
0.0800

使用二阶节指定滤波器,并绘制频率响应图。

[z,p,k] = ellip(n,Rp,Rs,Wp);
sos = zp2sos(z,p,k);
freqz(sos,512,1000)
title(sprintf('n = %d Elliptic Lowpass Filter',n))

Figure contains 2 axes objects. Axes object 1 with title Phase, xlabel Frequency (Hz), ylabel Phase (degrees) contains an object of type line. Axes object 2 with title n = 4 Elliptic Lowpass Filter, xlabel Frequency (Hz), ylabel Magnitude (dB) contains an object of type line.

设计一个带通滤波器,其通带频率为 60 至 200 Hz,波纹不超过 3 dB,阻带衰减至少为 40 dB。指定采样率为 1 kHz。使通带两侧的阻带宽度各为 50 Hz。求滤波器的阶数和截止频率。

Wp = [60 200]/500;
Ws = [50 250]/500;
Rp = 3;
Rs = 40;

[n,Wp] = ellipord(Wp,Ws,Rp,Rs)
n = 
5
Wp = 1×2

    0.1200    0.4000

使用二阶节指定滤波器,并绘制频率响应图。

[z,p,k] = ellip(n,Rp,Rs,Wp);
sos = zp2sos(z,p,k);

freqz(sos,512,1000)
title(sprintf('n = %d Elliptic Bandpass Filter',n))

Figure contains 2 axes objects. Axes object 1 with title Phase, xlabel Frequency (Hz), ylabel Phase (degrees) contains an object of type line. Axes object 2 with title n = 5 Elliptic Bandpass Filter, xlabel Frequency (Hz), ylabel Magnitude (dB) contains an object of type line.

输入参数

全部折叠

通带转角(截止)频率,指定为标量或由 0 和 1 之间的值组成的二元素向量,1 对应于归一化奈奎斯特频率 π 弧度/采样点。

  • 如果 WpWs 均为标量,并且 Wp < Ws,则 ellipord 返回低通滤波器的阶数和截止频率。滤波器的阻带范围为 Ws 至 1,通带范围为 0 至 Wp

  • 如果 WpWs 均为标量,并且 Wp > Ws,则 ellipord 返回高通滤波器的阶数和截止频率。滤波器的阻带范围为 0 至 Ws,通带范围为 Wp 至 1。

  • 如果 WpWs 均为向量,并且由 Ws 指定的区间包含一个由 Wp (Ws(1) < Wp(1) < Wp(2) < Ws(2)) 指定的区间,则 ellipord 返回带通滤波器的阶数和截止频率。滤波器的阻带范围为 0 至 Ws(1)Ws(2) 至 1。通带范围为 Wp(1)Wp(2)

  • 如果 WpWs 均为向量,并且由 Wp 指定的区间包含一个由 Ws (Wp(1) < Ws(1) < Ws(2) < Wp(2)) 指定的区间,则 ellipord 返回带阻滤波器的阶数和截止频率。滤波器的阻带范围为 Ws(1)Ws(2)。通带范围为 0 至 Wp(1)Wp(2) 至 1。

数据类型: single | double

注意

如果您的滤波器设定要求使用带通或带阻滤波器,其中每个通带或阻带中有不同的波纹,请设计单独的低通滤波器和高通滤波器,并将这两个滤波器级联在一起。

阻带转角频率,指定为标量或由 0 和 1 之间的值组成的二元素向量,1 对应于归一化奈奎斯特频率 π 弧度/采样点。

数据类型: single | double

通带波纹,指定为以 dB 表示的标量。

数据类型: single | double

阻带衰减,指定为以 dB 表示的标量。

数据类型: single | double

输出参量

全部折叠

最低滤波器阶数,以整数标量形式返回。

截止频率,以标量或向量形式返回。

算法

ellipord 使用 [1] 中所述的椭圆低通滤波器阶数预测公式。无论是对于模拟滤波器还是数字滤波器,该函数都在模拟域中执行计算。对于数字滤波器,它先将频率参数转换为 s 域,再估计阶数和固有频率,然后将其转换回 z 域。

最初,ellipord 通过将所需滤波器的通带频率变换为 1 弧度/秒(对于低通和高通滤波器)以及 -1 和 1 弧度/秒(对于带通和带阻滤波器)开发低通滤波器原型。然后,它计算低通滤波器满足阻带设定所需的最小阶数。

参考

[1] Rabiner, Lawrence R., and B. Gold. Theory and Application of Digital Signal Processing. Englewood Cliffs, NJ: Prentice Hall, 1975.

扩展功能

全部展开

版本历史记录

在 R2006a 之前推出

另请参阅

| | |