Цифровой фильтр 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