主要内容

cheby1

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

说明

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

有关对滤波器设定对象使用 cheby1 设计方法的帮助,请在 MATLAB® 命令提示符下输入以下命令。

help(designSpecs,'cheby1')

您无法对某些滤波器设定对象使用 cheby1 设计方法。将 designmethods 函数与滤波器设定对象结合使用,以确定 cheby1 设计方法是否对您的滤波器设定有效。

designmethods(designSpecs,SystemObject=true)

cheby1 返回使用二阶节 (SOS) 的滤波器。SOS 滤波器特别适用于大多数定点应用。

示例

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

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

designoptions(designSpecs,'cheby1')

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

示例

全部折叠

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

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

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

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

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

低通滤波器

使用 fdesign.lowpass 函数创建一个默认低通滤波器设定对象。

designSpecs = fdesign.lowpass; 

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

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,'cheby1',SystemObject=true)
ans = struct with fields:
           FilterStructure: {'df1sos'  'df2sos'  'df1tsos'  'df2tsos'  'cascadeallpass'  'cascadewdfallpass'}
              SOSScaleNorm: 'ustring'
              SOSScaleOpts: 'fdopts.sosscaling'
              MatchExactly: {'passband'  'stopband'}
    DefaultFilterStructure: 'df2sos'
       DefaultMatchExactly: 'passband'
       DefaultSOSScaleNorm: ''
       DefaultSOSScaleOpts: [1×1 fdopts.sosscaling]

使用 design 函数设计滤波器。将 'cheby1' 和包含滤波器设计设定的 designSpecs 对象作为输入参量传递。将滤波器结构设置为 'df1sos' 以设计具有直接 I 型 SOS 结构的滤波器。

LowpassCheb1 = design(designSpecs,'cheby1',FilterStructure='df1sos', ...
    SystemObject=true)
LowpassCheb1 = 
  dsp.SOSFilter with properties:

            Structure: 'Direct form I'
    CoefficientSource: 'Property'
            Numerator: [5×3 double]
          Denominator: [5×3 double]
       HasScaleValues: true
          ScaleValues: [0.4117 0.3484 0.2445 0.1195 0.0258 0.8913]

  Show all properties

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

filterAnalyzer(LowpassCheb1)

高通滤波器

使用 fdesign.highpass 函数创建一个高通滤波器设计设定对象。指定滤波器阶数、通带边缘频率和通带波纹。

designSpecs = fdesign.highpass('n,fp,ap',7,20,.4,50); 

确定可用的设计方法。

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


cheby1

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

HighpassCheb1 = design(designSpecs,'cheby1',SystemObject=true)
HighpassCheb1 = 
  dsp.SOSFilter with properties:

            Structure: 'Direct form II'
    CoefficientSource: 'Property'
            Numerator: [4×3 double]
          Denominator: [4×3 double]
       HasScaleValues: true
          ScaleValues: [0.0943 0.0612 0.0233 0.0814 1]

  Show all properties

可视化高通频率响应。

filterAnalyzer(HighpassCheb1)

输入参数

全部折叠

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

输出参量

全部折叠

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

版本历史记录

在 R2011a 中推出

全部展开