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. Для конечная импульсная характеристика, где a=1можно опустить значение a из команды. Нулевая фазовая характеристика оценивается как 512 равномерно разнесенные точки на верхней половине модуля круга.

Нулевая фазовая характеристика Hr (ω) связана с частотной характеристикой, H (eоколо

H(ejω)=Hr(ω)ejφ(ω),

где φ (ω) является непрерывной фазой.

Примечание

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

[Hr,w] = zerophase(sos) возвращает нулевую фазовую характеристику для матрицы разделов второго порядка, sos. sos является матрицей K -by-6, где количество сечений, K, должно быть больше или равно 2. Если количество разделов меньше 2 ,zerophase рассматривает вход как вектор, b. Каждая строка sos соответствует коэффициентам фильтра второго порядка (biquad). 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 Используйте метод метода наименьших квадратов с ограничениями. Отобразите нулевую фазовую характеристику.

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.

Спроектируйте эллиптический lowpass БИХ-фильтр 10-го порядка с нормализованной частотой полосы пропускания 0,4 Отобразите нулевую фазовую характеристику фильтра на 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