Цифровой фильтр allpass волны
hd = dfilt.wdfallpass(c)
hd = dfilt.wdfallpass(c)
создает allpass структуру цифрового фильтра волны, учитывая allpass коэффициенты в векторном c
.
Векторный c
должен иметь, один, два, или четыре элемента (коэффициенты фильтра). Фильтры с тремя коэффициентами не поддерживаются. Когда вы используете c
с четырьмя коэффициентами первые и третьи коэффициенты должны быть 0.
Учитывая коэффициенты в c
, передаточная функция для цифрового фильтра allpass волны задана
Внутренне, allpass коэффициенты преобразованы в цифровые фильтры волны для фильтрации. Обратите внимание на то, что dfilt.wdfallpass
позволяет только устойчивые фильтры. Также обратите внимание, что ведущий коэффициент в знаменателе, 1, не должен быть включен в векторный c
.
Используйте конструктора dfilt.cascadewdfallpass
располагать каскадом wdfallpass
фильтры.
Сравнить эти фильтры с другими подобными фильтрами, dfilt.wdfallpass
и dfilt.cascadewdfallpass
фильтры имеют то же количество множителей как цифровые фильтры неволны dfilt.allpass
и dfilt.cascadeallpass
. Однако цифровые фильтры волны используют меньше состояний, и они могут потребовать большего количества сумматоров в структуре фильтра.
Цифровые фильтры волны обычно используются, чтобы создать другие фильтры. Этот тулбокс использует их, чтобы реализовать полуленточные фильтры, которые демонстрирует первый пример в Примерах. Они чаще всего - базовые блоки для фильтров.
В следующей таблице записи строки являются свойствами фильтра и кратким описанием каждого свойства.
PropertyName | Краткое описание |
---|---|
| Содержит коэффициенты для allpass объекта цифрового фильтра волны |
| Описывает поток сигналов для объекта фильтра, включая все активные элементы, которые выполняют операции во время фильтрации — усиления, задержки, суммы, продукты и ввод/вывод. |
| Задает, сбросить ли состояния фильтра и память перед каждой операцией фильтрации. Позволяет вам решить, сохраняет ли ваш фильтр состояния от предыдущих запусков фильтрации. |
| Это свойство содержит состояния фильтра прежде, во время, и после работы фильтра. Состояния действуют как память фильтра между фильтрацией запусков или сеансов. Они также обеспечивают рычажное устройство между разделами фильтра мультираздела, такими как каскадный фильтр. Для получения дополнительной информации обратитесь к |
Когда вы изменяете порядок цифровых фильтров волны в каскаде, структура фильтра изменяется также.
Как показано в этом примере, 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
.
dfilt
| dfilt.allpass
| dfilt.cascadeallpass
| dfilt.cascadewdfallpass
| dfilt.latticeallpass
| dsp.CICInterpolator
| dsp.IIRHalfbandDecimator