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)

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.

Теперь спроектируйте КИХ-фильтр комплекса произвольной величины. Вспомните, что вектор 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)

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.

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

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

| | | |

Введенный в R2011a