exponenta event banner

fdesign.highpass

Объект спецификации фильтра верхних частот

Синтаксис

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

Описание

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

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

Примечание

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

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

  • 'N,F3db'

  • 'N,F3db,Ap' *

  • 'N,F3db,Ast' *

  • 'N,F3db,Ast,Ap' *

  • 'N,F3db,Fp *

  • 'N,Fc'

  • 'N,Fc,Ast,Ap'

  • 'N,Fp,Ap'

  • 'N,Fp,Ast,Ap'

  • 'N,Fst,Ast'

  • 'N,Fst,Ast,Ap'

  • 'N,Fst,F3db' *

  • 'N,Fst,Fp'

  • 'N,Fst,Fp,Ap' *

  • 'N,Fst,Fp,Ast' *

  • 'Nb,Na,Fst,Fp' *

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

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

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

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

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

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

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

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

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

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

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

Методы конструкции фильтра, применяемые к объекту спецификации фильтра верхних частот, изменяются в зависимости от Specification. Использовать designmethods определить, какой метод конструирования применим к объекту и его спецификации.

Использовать designopts чтобы определить, какие варианты конструкции допустимы для данного метода конструкции. Для получения подробной информации о вариантах конструкции для данного метода конструкции, METHOD, введите help(D,METHOD) в командной строке MATLAB ®.

D = fdesign.highpass(SPEC,specvalue1,specvalue2,...) создает объект d и устанавливает значения его спецификации во время конструирования.

D = fdesign.highpass(specvalue1,specvalue2,specvalue3,
specvalue4)
создает объект D со значением по умолчанию Specification свойство и значения, введенные для specvalue1,specvalue2,....

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

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

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

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

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

Когда вы опускаете MAGUNITS аргумент, 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.25δ рад/образец, а частоту полосы останова 0.15δ рад/образец. Укажите 1 дБ допустимой пульсации полосы пропускания и затухание полосы останова 60 дБ.

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

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

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


butter
cheby1
cheby2
ellip
equiripple
ifir
kaiserwin

Создайте 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.

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

Постройте график исходных и отфильтрованных сигналов в частотной области.

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

plot(freq/pi,abs(xdft(1:length(x)/2+1)))
hold on
plot(freq/pi,abs(ydft(1:length(y)/2+1)),'r','linewidth',2)
hold off
legend('Original Signal','Lowpass Signal','Location','NorthEast')
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, Lowpass Signal.

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

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


window

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

Hd = design(d);

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.

Можно указать форму стоп-полосы и скорость затухания стоп-полосы.

Создайте два эквиппловых фильтра FIR с различными линейными уклонами стоп-полосы. Укажите частоту полосы пропускания, которая должна равняться 0,3δ рад/образец, и частоту полосы останова, которая должна равняться 0,35δ рад/образец. Укажите 1 дБ допустимой пульсации полосы пропускания и затухание полосы останова 60 дБ. Проектирование одного фильтра с наклоном полосы останова 20 дБ/( рад/образец) и другого фильтра с наклоном 40 дБ/( рад/образец).

D = fdesign.highpass('Fst,Fp,Ast,Ap',0.3,0.35,60,1);
Hd1 = design(D,'equiripple','StopBandShape','linear','StopBandDecay',20);
Hd2 = design(D,'equiripple','StopBandShape','linear','StopBandDecay',40);

Визуализируйте амплитудные характеристики фильтров.

hfvt = fvtool([Hd1 Hd2]);
legend(hfvt,'20 dB/rad/sample','40 dB/rad/sample')

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 3 objects of type line. These objects represent 20 dB/rad/sample, 40 dB/rad/sample.

См. также

| |

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