dfilt.wdfallpass

Цифровой фильтр allpass волны

Синтаксис

hd = dfilt.wdfallpass(c)

Описание

hd = dfilt.wdfallpass(c) создает allpass цифровую структуру фильтра волны, учитывая allpass коэффициенты в векторном c.

Векторный c должен иметь, один, два, или четыре элемента (коэффициенты фильтра). Фильтры с тремя коэффициентами не поддержаны. Когда вы используете c с четырьмя коэффициентами, первые и третьи коэффициенты должны быть 0.

Учитывая коэффициенты в c, передаточная функция для цифрового фильтра allpass волны задана

H(z)=c(n)+c(n1)z1++zn1+c(1)z1++c(n)zn

Внутренне, allpass коэффициенты преобразованы, чтобы махнуть цифровыми фильтрами для фильтрации. Обратите внимание на то, что dfilt.wdfallpass позволяет только стабильные фильтры. Также обратите внимание, что ведущий коэффициент в знаменателе, 1, не должен быть включен в векторный c.

Используйте конструктора dfilt.cascadewdfallpass, чтобы расположить каскадом фильтры wdfallpass.

Чтобы сравнить эти фильтры с другими подобными фильтрами, dfilt.wdfallpass и фильтры dfilt.cascadewdfallpass имеют то же количество множителей как цифровые фильтры неволны dfilt.allpass и dfilt.cascadeallpass. Однако цифровые фильтры волны используют меньше состояний, и они могут потребовать большего количества сумматоров в структуре фильтра.

Цифровые фильтры волны обычно используются, чтобы создать другие фильтры. Этот тулбокс использует их, чтобы реализовать полуленточные фильтры, которые демонстрирует первый пример в Примерах. Они чаще всего - стандартные блоки для фильтров.

Свойства

В следующей таблице записи строки являются свойствами фильтра и кратким описанием каждого свойства.

PropertyName

Краткое описание

AllpassCoefficients

Содержит коэффициенты для allpass цифрового объекта фильтра волны

FilterStructure

Описывает поток сигналов для объекта фильтра, включая все активные элементы, которые выполняют операции во время фильтрации — усиления, задержки, суммы, продукты и ввод/вывод.

PersistentMemory

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

States

Это свойство содержит состояния фильтра прежде, во время, и после работы фильтра. Состояния действуют как память фильтра между фильтрацией выполнений или сеансов. Они также обеспечивают связь между разделами фильтра мультираздела, такими как каскадный фильтр. Для получения дополнительной информации обратитесь к filtstates в документации Signal Processing Toolbox™ или в Системе справочной информации.

Отфильтруйте структуру

Когда вы изменяете порядок цифровых фильтров волны в каскаде, структура фильтра изменяется также.

Как показано в этом примере, realizemdl позволяет вам видеть структуру фильтра, используемую для вашего фильтра, если вам установили Simulink®.

section11=0.8;
section12=[1.5,0.7];
section13=[1.8,0.9];
hd1=dfilt.cascadewdfallpass(section11,section12,section13);


section21=[0.8,0.4];
section22=[0,1.5,0,0.7];
section23=[0,1.8,0,0.9];
hd2=dfilt.cascadewdfallpass(section21,section22,section23);
% If you have Simulink
realizemdl(hd2)

hd1 имеет эту структуру фильтра с тремя разделами.

Структура фильтра для hd2 несколько отличается с различными порядками и соединениями между тремя разделами.

Примеры

Создайте цифровой фильтр allpass волны второго порядка с двумя коэффициентами. Обратите внимание на то, что, чтобы использовать realizemdl, у вас должен быть Simulink.

c = [1.5,0.7];
hd = dfilt.wdfallpass(c);

С установленным Simulink realizemdl возвращает эту структуру для hd.

Введенный в R2011a