ismaxphase

Определите, является ли фильтр максимальной фазой

Синтаксис

flag = ismaxphase(b,a)
flag = ismaxphase(sos)
flag = ismaxphase(d)
flag = ismaxphase(...,tol)

Описание

flag = ismaxphase(b,a) возвращает логический выход, flag, равный true если фильтр задан коэффициентами числителя, b, и коэффициенты знаменателя, a, является максимальным фильтром фазы.

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

flag = ismaxphase(d) возвращает true если цифровой фильтр, d, имеет максимальную фазу. Использовать designfilt чтобы сгенерировать d на основе спецификаций частотной характеристики.

flag = ismaxphase(...,tol) использует допуск, tol, чтобы определить, когда два числа достаточно близки, чтобы считаться равными. Если не указано, tol, по умолчанию является eps^(2/3).

Примеры

свернуть все

Проектируйте решетчатые фильтры максимальной и минимальной фазы и проверьте их тип.

k = [1/6 1/1.4];
bmax = latc2tf(k,'max');
bmin = latc2tf(k,'min');
max_flag = ismaxphase(bmax)
max_flag = logical
   1

min_flag = isminphase(bmin)
min_flag = logical
   1

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

b = single([1 -0.9999]);
a = single([1 0.45]);
max_flag1 = ismaxphase(b,a)
max_flag1 = logical
   0

max_flag2 = ismaxphase(b,a,1e-3)
max_flag2 = logical
   1

Введенный в R2013a