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 с объектами спецификации фильтров Найквиста вы можете столкнуться со случаями проекта, где создание фильтра не сходится. Ошибки сходимости происходят в основном в больших порядке фильтра, или маленьких ширинах перехода или больших затуханиях в полосе задерживания. Эти технические требования, одни или объединенные, могут вызвать отказы проекта. Для получения дополнительной информации обратитесь к 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 object and other objects of type uitoolbar, uimenu. The axes object with title Magnitude Response (dB) contains 2 objects of type line.

fvtool показывает equiripple природу фильтра.

Этот пример проектирует фильтр equiripple с транспонированной структурой прямой формы путем определения аргумента 'FilterStructure'. Чтобы установить проектные решения для фильтра, используйте designopts метод и объект 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: [-0.0024 -0.0021 0.0068 0.0167 0.0111 -0.0062 ... ]
    InitialConditions: 0

  Show all properties

fvtool(firFilt);

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

MaxPhase проектное решение для equripple КИХ-фильтров в настоящее время только доступно для lowpass, highpass, полосы пропускания и заграждающих фильтров.

Смотрите также

Функции

Введенный в R2011a