isallpass

Определите, является ли фильтр allpass

Синтаксис

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

Описание

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

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

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

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

Примеры

свернуть все

Создайте фильтр allpass и проверьте, что частотная характеристика является allpass.

b = [1/3 1/4 1/5 1];
a = fliplr(b); 
flag = isallpass(b,a)
flag = logical
   1

fvtool(b,a)

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains an object of type line.

Создайте фильтр allpass решетки и проверьте, что фильтр allpass.

k = [1/2 1/3 1/4 1/5];
[b,a] = latc2tf(k,'allpass');
flag_isallpass = isallpass(b,a)
flag_isallpass = logical
   1

fvtool(b,a)

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains an object of type line.

Введенный в R2013a