isallpass

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

Синтаксис

flag = isallpass(b,a)
flag = isallpass(sos)
flag = isallpass(d)
flag = isallpass(...,tol)
flag = isallpass(hs,...)
flag = isallpass(hs,'Arithmetic',arithtype)

Описание

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 th строка матрицы 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 фильтры.

flag = isallpass(hs,...) возвращает true, если Система фильтра object™, hs, является фильтром allpass. У вас должно быть программное обеспечение DSP System Toolbox™, чтобы использовать этот синтаксис.

flag = isallpass(hs,'Arithmetic',arithtype) анализирует Системный объект фильтра hs на основе заданного arithtype. arithtype может быть 'double', 'single' или 'fixed'. Когда вы задаете 'double' или 'single', функция выполняет дважды - или анализ с одинарной точностью. Когда вы задаете 'fixed', арифметические изменения в зависимости от установки свойства CoefficientDataType и заблокирован ли Системный объект или разблокирован. У вас должно быть программное обеспечение DSP System Toolbox, чтобы использовать этот синтаксис.

 Детали для вычислений с фиксированной точкой

Когда вы не задаете арифметику для non-CIC структур, функция использует арифметику с двойной точностью, если Системный объект фильтра находится в разблокированном состоянии. Если Системный объект заблокирован, функция выполняет анализ на основе заблокированного типа входных данных. Структуры CIC только поддерживают вычисления с фиксированной точкой.

Примеры

свернуть все

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

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

fvtool(b,a)

Создайте решетку 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)

Смотрите также

| | | | |

Введенный в R2013a

Для просмотра документации необходимо авторизоваться на сайте