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 соответствует коэффициентам фильтра второго порядка (biquad). 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, является одинарной точностью.

Примеры

свернуть все

Используйте методы наименьших квадратов с ограничениями для разработки lowpass конечной импульсной характеристики порядка 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