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

Для просмотра документации необходимо авторизоваться на сайте