exponenta event banner

Фильтр Allpass

Фильтр allpass с одним или несколькими секциями

  • Библиотека:
  • Системная панель инструментов DSP/фильтрация/реализация фильтров

  • Allpass Filter block

Описание

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

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

Порты

Вход

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

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

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

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

Этот порт вводит коэффициенты фильтра allpass. Если для параметра Внутренняя структура allpass задано значение Minimum multiplierпорт коэффициентов принимает матрицы размера N-by-1 или N-by-2. Если для параметра Внутренняя структура allpass задано значение Latticeпорт коэффициентов принимает вектор столбца N-by-1 или вектор строки 1-by-N.

Зависимости

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

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

Продукция

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

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

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

Параметры

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

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

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

  • Wave Digital Filter - Структура использует n умножителей и n блоков задержки за счет 3n сумматоров. Коэффициенты для этой структуры задаются с помощью параметра коэффициентов allpass Wave Digital Filter.

  • Lattice - Структура использует 2n умножителей, n единиц задержки и 2n сумматоров. Коэффициенты для этой структуры задаются с помощью параметра коэффициентов allpass решетки.

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

При установке этого флажка и установке для параметра Внутренняя структура allpass значения Minimum multiplier, полиномиальные коэффициенты allpass вводятся через порт коэффициентов. Если этот флажок снят, коэффициенты многочлена allpass задаются в диалоговом окне блока с помощью параметра коэффициентов многочлена Allpass.

При установке этого флажка и установке для параметра Внутренняя структура allpass значения Latticeкоэффициенты allpass решетки вводятся через порт коэффициентов. При снятии этого флажка коэффициенты allpass решетки задаются в диалоговом окне блока с помощью параметра Коэффициенты allpass решетки.

Зависимости

Этот параметр применяется, если для параметра Внутренняя структура allpass задано значение Minimum multiplier или Lattice.

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

  • N-by-1 matrix - блок реализует N секций allpass первого порядка.

  • N-by-2 matrix - блок реализует N секций allpass второго порядка.

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

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

Зависимости

Чтобы включить этот параметр, установите для параметра Внутренняя структура allpass значение Minimum multiplier и сбросьте параметр Specify cofficients 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.

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

Зависимости

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

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

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

Зависимости

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

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

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

Зависимости

Чтобы включить этот параметр, установите для параметра Внутренняя структура allpass значение Lattice и сбросьте параметр Specify cofficients from input port.

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

Чтобы обновить отклик величины во время fvtool выполняется, измените параметры блока и нажмите «Применить».

Чтобы одновременно просмотреть амплитудную и фазовую характеристики, нажмите кнопку «Величина и фазовые характеристики» на панели инструментов.

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

  • Code generation

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

  • Interpreted execution

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

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

Типы данных

double | single

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

No

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

Yes

Алгоритмы

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

Передаточная функция фильтра allpass задается

H (z) = c (n) + c (n 1) z 1 +... + z n1 + c (1) z − 1 +... + c (n) z − n.

c - вектор полиномиальных коэффициентов allpass. Порядок n передаточной функции - это длина вектора с.

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

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

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

Ссылки

[1] Регалии, Филипп А., Санджит К. Митра и П. П. Вайдянатхан. «Цифровой всепроходный фильтр: универсальный строительный блок обработки сигналов». Процедуры IEEE. 76, № 1 (1988): 19-37.

[2] Лутовац, М., Д. Тошич и Б. Эванс. Конструкция фильтра для обработки сигналов с использованием MATLAB и Mathematica. Река Верхнее Седло, Нью-Джерси: Прентис Холл, 2001.

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен в R2016b