exponenta event banner

isStandardCompliant

Проверка соответствия банка октавных фильтров стандарту ANSI S1.11-2004

Описание

пример

[status,cf] = isStandardCompliant(ofb,ctype) указывает, каждый ли фильтр в ofb соответствует спецификациям минимального и максимального затухания ctype проект, указанный в стандарте ANSI S1.11-2004. Функция также возвращает вектор центральных частот.

пример

[statusall,cfref] = isStandardCompliant(ofb,ctype,'all') возвращает скаляр true, только если все фильтры в наборе фильтров совместимы.

Примеры

свернуть все

Использовать octaveFilterBank конструирование набора октавных фильтров. Использовать isStandardCompliant для проверки соответствия проектируемого блока октавных фильтров стандарту ANSI S1.11-2004.

Создание octaveFilterBank объект, состоящий из 1 октавных фильтров 12-го порядка.

Звонить isStandardCompliant, указывая тип класса соответствия как 'class 0'. Отображение состояния соответствия и опорной частоты для каждого фильтра.

ofb = octaveFilterBank('FilterOrder',12,'Bandwidth','1 octave');
[status,reffreq] = isStandardCompliant(ofb,'class 0')
status = 1×10 logical array

   1   1   1   1   1   1   1   1   1   1

reffreq = 1×10
104 ×

    0.0032    0.0063    0.0126    0.0251    0.0501    0.1000    0.1995    0.3981    0.7943    1.5849

Используйте 'all«возможность возврата проверки соответствия полного банка фильтров». 'allОпция 'также возвращает опорную частоту ANSI, по которой функция проверяет маску.

ofb = octaveFilterBank('FilterOrder',12,'Bandwidth','1/3 octave');
[status,reffreq] = isStandardCompliant(ofb,'class 0','all')
status = logical
   1

reffreq = 1000

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

ofb = octaveFilterBank('FilterOrder',8);
status = isStandardCompliant(ofb,'class 1')
status = 1×10 logical array

   1   1   1   1   1   1   1   1   1   0

Используйте 'all«возможность проверки несоответствия банка».

isStandardCompliant(ofb,'class 1','all')
ans = logical
   0

Входные аргументы

свернуть все

Входной банк фильтров, указанный как octaveFilterBank объект.

Тип проверяемого класса соответствия, указанный как 'class 0', 'class 1', или 'class 2'. Дополнительные сведения о классах фильтров, совместимых с ANSI S1.11-2004, см. в разделах Октавные и дробные октавные фильтры.

Типы данных: char | string

Выходные аргументы

свернуть все

Статус соответствия, возвращаемый как логический вектор. Статус соответствия указывает, каждый ли фильтр в объекте ofb соответствует стандарту ANSI S1.11-2004 для ctype.

Типы данных: logical

Стандартные центральные частоты, возвращаемые в виде вектора. Центральные частоты используются для установки пределов затухания класса.

Агрегатное состояние соответствия, возвращаемое как логический скаляр. statusall имеет значение true, только если все фильтры в наборе фильтров совместимы.

Типы данных: logical

Стандартная эталонная частота, возвращаемая в виде скаляра. Опорная частота используется для установки пределов ослабления класса.

Совет

  • Чтобы обеспечить соответствие, установите эталонную частоту набора октавных фильтров в одно из значений, возвращаемых getANSICenterFrequencies(octaveFilter) увеличить порядок фильтрации, ограничить диапазон частот или увеличить частоту дискретизации.

Представлен в R2021a