主要内容

cheby2

使用设定对象的切比雪夫 II 型滤波器

说明

chebTwoFilter = cheby2(designSpecs,SystemObject=true) 使用对象 designSpecs 中的设定设计 II 型切比雪夫 IIR 数字滤波器。

根据滤波器设定对象 designSpecscheby2 设计方法可能无效。将 designmethods 与滤波器设定对象结合使用,以确定是否可以进行切比雪夫 II 型滤波器设计。

designmethods(designSpecs,SystemObject=true)

示例

chebTwoFilter = cheby2(designSpecs,designoption=value,... SystemObject=true) 返回具有一个或多个指定设计选项及其对应值的 II 型切比雪夫 IIR 数字滤波器。

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

designoptions(designSpecs,'cheby2')

chebTwoFilter = design(designSpecs,'cheby2',SystemObject=true) 是设计 II 型切比雪夫 IIR 数字滤波器的备选语法。

有关对设定对象 designSpecs 使用 cheby2 设计方法的完整帮助,请在 MATLAB® 命令提示符下输入以下命令。

help(designSpecs,'cheby2')

示例

全部折叠

设计一个具有低通和高通频率响应的 II 型切比雪夫 IIR 滤波器。滤波器设计过程如下:

  1. 使用 fdesign 函数指定滤波器设计设定。

  2. 选取 designmethods 函数提供的一种设计方法。

  3. 要确定可选的设计选项,请使用 designoptions 函数。

  4. 使用 design 函数设计滤波器。

低通滤波器

使用 fdesign.lowpass 构造一个默认低通滤波器设定对象。

designSpecs = fdesign.lowpass
designSpecs = 
  lowpass with properties:

               Response: 'Lowpass'
          Specification: 'Fp,Fst,Ap,Ast'
            Description: {4×1 cell}
    NormalizedFrequency: 1
                  Fpass: 0.4500
                  Fstop: 0.5500
                  Apass: 1
                  Astop: 60

使用 designmethods 函数确定可用的设计方法。要设计 II 型切比雪夫滤波器,请选择 cheby2

designmethods(designSpecs,SystemObject=true)
Design Methods that support System objects for class fdesign.lowpass (Fp,Fst,Ap,Ast):


butter
cheby1
cheby2
ellip
equiripple
ifir
kaiserwin
multistage

在设计滤波器时,您可以指定其他设计选项。使用 designoptions 函数查看选项列表。此函数还会显示滤波器使用的默认设计选项。

designoptions(designSpecs,'cheby2',SystemObject=true)
ans = struct with fields:
           FilterStructure: {'df1sos'  'df2sos'  'df1tsos'  'df2tsos'  'cascadeallpass'  'cascadewdfallpass'}
              SOSScaleNorm: 'ustring'
              SOSScaleOpts: 'fdopts.sosscaling'
              MatchExactly: {'passband'  'stopband'}
    DefaultFilterStructure: 'df2sos'
       DefaultMatchExactly: 'stopband'
       DefaultSOSScaleNorm: ''
       DefaultSOSScaleOpts: [1×1 fdopts.sosscaling]

使用 design 函数设计滤波器。将 'cheby2' 和变量 designSpecs 给定的设定作为输入参量传递。将 'matchexactly' 设计选项指定为 'passband' 以确保滤波器在通带内的性能。

LowpassCheb2 = design(designSpecs,'cheby2',matchexactly='passband',...
    SystemObject=true)
LowpassCheb2 = 
  dsp.SOSFilter with properties:

            Structure: 'Direct form II'
    CoefficientSource: 'Property'
            Numerator: [5×3 double]
          Denominator: [5×3 double]
       HasScaleValues: true
          ScaleValues: [0.6953 0.5722 0.4687 0.3882 0.3426 1]

  Show all properties

查看所设计滤波器的频率响应。

filterAnalyzer(LowpassCheb2)

高通滤波器

使用 fdesign.highpass 构造一个高通滤波器设定对象。指定滤波器阶数、阻带边缘频率和阻带衰减,以获得精确满足需求的滤波器。

designSpecs = fdesign.highpass('n,fst,ast',5,20,55,50);

确定可用的设计方法。要设计 II 型切比雪夫 IIR 滤波器,请选择 cheby2

designmethods(designSpecs,SystemObject=true)
Design Methods that support System objects for class fdesign.highpass (N,Fst,Ast):


cheby2

在设计滤波器时,您可以指定其他设计选项。使用 designoptions 函数查看选项列表。此函数还会显示滤波器使用的默认设计选项。

HighpassCheb2 = design(designSpecs,'cheby2',SystemObject=true)
HighpassCheb2 = 
  dsp.SOSFilter with properties:

            Structure: 'Direct form II'
    CoefficientSource: 'Property'
            Numerator: [3×3 double]
          Denominator: [3×3 double]
       HasScaleValues: true
          ScaleValues: [0.1995 0.0880 0.1450 1]

  Show all properties

可视化高通频率响应。

filterAnalyzer(HighpassCheb2)

根据设计,cheby2 返回使用二阶节 (SOS) 的滤波器。对于许多应用以及大多数定点应用,SOS 滤波器特别适用。

输入参数

全部折叠

滤波器设定对象,指定为以下项之一:

输出参量

全部折叠

II 型切比雪夫 IIR 数字滤波器,以滤波器 System object 形式返回。System object 及其属性值取决于输入 designSpecs 对象及为函数指定的其他设计选项。

版本历史记录

在 R2011a 中推出

全部展开