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