exponenta event banner

fdesign.decimator

Объект спецификации фильтра прореживателя

Синтаксис

D = fdesign.decimator(M)
D = fdesign.decimator(M, RESPONSE)
D = fdesign.decimator(M, CICRESPONSE, D)
D = fdesign.decimator(M, RESPONSE, SPEC)
D = fdesign.decimator(...,SPEC,specvalue1,specvalue2,...)
D = fdesign.decimator(...,Fs)
D = fdesign.decimator(...,MAGUNITS)

Описание

D = fdesign.decimator(M) создает объект спецификации фильтра прореживателя D с DecimationFactor свойство, равное целому положительному значению M и Response свойство имеет значение 'Nyquist'. Значения по умолчанию для ширины перехода и затухания полосы останова в конструкции Найквиста составляют 0,1δ радиан/образец и 80 дБ. Если M не указан, M по умолчанию - 2.

D = fdesign.decimator(M, RESPONSE) создает объект спецификации прореживателя с коэффициентом прореживания M и 'Response' собственность.

D = fdesign.decimator(M, CICRESPONSE, D) создает объект спецификации CIC или CIC-компенсатора с коэффициентом прореживания, M, 'Response' свойство равно 'CIC' или 'CICCOMP', и D равно дифференциальной задержке. Дифференциальная задержка, D, должен предшествовать любой опции спецификации.

Поскольку вы разрабатываете многоскоростные фильтры, доступные опции спецификации не совпадают со спецификациями для проектирования односкоростных фильтров. Коэффициент прореживания M не включен в опции спецификации. Различные ответы фильтра поддерживают различные спецификации. В следующей таблице перечислены поддерживаемые типы ответов и параметры спецификаций. Параметры не чувствительны к регистру.

Метод проектирования

Допустимые параметры спецификации

'Arbitrary Magnitude'

Посмотрите fdesign.arbmag для описания записей спецификации.

  • 'N,F,A' (опция по умолчанию)

  • 'N,B,F,A'

'Arbitrary Magnitude and Phase'

Посмотрите fdesign.arbmagnphase для описания записей спецификации.

  • 'N,F,H' (опция по умолчанию)

  • 'N,B,F,H'

'Bandpass'

Посмотрите fdesign.bandpass для описания записей спецификации.

  • 'Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2' (опция по умолчанию)

  • 'N,Fc1,Fc2'

  • 'N,Fst1,Fp1,Fp2,Fst2'

'Bandstop'

Посмотрите fdesign.bandstop для описания записей спецификации.

  • 'N,Fc1,Fc2'

  • 'N,Fp1,Fst1,Fst2,Fp2'

  • 'Fp1,Fst1,Fst2,Fp2,Ap1,Ast,Ap2' (опция по умолчанию)

'CIC'

'Fp,Ast' - Только действительная спецификация. Fp - частота полосы пропускания и Ast - затухание полосы останова в децибелах.

Чтобы указать прореживатель CIC, включите дифференциальную задержку после 'CIC' перед опцией спецификации фильтра: 'Fp,Ast'. Например:
d = fdesign.decimator(2,'cic',4,'Fp,Ast',0.4,40);

'CIC Compensator'

Посмотрите fdesign.ciccomp для описания записей спецификации.

  • 'Fp,Fst,Ap,Ast' (опция по умолчанию)

  • 'N,Fc,Ap,Ast'

  • 'N,Fp,Ap,Ast'

  • 'N,Fp,Fst'

  • 'N,Fst,Ap,Ast'

Чтобы указать дециматор компенсатора CIC, включите дифференциальную задержку после 'CICCOMP' и перед спецификацией фильтра. Например:
d = fdesign.decimator(2,'ciccomp',4);

'Differentiator'

'N' - порядок фильтрации

'Gaussian'

'Nsym,BTNsym - порядок фильтра в символах и BT - продукт времени символа полосы пропускания.

Спецификации должно предшествовать целое число SamplesPerSymbol.

'Halfband

Посмотрите fdesign.halfband для описания записей спецификации.

  • 'TW,Ast' (опция по умолчанию)

  • 'N,TW'

  • 'N'

  • 'N,Ast'

Если используется квазилинейный метод проектирования БИХ, iirlinphase, при спецификации полуполосы коэффициент интерполяции должен быть равен 2.

'Highpass'

Посмотрите fdesign.highpass для описания записей спецификации.

  • 'Fst,Fp,Ast,Ap' (опция по умолчанию)

  • 'N,F3db'

  • 'N,Fc'

  • 'N,Fc,Ast,Ap'

  • 'N,Fp,Ast,Ap'

  • 'N,Fst,Ast,Ap'

  • 'N,Fst,Fp'

  • 'N,Fst,Ast,Ap'

  • 'N,Fst,Fp,Ast'

'Hilbert'

Посмотрите fdesign.hilbert для описания записей спецификации.

  • 'N,TW' (опция по умолчанию)

  • 'TW,Ap'

'Inverse-sinc Lowpass'

Посмотрите fdesign.isinclp для описания записей спецификации.

  • 'Fp,Fst,Ap,Ast' (опция по умолчанию)

  • 'N,Fc,Ap,Ast'

  • 'N,Fp,Fst'

  • 'N,Fst,Ap,Ast'

'Inverse-sinc Highpass'

Посмотрите fdesign.isinchp для описания записей спецификации.

  • 'Fst,Fp,Ast,Ap' (опция по умолчанию)

  • 'N,Fc,Ast,Ap'

  • 'N,Fst,Fp'

  • 'N,Fst,Ast,Ap'

'Lowpass'

Посмотрите fdesign.lowpass для описания записей спецификации.

  • 'Fp,Fst,Ap,Ast' (опция по умолчанию)

  • 'N,F3dB'

  • 'N,Fc'

  • 'N,Fc,Ap,Ast'

  • 'N,Fp,Ap,Ast'

  • 'N,Fp,Fst'

  • 'N,Fp,Fst,Ap'

  • 'N,Fp,Fst,Ast'

  • 'N,Fst,Ap,Ast'

'Nyquist'

Посмотрите fdesign.nyquist для описания записей спецификации. Для всех спецификаций Nyquist необходимо указать диапазон Lth. Обычно это соответствует DecimationFactor.

  • 'TW,Ast' (опция по умолчанию)

  • 'N'

  • 'N,Ast'

  • 'N,Ast'

D = fdesign.decimator(M, RESPONSE, SPEC) конструирует объект D и устанавливает Specification свойство для SPEC для типа ответа, RESPONSE. Записи в SPEC представляют различные характеристики отклика фильтра, такие как порядок фильтров, которые управляют конструкцией фильтра. Действительные записи для SPEC зависят от RESPONSE тип.

Поскольку вы разрабатываете многоскоростные фильтры, доступные опции спецификации не совпадают со спецификациями для проектирования односкоростных фильтров с такими типами ответов, как fdesign.lowpass. Параметры не чувствительны к регистру.

Коэффициент прореживания M отсутствует в параметрах спецификации.

D = fdesign.decimator(...,SPEC,specvalue1,specvalue2,...) создает объект D и устанавливает свои технические характеристики во время строительства.

D = fdesign.decimator(...,Fs) обеспечивает частоту дискретизации фильтруемого сигнала. Fs должен быть указан как скаляр, задающий другие предоставленные числовые значения. Fs принимается в Гц, как и все остальные представленные значения частоты.

D = fdesign.decimator(...,MAGUNITS) задает единицы измерения для любой спецификации величины, указанной во входных аргументах. MAGUNITS может быть одним из

  • 'linear' - задать величину в линейных единицах.

  • 'dB' - задать величину в дБ (децибелах).

  • 'squared' - указать величину в энергоблоках.

Когда вы опускаете MAGUNITS аргумент, fdesign предполагает, что все величины находятся в децибелах. Обратите внимание, что fdesign сохраняет все значения в децибелах (при необходимости преобразуя их в децибелы) независимо от способа задания значений.

Примеры

свернуть все

В этих примерах показано, как создавать прореживающие объекты спецификации фильтра.

Сначала создайте объект спецификации по умолчанию без использования входных аргументов, за исключением коэффициента прореживания m.

d = fdesign.decimator(2,'Nyquist',2,0.1,80) %#ok % Set tw=0.1, and ast=80. 
d = 
  decimator with properties:

          MultirateType: 'Decimator'
               Response: 'Nyquist'
       DecimationFactor: 2
          Specification: 'TW,Ast'
            Description: {2x1 cell}
                   Band: 2
    NormalizedFrequency: 1
        TransitionWidth: 0.1000
                  Astop: 80

Теперь создайте объект, передав опцию типа спецификации «fst1, fp1, fp2, fst2, ast1, ap, ast2» и конструкцию - результирующий объект использует значения по умолчанию для спецификаций фильтра. В этом примере при включении спецификации необходимо указать входной аргумент конструкции, полосовой интервал.

d = fdesign.decimator(8,'bandpass',...
'fst1,fp1,fp2,fst2,ast1,ap,ast2'); %#ok

Создайте другой прореживающий объект спецификации фильтра, передав значения спецификации объекту, а не принимая значения по умолчанию для fp, fst, ap, ast.

d = fdesign.decimator(3,'lowpass',.45,0.55,.1,60); %#ok

Теперь передайте спецификации фильтра, которые соответствуют спецификациям - n, fc, ap, ast.

d = fdesign.decimator(3,'ciccomp',1,2,'n,fc,ap,ast',...
20,0.45,.05,50);

Теперь сконструируйте прореживатель, используя метод проектирования equiripple.

equiDecimator = design(d,'equiripple','SystemObject',true);

Передайте новый тип спецификации для фильтра, указав порядок фильтра. Следует отметить, что входные данные должны включать дифференциальную задержку dd с аргументом CIC input для проектирования объекта спецификации CIC.

m = 5;
dd = 2;
d = fdesign.decimator(m,'cic',dd,'fp,ast',0.55,55); %#ok

В этом примере частота выборки указывается в качестве последнего входного аргумента. Вот он 1000 Гц. Спроектируйте равноконтактный фильтр и постройте график амплитудной характеристики:

d = fdesign.decimator(8,'bandpass','fst1,fp1,fp2,fst2,ast1,ap,ast2',...
100,150,250,300,50,.05,50,1000);
fvtool(design(d,'equiripple','SystemObject',true))

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.

Представлен в R2011a