freqsamp

Действительный или комплексный произведенный частотой КИХ фильтрует от объекта спецификации

Синтаксис

hd = design(d,'freqsamp','SystemObject',true)
hd = design(...,'filterstructure',structure,'SystemObject',true)
hd = design(...,'window',window,'SystemObject',true)

Описание

hd = design(d,'freqsamp','SystemObject',true) проектирует произведенный частотой фильтр, заданный объектом d технических требований фильтра.

hd = design(...,'filterstructure',structure,'SystemObject',true) возвращает фильтр со структурой фильтра, которую вы задаете structure входной параметр. structure dffir по умолчанию и может быть любая из следующих структур фильтра.

Структура

Описание получившейся структуры фильтра

dffir

КИХ-фильтр прямой формы

dffirt

Транспонированный КИХ-фильтр прямой формы

dfsymfir

Симметричный КИХ-фильтр прямой формы

dfasymfir

Асимметричный КИХ-фильтр прямой формы

hd = design(...,'window',window,'SystemObject',true) фильтры проектов с помощью окна заданы window. Предоставьте входному параметру window как

  • Вектор символов для типа окна. Например, используйте 'bartlett', или 'hamming'. Смотрите window для полного списка доступных окон.

  • Указатель на функцию это ссылается window функция. Когда window функция требует больше чем одного входа, используйте массив ячеек, чтобы содержать обязательные аргументы. Первый пример показывает входной параметр массива ячеек.

  • Сам вектор окна.

Примеры

свернуть все

Эти примеры проектируют КИХ-фильтры, которые имеют произвольные ответы величины. В первом фильтре ответ имеет три отличных раздела, и получившийся фильтр действителен.

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

b1 = 0:0.01:0.18;
b2 = [.2 .38 .4 .55 .562 .585 .6 .78];
b3 = 0.79:0.01:1;
a1 = .5+sin(2*pi*7.5*b1)/4;    % Sinusoidal response section.
a2 = [.5 2.3 1 1 -.2 -.2 1 1]; % Piecewise linear response section.
a3 = .2+18*(1-b3).^2;          % Quadratic response section.
f = [b1 b2 b3];
a = [a1 a2 a3];
n = 300;
d = fdesign.arbmag('n,f,a',n,f,a); % First specifications object.
hd = design(d,'freqsamp','window',{@kaiser,.5},...
    'SystemObject',true); % Filter.
fvtool(hd)

Теперь спроектируйте КИХ-фильтр комплекса произвольной величины. Вспомните, что вектор f содержит местоположения частоты, и векторизуйте содержание желаемых значений отклика фильтра в местоположениях, заданных в f.

f = [-1 -.93443 -.86885 -.80328 -.7377 -.67213 -.60656 -.54098 ...
-.47541,-.40984 -.34426 -.27869 -.21311 -.14754 -.081967 ...
-.016393 .04918 .11475,.18033 .2459 .31148 .37705 .44262 ...
 .5082 .57377 .63934 .70492 .77049,.83607 .90164 1];
a = [.0095848 .021972 .047249 .099869 .23119 .57569 .94032 ...
.98084 .99707,.99565 .9958 .99899 .99402 .99978 .99995 .99733 ...
.99731 .96979 .94936,.8196 .28502 .065469 .0044517 .018164 ...
.023305 .02397 .023141 .021341,.019364 .017379 .016061];
n = 48;
d = fdesign.arbmag('n,f,a',n,f,a); % Second spec. object.
hdc = design(d,'freqsamp','window','rectwin','SystemObject',true); % Filter.
fvtool(hdc)

fvtool показывает вам ответ для hdc от-1 до 1 в нормированной частоте. проект (d...) возвращает комплексный фильтр для hdc, потому что вектор частоты включает отрицательные значения частоты.

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

| | | |

Введенный в R2011a