Allpass Filter

Одно раздел или несколько-разделов allpass фильтр

  • Библиотека:
  • DSP System Toolbox / Фильтрующий / Реализации Фильтра

  • Allpass Filter block

Описание

Блок Allpass Filter фильтрует каждый канал входного сигнала независимо с помощью одно раздела или нескольких-разделов (расположенный каскадом) фильтр allpass. Можно реализовать фильтр allpass с помощью минимального множителя, цифрового фильтра волны или структуры решетки.

В минимальной форме множителя блок использует минимальное количество необходимых множителей, n, с 2n модули задержки и 2n сумматоры. В форме цифрового фильтра волны блок использует только множители n и модули задержки n, за счет 3n сумматоры. Структура решетки использует 2n множители, модули задержки n, и 2n сумматоры. Для получения дополнительной информации об этих структурах см. Алгоритмы.

Порты

Входной параметр

развернуть все

Входные данные, который передается в фильтр allpass. Блок принимает многоканальные входные параметры с комплексным знаком или с действительным знаком, то есть, m-by-n входные параметры размера, где m ≥ 1 и n ≥ 1. Блок также принимает входные параметры переменного размера. Таким образом, можно изменить размер каждого входного канала в процессе моделирования. Однако количество каналов не может измениться.

Этот порт без имени, пока вы не устанавливаете Internal allpass structure на Minimum multiplier или Lattice, и выберите параметр Specify coefficients from input port.

Типы данных: single | double
Поддержка комплексного числа: Да

Этот порт вводит коэффициенты фильтра allpass. Когда вы устанавливаете Internal allpass structure на Minimum multiplier, порт coeffs принимает матрицы размера N-by-1 или N-by-2. Когда вы устанавливаете Internal allpass structure на Lattice, порт coeffs принимает N-by-1 вектор-столбец или 1 N вектором-строкой.

Зависимости

Этот порт появляется, когда вы устанавливаете Internal allpass structure на Minimum multiplier или Lattice, и выберите параметр Specify coefficients from input port.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Вывод

развернуть все

Размер отфильтрованного выхода совпадает с размером входа.

Типы данных: single | double
Поддержка комплексного числа: Да

Параметры

развернуть все

Если параметр перечислен как настраиваемый, то можно изменить его значение в процессе моделирования.

  • Minimum multiplier — Эта структура использует минимальное количество необходимых множителей, n, с 2n модули задержки и 2n сумматоры. Коэффициенты к этой структуре заданы через параметр Allpass polynomial coefficients.

  • Wave Digital Filter — Структура использует множители n и модули задержки n, за счет 3n сумматоры. Коэффициенты к этой структуре заданы через параметр Wave Digital Filter allpass coefficients.

  • Lattice — Структура использует 2n множители, модули задержки n, и 2n сумматоры. Коэффициенты к этой структуре заданы через параметр Lattice allpass coefficients.

Для получения дополнительной информации об этих структурах см. Алгоритмы.

Когда вы устанавливаете этот флажок и устанавливаете Internal allpass structure на Minimum multiplier, allpass полиномиальные коэффициенты вводятся через порт coeffs. Когда вы снимаете этот флажок, allpass полиномиальные коэффициенты заданы на диалоговом окне блока через параметр Allpass polynomial coefficients.

Когда вы устанавливаете этот флажок и устанавливаете Internal allpass structure на Lattice, решетка allpass коэффициенты вводится через порт coeffs. Когда вы снимаете этот флажок, решетка allpass коэффициенты заданы на диалоговом окне блока через параметр Lattice allpass coefficients.

Зависимости

Этот параметр применяется, когда вы устанавливаете Internal allpass structure на Minimum multiplier или Lattice.

Задайте действительные allpass полиномиальные коэффициенты фильтра в минимальной форме множителя как N-by-1 матрица или N-by-2 матрица.

  • N-by-1 матрица — блок осознает первый порядок N allpass разделы.

  • N-by-2 матрица — блок понимает N разделы allpass второго порядка.

Значение по умолчанию, [ -2^(-1/2), 1/2 ], задает устойчивый фильтр allpass второго порядка с полюсами и нулями в ±π/3 в z - плоскость.

Настраиваемый: да

Зависимости

Чтобы включить этот параметр, установите Internal allpass structure на Minimum multiplier и очистите параметр Specify coefficients from input port.

Задайте действительные коэффициенты фильтра allpass в форме цифрового фильтра волны. Коэффициентами может быть N-by-1 матрица для первого порядка N allpass разделы и N-by-2 матрица для N разделы allpass второго порядка. Значение по умолчанию, [1/2, -2^(1/2)/3], преобразованная версия значения по умолчанию allpass полиномиальных коэффициентов. Это значение вычисляется с помощью allpass2wdf(Allpass polynomial coefficients). Эти коэффициенты задают тот же устойчивый фильтр allpass второго порядка как тогда, когда allpass структура установлена в Minimum multiplier.

Настраиваемый: да

Зависимости

Чтобы включить этот параметр, установите Internal allpass structure на Wave Digital Filter.

  • на — Когда вы устанавливаете, устанавливают этот флажок, последний раздел рассматривается первым порядком. Кроме того, второй элемент последней строки N-by-2 матрица проигнорирован.

  • прочь — Когда вы не устанавливаете этот флажок, последний раздел рассматривается второго порядка.

Зависимости

Чтобы включить этот параметр, установите Internal allpass structure на Minimum multiplier или Wave Digital Filter.

Задайте действительное или объедините allpass коэффициенты как коэффициенты отражения решетки. Значение по умолчанию, [-2^(1/2)/3, 1/2], преобразованная и транспонированная версия значения по умолчанию allpass полиномиальных коэффициентов. Это значение вычисляется с помощью transpose(tf2latc(1, [1 A])), где A является значением, заданным в Allpass polynomial coefficients.

Настраиваемый: да

Зависимости

Чтобы включить этот параметр, установите Internal allpass structure на Lattice и очистите параметр Specify coefficients from input port.

Открывает инструмент визуализации фильтра, fvtool, и отображает ответ величины фильтра allpass. Ответ основан на параметрах. Изменения внесены в эти параметры обновление fvtool.

Обновить ответ величины в то время как fvtool запускается, измените параметры блоков и нажмите Apply.

Чтобы просмотреть ответ величины и фазовый отклик одновременно, нажмите кнопку Magnitude and Phase responses на панели инструментов.

В этом примере ответ величины является плоским, и фазовый отклик меняется в зависимости от частот. Этот различный фазовый отклик имеет приложения в эквализации фазы, фильтрации метки и многоскоростной фильтрации. Можно понять фильтр lowpass с помощью параллельной комбинации двух фильтров allpass, которые имеют 180 градусов сдвига фазы друг относительно друга.

  • Code generation

    Симулируйте модель с помощью сгенерированного кода C. В первый раз вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С снова используется для последующих симуляций, пока модель не изменяется. Эта опция требует дополнительного времени запуска, но обеспечивает более быструю скорость симуляции, чем Interpreted execution.

  • Interpreted execution

    Симулируйте модель с помощью MATLAB®  интерпретатор. Эта опция сокращает время запуска, но имеет более медленную скорость симуляции, чем Code generation.

Характеристики блока

Типы данных

double | single

Многомерные сигналы

No

Сигналы переменного размера

Yes

Алгоритмы

развернуть все

Передаточной функцией фильтра allpass дают

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

c является allpass полиномиальным содействующим вектором. Порядок, n, передаточной функции являются длиной векторного c.

В минимальной форме множителя и цифровой форме волны, фильтр allpass реализуется как каскад или второго порядка (biquad) разделы или разделы первого порядка. Когда коэффициенты заданы как N-by-2 матрица, каждая строка матрицы задает коэффициенты фильтра второго порядка. Последний элемент последней строки может быть проигнорирован на основе запаздывающей установки первого порядка. Когда коэффициенты заданы как N-by-1 матрица, каждый элемент в матрице задает коэффициент фильтра первого порядка. Каскад всех разделов фильтра формирует фильтр allpass.

В форме решетки коэффициенты заданы как вектор.

Эти структуры в вычислительном отношении более экономичны и структурно более устойчивы по сравнению с типовыми БИХ-фильтрами, таковы как df1, df1t, df2, df2t. Для всех структур фильтр allpass может быть одно разделом или несколькими-разделами (расположенный каскадом) фильтр. Различные разделы могут иметь различные порядки, но они все реализованы согласно той же структуре.

Ссылки

[1] Регалии, Филип А., Сэнджит К. Митра и P.P.Vaidyanathan. “Цифровой Фильтр все-Передачи: Универсальный Базовый блок Обработки сигналов”. Продолжения IEEE. 76, № 1 (1988): 19–37.

[2] Lutovac, M., Д. Тошич и Б. Эванс. Создание фильтра для обработки сигналов Используя MATLAB и Mathematica. Верхний Сэддл-Ривер, NJ: Prentice Hall, 2001.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2017b