2026a

# ellipord


椭圆滤波器的最小阶数

函数库: TySignalProcessing

# 语法

n,wn = ellipord(Wp,Ws,Rp,Rs)

# 说明

n,wn = ellipord(Wp,Ws,Rp,Rs) 返回椭圆滤波器的最低阶 n,该滤波器在通带中损失不超过 Rp dB,在阻带中至少具有 Rs dB 衰减。还返回相应截止频率 Wp 的标量(或向量)。

# 示例

设计椭圆滤波器

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

using TySignalProcessing
Wp = 40 / 500
Ws = 150 / 500
Rp = 3
Rs = 60
n, Wp = ellipord(Wp, Ws, Rp, Rs)
n = 4
Wp = 1-element Vector{Float64}:
 0.08
b, a = ellip(n, Rp, Rs, Wp[1])
h, = freqz(b, a, 512, 1000, "half"; plotfig=true)
设计带通椭圆滤波器

设计一个带通滤波器,其通带范围为 60 Hz 到 200 Hz,在阻带中最多有 3 dB 的纹波和至少 40 dB 的衰减。指定 1 kHz 的采样率。使通带两侧的阻带宽度为 50 Hz。找到滤波器阶数和截止频率。

using TySignalProcessing
Wp = [60, 200] / 500
Ws = [50, 250] / 500
Rp = 3
Rs = 40
n, Wp = ellipord(Wp, Ws, Rp, Rs)
n = 5
Wp = 2-element Vector{Float64}:
 0.12
 0.4
b, a = ellip(n, Rp, Rs, Wp, "bandpass")
freqz(b, a, 512, 1000, "half"; plotfig = true)

# 输入参数

Wp - 通带截止频率
标量 | 两个元素的向量

通带角(截止)频率,指定为标量或两元素向量,值介于 0 和 1 之间,1 对应于归一化奈奎斯特频率,π rad/sample。

1.如果 Wp 和 Ws 都是标量且 Wp < Ws,则 cheb1ord 返回低通滤波器的阶数和截止频率。滤波器的阻带范围从 Ws 到 1,通带范围从 0 到 Wp。

2.如果 Wp 和 Ws 都是标量且 Wp > Ws,则 cheb1ord 返回高通滤波器的阶数和截止频率。滤波器的阻带范围从 0 到 Ws,通带范围从 Wp 到 1。

3.如果 Wp 和 Ws 都是向量,并且 Ws 指定的区间包含 Wp 指定的区间 (Ws[1] < Wp[1] < Wp[2] < Ws[2]),则 cheb1ord 返回阶次和截止频率带通滤波器。滤波器的阻带范围从 0 到 Ws[1],从 Ws[2] 到 1。通带范围从 Wp[1] 到 Wp[2]。

4.如果 Wp 和 Ws 都是向量,并且 Wp 指定的区间包含 Ws 指定的区间 (Wp[1] < Ws[1] < Ws[2] < Wp[2]),则 cheb1ord 返回阶次和截止频率带阻滤波器。滤波器的阻带范围从 Ws[1] 到 Ws[2]。通带范围从 0 到 Wp[1] 和从 Wp[2] 到 1。

数据类型: Float

Ws - 阻带截止频率
标量 | 两个元素的向量

阻带截止频率,指定为标量或值介于 0 和 1 之间的二元素向量,其中 1 对应于归一化奈奎斯特频率,π rad/sample。

数据类型: Float

Rp - 通带纹波
标量

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

数据类型: Float

Rs - 阻带衰减
标量

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

数据类型: Float

# 输出参数

n - 最小滤波器阶数
整形标量

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

Wn - 截止频率
标量 | 向量

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

# 详细信息

对于模拟和数字情况,ellipord 在模拟域中执行其计算。对于数字情况,它在估计阶数和自然频率之前将频率参数转换为 s 域,然后将它们转换回 z 域。

ellipord 最初通过将所需滤波器的通带频率转换为 1 rad/s(对于低通和高通滤波器)以及 –1 和 1 rad/s(对于带通和带阻滤波器)来开发低通滤波器原型。然后计算满足阻带规范的低通滤波器所需的最小阶数。

# 另请参阅

buttord | cheb1ord | cheb2ord | ellip