фазы

Фазовый отклик цифрового фильтра

Синтаксис

[phi,w] = phasez(b,a,n)
[phi,w] = phasez(sos,n)
[phi,w] = phasez(d,n)
[phi,w] = phasez(...,n,'whole')
phi = phasez(...,w)
[phi,f] = phasez(...,n,fs)
phi = phasez(...f,fs)
[phi,w,s] = phasez(...)
phasez(...)

Описание

[phi,w] = phasez(b,a,n) возвращает n - точка развернутый вектор фазового отклика, phi, в радианах и векторе частоты, w, в радианах/выборке для коэффициентов фильтра, заданных в b и a. Значения вектора частоты, w, колеблются от 0 до π. Если n не использован, длина значений по умолчанию вектора фазового отклика к 512. Для лучших результатов, набор n к значению, больше, чем порядок фильтра.

[phi,w] = phasez(sos,n) возвращает развернутый фазовый отклик для матрицы разделов второго порядка, sos. sos является K-by-6 матрица, где количество разделов, K, должно быть больше, чем или равным 2. Если количество разделов - меньше чем 2, phasez полагает, что вход вектор числителя, b. Каждая строка sos соответствует коэффициентам второго порядка (biquad) фильтр. i th строка матрицы sos соответствует [bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)].

[phi,w] = phasez(d,n) возвращает развернутый фазовый отклик для цифрового фильтра, d. Используйте designfilt, чтобы сгенерировать d на основе спецификаций частотной характеристики.

[phi,w] = phasez(...,n,'whole') возвращает частоту и развернутые векторы фазового отклика, оцененные в n равномерно распределенные точки вокруг модульного круга от 0 до 2π радианы/выборка.

phi = phasez(...,w) возвращает развернутый фазовый отклик в радианах на частотах, заданных в w (радианы/выборка). Частоты обычно между 0 и π. Векторный w должен иметь по крайней мере два элемента.

[phi,f] = phasez(...,n,fs) возвратите развернутый вектор фазы phi в радианах и вектор частоты в герц. Вектор частоты колеблется от 0 до частоты Найквиста, fs/2. Если опция 'whole' используется, диапазоны вектора частоты от 0 до частоты дискретизации.

phi = phasez(...f,fs) возвратите фазовый отклик в радианах на частотах, заданных в векторном f (в герц) использование частоты дискретизации fs (в герц). Векторный f должен иметь по крайней мере два элемента.

[phi,w,s] = phasez(...) возвратите информацию о графическом выводе, где s является массивом структур с полями, можно изменить на отображение различные графики частотных характеристик.

phasez(...) без выходных аргументов строит фазовый отклик фильтра. Если вы вводите коэффициенты фильтра или матрицу разделов второго порядка, окно текущей фигуры используется. Если вы вводите digitalFilter, переходной процесс отображен в fvtool.

Примечание

Если вход к phasez является одинарной точностью, фазовый отклик вычисляется с помощью арифметики с одинарной точностью. Вывод, phi, является одинарной точностью.

Примеры

свернуть все

Используйте designfilt, чтобы разработать КИХ-фильтр порядка 54, нормированной частоты среза 0.3π rad/s, пульсация полосы пропускания 0,7 дБ и затухание полосы задерживания 42 дБ. Используйте метод метода наименьших квадратов с ограничениями. Отобразите фазовый отклик фильтра.

Nf = 54;
Fc = 0.3;
Ap = 0.7;
As = 42;

d = designfilt('lowpassfir','CutoffFrequency',Fc,'FilterOrder',Nf, ...
               'PassbandRipple',Ap,'StopbandAttenuation',As, ...
               'DesignMethod','cls');
phasez(d)

Разработайте тот же фильтр с помощью fircls1. Следует иметь в виду, что fircls1 использует линейные модули, чтобы измерить пульсацию и затухание.

pAp = 10^(Ap/40);
Apl = (pAp-1)/(pAp+1);

pAs = 10^(As/20);
Asl = 1/pAs;

b = fircls1(Nf,Fc,Apl,Asl);
phasez(b)

Разработайте lowpass equiripple фильтр с нормированной частотой полосы пропускания 0.45π rad/s, нормированная частота полосы задерживания 0.55π rad/s, пульсация полосы пропускания 1 дБ и затухание полосы задерживания 60 дБ. Отобразите фазовый отклик фильтра.

d = designfilt('lowpassfir', ...
               'PassbandFrequency',0.45,'StopbandFrequency',0.55, ...
               'PassbandRipple',1,'StopbandAttenuation',60, ...
               'DesignMethod','equiripple');
phasez(d)

Разработайте эллиптический lowpass БИХ-фильтр с нормированной частотой полосы пропускания 0.4π rad/s, нормированная частота полосы задерживания 0.5π rad/s, пульсация полосы пропускания 1 дБ и затухание полосы задерживания 60 дБ. Отобразите фазовый отклик фильтра.

d = designfilt('lowpassiir', ...
               'PassbandFrequency',0.4,'StopbandFrequency',0.5, ...
               'PassbandRipple',1,'StopbandAttenuation',60, ...
               'DesignMethod','ellip');
phasez(d)

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

| | | | |

Представлено до R2006a