exponenta event banner

phasedelay

Фазовая задержка цифрового фильтра

Синтаксис

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

Описание

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

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

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

[phi,w] = phasedelay(...,n,'whole') использование n равноудаленные точки вокруг всей единичной окружности.

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

[phi,f] = phasedelay(...,n,fs) и [phi,f] = phasedelay(...,n,'whole',fs) возврат вектора фазовой задержки f (в Гц), используя частоту дискретизации fs (в Гц). f должен содержать не менее двух элементов.

phi = phasedelay(...,f,fs) возвращает отклик фазовой задержки на частотах, указанных в векторе f (в Гц), используя частоту дискретизации fs (в Гц).

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

phasedelay(...) без выходных аргументов строит график зависимости фазовой задержки от частоты.

Примечание

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

Примеры

свернуть все

Используйте ограниченные наименьшие квадраты для конструирования фильтра FIR нижних частот порядка 54 и нормированной частоты отсечки 0,3. Задайте пульсацию полосы пропускания и затухание полосы останова как 0,02 и 0,08 соответственно, выраженные в линейных единицах. Вычислите и постройте график фазовой задержки фильтра.

Ap = 0.02;
As = 0.008;

b = fircls1(54,0.3,Ap,As);
phasedelay(b)

Figure contains an axes. The axes contains an object of type line.

Повторите пример, используя designfilt. Помните, что эта функция выражает пульсации в децибелах.

Apd = 40*log10((1+Ap)/(1-Ap));
Asd = -20*log10(As);

d = designfilt('lowpassfir','FilterOrder',54,'CutoffFrequency',0.3, ...
               'PassbandRipple',Apd,'StopbandAttenuation',Asd);
phasedelay(d)

Figure Filter Visualization Tool - Phase Delay contains an axes and other objects of type uitoolbar, uimenu. The axes with title Phase Delay contains an object of type line.

Проектирование эллиптического фильтра порядка 10 и нормированной частоты полосы пропускания 0,4. Задайте пульсацию полосы пропускания 0,5 дБ и затухание полосы останова 20 дБ. Отображение отклика фильтра на фазовую задержку по всей единичной окружности.

[b,a] = ellip(10,0.5,20,0.4); 
phasedelay(b,a,512,'whole')

Figure contains an axes. The axes contains an object of type line.

Повторите пример, используя designfilt.

d = designfilt('lowpassiir','DesignMethod','ellip','FilterOrder',10, ...
               'PassbandFrequency',0.4, ...
               'PassbandRipple',0.5,'StopbandAttenuation',20);
phasedelay(d,512,'whole')

Figure Filter Visualization Tool - Phase Delay contains an axes and other objects of type uitoolbar, uimenu. The axes with title Phase Delay contains an object of type line.

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