exponenta event banner

fdesign.lowpass

Спецификация фильтра нижних частот

Синтаксис

D = fdesign.lowpass
D = fdesign.lowpass(SPEC)
D = fdesign.lowpass(SPEC,specvalue1,specvalue2,...)
D = fdesign.lowpass(specvalue1,specvalue2,specvalue3,specvalue4)
D = fdesign.lowpass(...,Fs)
D = fdesign.lowpass(...,MAGUNITS)

Описание

D = fdesign.lowpass создает объект спецификации фильтра нижних частот D, применение значений по умолчанию для опции спецификации по умолчанию 'Fp,Fst,Ap,Ast'.

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

Примечание

Параметры спецификаций, отмеченные звездочкой, требуют использования программного обеспечения DSP System Toolbox™.

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

  • 'N,F3db'

  • 'N,F3db,Ap' *

  • 'N,F3db,Ap,Ast' *

  • 'N,F3db,Ast' *

  • 'N,F3db,Fst' *

  • 'N,Fc'

  • 'N,Fc,Ap,Ast'

  • 'N,Fp,Ap'

  • 'N,Fp,Ap,Ast'

  • 'N,Fp,Fst,Ap' *

  • 'N,Fp,F3db' *

  • 'N,Fp,Fst'

  • 'N,Fp,Fst,Ast' *

  • 'N,Fst,Ap,Ast' *

  • 'N,Fst,Ast'

  • 'Nb,Na,Fp,Fst' *

Характеристики фильтра определяются следующим образом:

  • Ap - допустимая величина пульсации в полосе пропускания в децибелах (единицы по умолчанию). Также называется Апасс.

  • Ast - затухание в стоп-полосе в децибелах (единицы по умолчанию). Также называется Astop.

  • F3db - частота отсечки для точки 3 дБ ниже значения полосы пропускания. Указывается в нормированных единицах частоты.

  • Fc - частота отсечки для точки 6 дБ ниже значения полосы пропускания. Указывается в нормированных единицах частоты.

  • Fp - частота в начале полосы пропускания. Указывается в нормированных единицах частоты. Также называется Фпасс.

  • Fst - частота в конце стоп-полосы. Указывается в нормированных единицах частоты. Также называется Фстоп.

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

  • Na и Nb - порядок знаменателя и числителя.

Графически характеристики фильтра выглядят аналогично показанным на следующем рисунке.

Области между значениями спецификации, например Fp и Fst - переходные области, в которых отклик фильтра явно не определен.

D = fdesign.lowpass(SPEC,specvalue1,specvalue2,...) создает объект D и устанавливает значения спецификации во время конструирования с помощью specvalue1, specvalue2и так далее для всех переменных спецификации в SPEC.

D = fdesign.lowpass(specvalue1,specvalue2,specvalue3,specvalue4) создает объект D со значениями по умолчанию Specification собственность 'Fp,Fst,Ap,Ast' используя спецификации, которые вы предоставляете в качестве входных аргументов specvalue1,specvalue2,specvalue3,specvalue4.

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

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

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

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

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

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

Примеры

свернуть все

Проектирование фильтра-бабочки с частотными откликами нижних и верхних частот. Процедура проектирования фильтра:

  1. Укажите спецификации конструкции фильтра с помощью fdesign функция.

  2. Выберите метод проектирования, предоставленный designmethods функция.

  3. Чтобы определить доступные варианты конструкции на выбор, используйте designoptions функция.

  4. Спроектируйте фильтр с помощью design функция.

Фильтр нижних частот

Создание объекта спецификации конструкции фильтра нижних частот по умолчанию с помощью fdesign.lowpass.

designSpecs = fdesign.lowpass
designSpecs = 
  lowpass with properties:

               Response: 'Lowpass'
          Specification: 'Fp,Fst,Ap,Ast'
            Description: {4x1 cell}
    NormalizedFrequency: 1
                  Fpass: 0.4500
                  Fstop: 0.5500
                  Apass: 1
                  Astop: 60

Определение доступных методов проектирования с помощью designmethods функция. Для проектирования фильтра бабочки выберите butter.

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,'butter','SystemObject',true)
ans = struct with fields:
           FilterStructure: {1x6 cell}
              SOSScaleNorm: 'ustring'
              SOSScaleOpts: 'fdopts.sosscaling'
              MatchExactly: {'passband'  'stopband'}
    DefaultFilterStructure: 'df2sos'
       DefaultMatchExactly: 'stopband'
       DefaultSOSScaleNorm: ''
       DefaultSOSScaleOpts: [1x1 fdopts.sosscaling]

Используйте design для проектирования фильтра. Проход 'butter' и спецификации, задаваемые переменной designSpecs, в качестве входных аргументов. Укажите 'matchexactly' вариант конструкции для 'passband'.

lpFilter = design(designSpecs,'butter','matchexactly','passband','SystemObject',true);

Визуализация частотной характеристики проектируемого фильтра.

fvtool(lpFilter)

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.

Фильтр верхних частот

Создание объекта спецификации конструкции фильтра верхних частот с помощью fdesign.highpass. Укажите порядок 7, а частоту 3 дБ - 0,6δ радиан/образец.

designSpecs = fdesign.highpass('N,F3dB',7,.6); 

Определите доступные методы проектирования. Для проектирования фильтра бабочки выберите butter.

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


butter
maxflat

При проектировании фильтра можно задать дополнительные варианты конструкции. Просмотр списка опций с помощью designoptions функция. Эта функция также показывает варианты конструкции по умолчанию, используемые фильтром.

designoptions(designSpecs,'butter','SystemObject',true)
ans = struct with fields:
           FilterStructure: {1x6 cell}
              SOSScaleNorm: 'ustring'
              SOSScaleOpts: 'fdopts.sosscaling'
    DefaultFilterStructure: 'df2sos'
       DefaultSOSScaleNorm: ''
       DefaultSOSScaleOpts: [1x1 fdopts.sosscaling]

Для проектирования фильтра бабочки используйте design функции и указать 'butter' в качестве входных данных. Набор 'FilterStructure' кому 'cascadeallpass'.

hpFilter = design(designSpecs,'butter','FilterStructure','cascadeallpass','SystemObject',true);

Визуализируйте высокочастотную характеристику.

fvtool(hpFilter)

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.

Низкочастотный фильтр дискретно-временного сигнала, состоящего из двух синусоидальных волн.

Создайте объект спецификации фильтра нижних частот. Укажите частоту полосы пропускания 0,15δ рад/образец, а частоту полосы останова - 0,25δ рад/образец. Укажите 1 дБ допустимой пульсации полосы пропускания и затухание полосы останова 60 дБ.

d = fdesign.lowpass('Fp,Fst,Ap,Ast',0.15,0.25,1,60);

Выполните запрос допустимых методов конструирования для объекта спецификации фильтра. d.

designmethods(d)
Design Methods for class fdesign.lowpass (Fp,Fst,Ap,Ast):


butter
cheby1
cheby2
ellip
equiripple
ifir
kaiserwin
multistage

Создайте equiripple-фильтр FIR и просмотрите отклик величины фильтра с помощью fvtool.

Hd = design(d,'equiripple');
fvtool(Hd)

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.

Создайте сигнал, состоящий из суммы двух дискретно-временных синусоид с частотами δ/8 и λ/4 рад/выборка и амплитудами 1 и 0,25 соответственно. Фильтрация дискретно-временного сигнала с помощью объекта equiripple фильтра FIR, Hd.

n = 0:159;
x = (0.25*cos((pi/8)*n)+sin((pi/4)*n));
y = filter(Hd,x);

Вычислите преобразование Фурье исходного сигнала и отфильтрованного сигнала. Убедитесь, что высокочастотный компонент отфильтрован.

freq = 0:(2*pi)/160:pi;
xdft = fft(x);
ydft = fft(y);

figure
plot(freq/pi,abs(xdft(1:length(x)/2+1)))
hold on
plot(freq/pi,abs(ydft(1:length(y)/2+1)))
hold off

legend('Original Signal','Filtered Signal')
ylabel('Magnitude')
xlabel('Normalized Frequency (\times\pi rad/sample)')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Original Signal, Filtered Signal.

Создайте фильтр порядка 10 с частотой 6-dB 9,6 кГц и частотой дискретизации 48 кГц. Посмотрите на доступные методы проектирования.

d = fdesign.lowpass('N,Fc',10,9600,48000);
designmethods(d)
Design Methods for class fdesign.lowpass (N,Fc):


window

Единственным допустимым методом проектирования является метод окна FIR. Спроектируйте фильтр.

Hd = design(d);

Отобразите отклик величины фильтра. Точка -6 дБ находится на частоте 9,6 кГц, как и ожидалось.

fvtool(Hd)

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.

Создайте equiripple-фильтр FIR с частотой полосы пропускания 0,2δ рад/образец, частотой полосы останова 0,25δ рад/образец, пульсацией полосы пропускания 1 дБ и ослаблением полосы останова 60 дБ. Сконструируйте фильтр с линейной полосой останова 20 дБ/рад/образец.

D = fdesign.lowpass('Fp,Fst,Ap,Ast',0.2,0.25,1,60);
Hd = design(D,'equiripple','StopbandShape','linear','StopbandDecay',20);

Визуализация частотной характеристики фильтра.

fvtool(Hd)

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.

См. также

| |

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