主要内容

designmethods

从设定对象设计滤波器的可用方法

说明

methods = designmethods(designSpecs,'SystemObject',true) 返回为滤波器设定对象 designSpecs 设计滤波器 System object 的可用设计方法。

示例

methods = designmethods(designSpecs,'default') 返回滤波器设定对象 designSpecs 的默认设计方法。

methods = designmethods(designSpecs,TYPE,'SystemObject',true) 返回滤波器设定对象 designSpecsTYPE 设计方法。TYPE 可以是 'FIR''IIR'

methods = designmethods(designSpecs,'full','SystemObject',true) 返回每个可用设计方法的完整名称。例如,使用 'full' 参量的 designmethodsbutter 方法返回 Butterworth

示例

全部折叠

构造一个低通滤波器设计设定对象并确定有效的设计方法。

designSpecs = fdesign.lowpass('Fp,Fst,Ap,Ast',500,600,0.5,60,1e4);
methods = designmethods(designSpecs,'SystemObject',true)
methods = 8×1 cell
    {'butter'    }
    {'cheby1'    }
    {'cheby2'    }
    {'ellip'     }
    {'equiripple'}
    {'ifir'      }
    {'kaiserwin' }
    {'multistage'}

使用 help 获取有关切比雪夫 I 型设计方法的详细信息。

help(designSpecs,methods{2})
 DESIGN Design a Chebyshev type I iir filter.
    HD = DESIGN(D, 'cheby1') designs a Chebyshev type I filter specified by the
    FDESIGN object D, and returns the DFILT/MFILT object HD.
 
    HD = DESIGN(D, ..., 'SystemObject', true) implements the filter, HD,
    using a System object instead of a DFILT/MFILT object.
 
    HD = DESIGN(..., 'FilterStructure', STRUCTURE) returns a filter with the
    structure STRUCTURE.  STRUCTURE is 'df2sos' by default and can be any of
    the following:

    'df1sos'
    'df2sos'
    'df1tsos'
    'df2tsos'
    'cascadeallpass'
    'cascadewdfallpass'
 
    Some of the listed structures may not be supported by System object
    filters. Type validstructures(D, 'cheby1', 'SystemObject', true) to
    get a list of structures supported by System objects.
 
    HD = DESIGN(..., 'MatchExactly', MATCH) designs a Chebyshev type I
    filter and matches the frequency and magnitude specification for the
    band MATCH exactly.  The other band will exceed the specification.  MATCH
    can be 'stopband' or 'passband' and is 'passband' by default.
 
    HD = DESIGN(..., 'SOSScaleNorm', NORM) designs an SOS filter and scales
    the coefficients using the P-Norm NORM. NORM can be either a 
    discrete-time-domain norm or a frequency-domain norm. Valid time-domain 
    norms are 'l1','l2', and 'linf'. Valid frequency-domain norms are 
    'L1','L2', and 'Linf'. Note that L2-norm is equal to l2-norm 
    (Parseval's theorem) but the same is not true for other norms.
    
    The different norms can be ordered in terms of how stringent they are 
    as follows: 'l1' >= 'Linf' >= 'L2' = 'l2' >= 'L1' >= 'linf'.
    Using the most stringent scaling, 'l1', the filter is the least prone 
    to overflow, but also has the worst signal-to-noise ratio. Linf-scaling is 
    the most commonly used scaling in practice.
    
    Scaling is turned off by default, which is equivalent to setting
    SOSScaleNorm = ''.
 
    HD = DESIGN(..., 'SOSScaleOpts', OPTS) designs an SOS filter and scales
    the coefficients using an FDOPTS.SOSSCALING object OPTS.  Scaling options 
    are:
    Property                Default     Description/Valid values
    ---------               -------     ------------------------
    'sosReorder'            'auto'      Reorder section prior to scaling.
                                        {'auto','none','up','down','lowpass',
                                         'highpass','bandpass','bandstop'}
    'MaxNumerator'          2           Maximum value for numerator coefficients
    'NumeratorConstraint'   'none'      {'none', 'unit', 'normalize','po2'}
    'OverflowMode'          'wrap'      {'wrap','saturate'}
    'ScaleValueConstraint'  'unit'      {'unit','none','po2'}
    'MaxScaleValue'         'Not used'  Maximum value for scale values
    
    When sosReorder is set to 'auto', the sections will be automatically
    reordered depending on the response type of the design (lowpass,
    highpass, etc.).
    
    Note that 'MaxScaleValue' will only be used when 'ScaleValueConstraint'
    is set to something other than 'unit'. If 'MaxScaleValue' is set to a
    number, the 'ScaleValueConstraint' will be changed to 'none'. Further,
    if SOSScaleNorm is off (as it is by default), then all the SOSScaleOpts
    will be ignored.
 
    For more information about P-Norm and scaling options see help for DFILT\SCALE.
 
    % Example #1 - Compare passband and stopband MatchExactly.
       h     = fdesign.lowpass('Fp,Fst,Ap,Ast', .1, .3, 1, 60);
       Hd    = design(h, 'cheby1', 'MatchExactly', 'passband');
       Hd(2) = design(h, 'cheby1', 'MatchExactly', 'stopband');
 

输入参数

全部折叠

滤波器设定对象,指定为 fdesign 函数之一。

所设计滤波器的冲激响应,指定为 'FIR''IIR'。当未指定时,函数输出同时支持 'FIR''IIR' 响应类型的设计方法。

示例: designmethods(designSpecs,'FIR','SystemObject',true)

输出参量

全部折叠

可用的设计方法,以元胞数组形式返回。每个元胞包含方法的名称,并由输入到函数的参量确定。

版本历史记录

在 R2009a 中推出