equiripple

Equiripple односкоростной конечная импульсная характеристика от объекта спецификации

Синтаксис

equiFilt = design(d,'equiripple','SystemObject',true)
equiFilt = design(d,'equiripple',designoption,value,...,'SystemObject',true)

Описание

equiFilt = design(d,'equiripple','SystemObject',true) проектирует equiripple конечной импульсной характеристики цифровой фильтр, используя спецификации, представленные в объекте d. Создания фильтра Equiripple минимизируют максимальную пульсацию в полосах пропускания и полосах упора.

Когда вы используете equiripple с объектами спецификации фильтров Nyquist можно столкнуться со случаями проектирования, когда создание фильтра не сходится. Ошибки сходимости возникают в основном при больших порядках фильтра, или малых ширинах переходов, или больших затуханиях в полосе задерживания. Эти спецификации, в одиночку или вместе взятые, могут вызвать отказы в проекте. Для получения дополнительной информации см. fdesign.nyquist в интерактивной справочной системе.

equiFilt = design(d,'equiripple',designoption,value,...,'SystemObject',true) возвращает фильтр конечной импульсной характеристики equiripple, где вы задаете опции проекта в качестве входных параметров.

Чтобы определить доступные опции проекта, используйте designopts с объектом спецификации и методом проекта в качестве входных параметров, как показано на рисунке.

designopts(d,'method')

Полная справка по использованию equirippleсм. справочную систему командной строки. Например, чтобы получить конкретную информацию об использовании equiripple с d, объект спецификации, введите следующее в подсказке MATLAB.

help(d,'equiripple')

Примеры

свернуть все

Design a single-rate equiripple filter from a halfband filter 
specification object. Notice the help command used to learn about the 
options for the specification object and method.
d = fdesign.halfband('tw,ast',0.1,80);
designmethods(d,'Systemobject',true)
Design Methods that support System objects for class fdesign.halfband (TW,Ast):


butter
ellip
iirlinphase
equiripple
kaiserwin
help(d,'equiripple')
 DESIGN Design a Equiripple FIR filter.
    HD = DESIGN(D, 'equiripple') designs a Equiripple 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 'dffir' by default and can be any of
    the following:

    'dffir'
    'dffirt'
    'dfsymfir'
    'fftfir'
 
    Some of the listed structures may not be supported by System object
    filters. Type validstructures(D, 'equiripple', 'SystemObject', true) to
    get a list of structures supported by System objects.
 
    HD = DESIGN(..., 'MinPhase', MPHASE) designs a minimum-phase filter
    when MPHASE is TRUE.  MPHASE is FALSE by default.
 
    HD = DESIGN(..., 'StopbandShape', SHAPE) designs a filter whose stopband
    has the shape defined by SHAPE.  SHAPE can be 'flat', '1/f', or 'linear'.
    SHAPE is 'flat' by default.

    HD = DESIGN(..., 'StopbandDecay', DECAY) specifies the decay to use when
    'StopbandShape' is not set to 'flat'.  When the shape is '1/f' this
    specifies the power that 1/f is raised.  When shaped is 'linear' this
    specifies the slope of the stopband in dB/rad/s.
 
    % Example #1 - Design a halfband lowpass equiripple filter with increased stopband attenuation.
       TW = 0.1; % Transition Width
       Ast = 80; % Stopband Attenuation (dB)
       h  = fdesign.halfband('Type','Lowpass','TW,Ast',TW,Ast);
       Hd = design(h, 'equiripple', 'StopbandShape','linear','StopbandDecay',50);
       fvtool(Hd)
 
designopts(d,'equiripple')
ans = struct with fields:
    FilterStructure: 'dffir'
           MinPhase: 0
      StopbandShape: 'flat'
      StopbandDecay: 0
       SystemObject: 0

equiFilt = design(d,'equiripple','stopbandshape','flat','SystemObject',true);
fvtool(equiFilt);

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains 2 objects of type line.

The fvtool показывает эквивалентную природу фильтра.

Этот пример проектирует фильтр равновесия с транспонированной структурой прямой формы путем определения аргумента 'FilterStructure'. Чтобы задать опции проекта для фильтра, используйте designopts метод и объект options opts.

d = fdesign.lowpass('fp,fst,ap,ast');
opts = designopts(d,'equiripple');
opts.FilterStructure='dffirt';
opts.DensityFactor=20
opts = struct with fields:
    FilterStructure: 'dffirt'
      DensityFactor: 20
           MinPhase: 0
           MaxPhase: 0
           MinOrder: 'any'
      StopbandShape: 'flat'
      StopbandDecay: 0
        UniformGrid: 1
       SystemObject: 0

firFilt = design(d,'equiripple','SystemObject',true,opts)
firFilt = 
  dsp.FIRFilter with properties:

            Structure: 'Direct form transposed'
      NumeratorSource: 'Property'
            Numerator: [1x43 double]
    InitialConditions: 0

  Show all properties

fvtool(firFilt);

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains 2 objects of type line.

The MaxPhase опция проекта для равномерных конечная импульсная характеристика в настоящее время доступна только для lowpass, highpass, bandpass и полосно-заграждающих фильтров.

См. также

Функции

Введенный в R2011a
Для просмотра документации необходимо авторизоваться на сайте