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

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

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

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

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

Создайте КИХ equiripple, фильтруют и просматривают ответ значения фильтра с fvtool.

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

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

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

Создайте КИХ equiripple фильтр с частотой полосы пропускания 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)

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

| |

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