fdesign.lowpass

Спецификация фильтра 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 создает 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 - ослабление в полосе упора в децибелах (единицах измерения по умолчанию). Также называется Астоп.

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

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

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

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

  • 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 сохраняет все спецификации величин в децибелах (преобразование в децибелы при необходимости) независимо от того, как вы задаете величины.

Примеры

свернуть все

Проектируйте фильтр Баттерворта с lowpass и высокочастотными характеристиками. Процедура создания фильтра:

  1. Задайте спецификации создания фильтра с помощью fdesign функция.

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

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

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

Lowpass Фильтр

Создайте объект спецификации lowpass создания фильтра умолчанию с помощью 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.

Фильтр Highpass

Создайте объект спецификации создания фильтра highpass с помощью 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.

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

Создайте объект спецификации фильтров lowpass. Задайте частоту полосы пропускания, которая будет 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

Создайте конечную импульсную характеристику KIR equiripple и посмотрите характеристику величины фильтра с 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 соответственно. Пропустите сигнал дискретного времени с объектом фильтра KIR equiripple, 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

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

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.

Создайте конечную импульсную характеристику фильтр равновесия с частотой полосы пропускания 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