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

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

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

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

Примеры

свернуть все

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

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

Создайте сигнал, состоящий из суммы двух синусоид дискретного времени с частотами π/8 и π/4 рада/выборки и амплитуд 1 и 0.25 соответственно. Отфильтруйте сигнал дискретного времени с КИХ 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)')

Создайте фильтр порядка 10 с частотой на 6 дБ 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)

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

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

Смотрите также

| |

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