fdesign.highpass

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

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

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

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

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

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

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

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

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

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

Примеры

свернуть все

Проектируйте фильтр Баттерворта с 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.

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

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

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

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

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

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.

Можно задать форму пробки и скорость распада пробки.

Создайте две конечные импульсные характеристики equiripple-фильтра с различными линейными уклонами пробок. Задайте частоту полосы пропускания, которая должна быть 0,3 Укажите 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