2026a

# ellip


使用规格对象的椭圆滤波器

函数库: TyDSPSystem

# 语法

ellipFilter = ellip(designSpecs, "SystemObject", true)
ellipFilter = ellip(designSpecs, designoption, value, ..., "SystemObject", true)
ellipFilter = design(designSpecs, "ellip", "SystemObject", true)

# 说明

ellipFilter = ellip(designSpecs, "SystemObject", true) 使用对象 designSpecs 中的规格设计一个椭圆 IIR 数字滤波器。

根据滤波器规格对象 designSpecs 的不同,ellip 设计方法可能是无效的。将 designmethods 与滤波器规格对象一起使用,以确定椭圆 IIR 滤波器的设计是否可行。

designmethods(designSpecs, "SystemObject", true)

ellipFilter = ellip(designSpecs, designoption, value, ..., "SystemObject", true) 返回一个椭圆 IIR 数字滤波器,有一个或多个指定的设计选项和相应的值。

要查看可用的设计选项的列表,请在规格对象上运行 designoptions 函数。该函数还列出了滤波器使用的默认设计选项。

designoptions(designSpecs, "ellip")

ellipFilter = design(designSpecs, "ellip", "SystemObject", true) 是一种设计椭圆 IIR 数字滤波器的可选语法。

# 示例

设计椭圆滤波器

设计一个具有带通频率响应的椭圆数字滤波器。

使用 fdesign_lowpass 构建一个低通滤波器设计规格对象。

using TyDSPSystem

designSpecs = fdesign_lowpass("n,fp,fst,ap", 6, 20, 25, 0.8, 80)
lowpass - Property:
                Response: Lowpass
           Specification: "N,Fp,Fst,Ap"
             Description: 4×1 Tuple
     NormalizedFrequency: false
                      Fs: 80.0
             FilterOrder: 6
                   Fpass: 20.0
                   Fstop: 25.0
                   Apass: 0.8

使用 design 函数来设计滤波器。将 "ellip" 和变量 designSpecs 给出的规格作为输入参数。

lpFilter = design(designSpecs, "ellip", "SystemObject", true)
dsp_BiquadFilter with properties:
   Structure:                Direct form II
   SOSMatrixSource:          Property
   SOSMatrix:                [3 × 6 Float64]
   ScaleValues:              [4 × 1 Float64]
   InitialConditions:        0
   OptimizeUnityScaleValues: true

使用 fvtool 来查看所设计的滤波器的频率响应。

fvtool(lpFilter.SOSMatrix)

# 输入参数

designSpecs - 滤波器规格对象
对象

滤波器规格对象,目前仅支持 fdesign_lowpass( )。

# 输出参数

ellipFilter - 椭圆数字滤波器
系统对象

椭圆数字滤波器,作为一个滤波器系统对象返回。系统对象及其属性值取决于输入的 designSpecs 对象和指定给该函数的其他设计选项。

# 另请参阅

design | designmethods | designoptions | fdesign_response struct