exponenta event banner

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