exponenta event banner

zerophase

Нулевой отклик цифрового фильтра

Синтаксис

[Hr,w] = zerophase(b,a)
[Hr,w] = zerophase(sos)
[Hr,w] = zerophase(d)
[Hr,w] = zerophase(...,nfft)
[Hr,w] = zerophase(...,nfft,'whole')
[Hr,w] = zerophase(...,w)
[Hr,f] = zerophase(...,f,fs)
[Hr,w,phi] = zerophase(...)
zerophase(...)

Описание

[Hr,w] = zerophase(b,a) возвращает отклик нулевой фазы Hrи частотный вектор w (в радианах/пробе), при котором Hr вычисляется, учитывая фильтр, определенный числителем b и знаменатель a. Для фильтров FIR, где a=1, значение можно опустить a от команды. Отклик нулевой фазы оценивается при 512 равноудаленные точки на верхней половине единичной окружности.

Отклик нулевой фазы, Hr (λ), связан с частотным откликом, H (ej

H (ejλ) = Hr (λ) ej,

где start( λ) - непрерывная фаза.

Примечание

Отклик нулевой фазы всегда действителен, но не эквивалентен отклику величины. Первый может быть отрицательным, а второй - отрицательным.

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

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

[Hr,w] = zerophase(...,nfft) возвращает отклик нулевой фазы Hr и частотный вектор w (радианы/образец), с использованием nfft точки частоты на верхней половине единичной окружности. Для получения наилучших результатов установите nfft до значения, большего, чем порядок фильтра.

[Hr,w] = zerophase(...,nfft,'whole') возвращает отклик нулевой фазы Hr и частотный вектор w (радианы/образец), с использованием nfft частотные точки по всей единичной окружности.

[Hr,w] = zerophase(...,w) возвращает отклик нулевой фазы Hr и частотный вектор w (радианы/выборка) на частотах в векторе w. Вектор w должен иметь по крайней мере два элемента.

[Hr,f] = zerophase(...,f,fs) возвращает отклик нулевой фазы Hr и частотный вектор f (Гц), используя частоту дискретизации fs (в Гц), для определения частотного вектора f (в Гц) при которой Hr вычисляется. Вектор f должен иметь по крайней мере два элемента.

[Hr,w,phi] = zerophase(...) возвращает отклик нулевой фазы Hr, частотный вектор w (рад/образец) и компонент непрерывной фазы, phi. (Обратите внимание, что эта величина не эквивалентна фазовой характеристике фильтра, когда нулевая фазовая характеристика отрицательна.)

zerophase(...) строит график зависимости нулевой фазовой характеристики от частоты. При вводе коэффициентов фильтра или матрицы сечений второго порядка используется окно текущего рисунка. При вводе digitalFilterответ на шаг отображается в FVTool.

Примечание

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

Примеры

свернуть все

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

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

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

Figure Filter Visualization Tool - Zero-phase Response contains an axes and other objects of type uitoolbar, uimenu. The axes with title Zero-phase Response contains 2 objects of type line.

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

pAp = 10^(Ap/40); 
Apl = (pAp-1)/(pAp+1);
pAs = 10^(As/20);
Asl = 1/pAs;

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

Figure contains an axes. The axes with title Zero-phase response contains an object of type line.

Сконструировать эллиптический БИХ-фильтр нижних частот 10-го порядка с нормализованной частотой полосы пропускания 0,4δ рад/образец, пульсацией полосы пропускания 0,5 дБ и затуханием полосы останова 20 дБ. Отображение нулевой фазовой характеристики фильтра в 512 частотных точках по всей единичной окружности.

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

Figure Filter Visualization Tool - Zero-phase Response contains an axes and other objects of type uitoolbar, uimenu. The axes with title Zero-phase Response contains 2 objects of type line.

Создать тот же самый фильтр с помощью ellip. Постройте график его нулевого отклика.

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

Figure contains an axes. The axes with title Zero-phase response contains an object of type line.

Ссылки

[1] Антониу, Андреас. Цифровые фильтры. Нью-Йорк: McGraw-Hill, Inc., 1993.

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