Односекционный или многосекционный allpass фильтр
DSP System Toolbox/Фильтрация/Реализация фильтра
Блок Allpass Filter фильтрует каждый канал входного сигнала независимо с помощью односекционного или многосекционного (каскадного) allpass фильтра. Можно реализовать фильтр allpass с помощью минимального умножителя, волнового цифрового фильтра или решетчатой структуры.
В форме минимального умножения блок использует минимальное количество необходимых умножителей, n, с 2 единицами n задержки и 2 n сумматорами. В форме волнового цифрового фильтра блок использует только n умножителя и n модулей задержки за счет 3 n сумматоров. Структура решетки использует 2 n множителя, n единиц задержки и 2 n сумматора. Для получения дополнительной информации об этих структурах см. «Алгоритмы».
x
- Входные данныеВходные данные, которые передаются в allpass фильтр. Блок принимает реальные или комплексные многоканальные входы, то есть m -by - n входные входы размера, где m ≥ 1 и n ≥ 1. Блок также принимает входы переменного размера. То есть можно изменить размер каждого входного канала во время симуляции. Однако количество каналов не может измениться.
Этот порт не называется, пока вы не задаете Internal allpass structure Minimum multiplier
или Lattice
, и выберите параметр Specify coefficients from input port.
Типы данных: single
| double
Поддержка комплексного числа: Да
coeffs
- Коэффициенты фильтра AllpassЭтот порт вводит коэффициенты allpass-фильтра. Когда вы задаете Internal allpass structure Minimum multiplier
порт coeffs принимает матрицы размера N -by-1 или N -by-2. Когда вы задаете Internal allpass structure Lattice
порт coeffs принимает вектор-столбец N на 1 или вектор-строку N 1 байт.
Этот порт появляется, когда вы задаете Internal allpass structure Minimum multiplier
или Lattice
, и выберите параметр Specify coefficients from input port.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Port_1
- Выход фильтра allpassРазмер отфильтрованного выхода совпадает с размером входа.
Типы данных: single
| double
Поддержка комплексного числа: Да
Если параметр указан как настраиваемый, то можно изменить его значение во время симуляции.
Internal allpass structure
- Структура фильтраMinimum multiplier
(по умолчанию) | Wave Digital Filter
| Lattice
Minimum multiplier
- Эта структура использует минимальное количество необходимых умножителей, n, с 2 единицами задержки n и 2 сумматорами n. Коэффициенты к этой структуре заданы через параметр Allpass polynomial coefficients.
Wave Digital Filter
- Структура использует n множителя и n модулей задержки, за счет 3 n сумматоров. Коэффициенты к этой структуре заданы через параметр Wave Digital Filter allpass coefficients.
Lattice
- Структура использует 2 n множителя, n единиц задержки и 2 n сумматора. Коэффициенты к этой структуре заданы через параметр Lattice allpass coefficients.
Для получения дополнительной информации об этих структурах см. «Алгоритмы».
Specify coefficients from input port
- Флаг для задания allpass полиномиальных коэффициентовКогда вы устанавливаете этот флажок и устанавливаете 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 polynomial coefficients
- Коэффициенты в форме минимального множителя[-2^(-1/2), 1/2]
(по умолчанию) | N -by-1 матрицу | N -by-2 матрицуЗадайте действительные коэффициенты полиномиального фильтра allpass в форме минимального множителя как N-на-1 матрица или N -на-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.
Wave Digital Filter allpass coefficients
- Коэффициенты в форме волнового цифрового фильтра[1/2, -2^(1/2)/3]
(по умолчанию) | N -by-1 матрицу | N -by-2 матрицуЗадайте действительные коэффициенты фильтра allpass в форме волнового цифрового фильтра. Коэффициенты могут быть N -на-1 матрицу для N allpass первого порядка и N -на-2 матрицу для allpass N второго порядка. Значение по умолчанию, [1/2, -2^(1/2)/3]
, является преобразованной версией значения по умолчанию полиномиальных коэффициентов allpass. Это значение вычисляется с помощью allpass2wdf(Allpass
polynomial coefficients)
. Эти коэффициенты определяют тот же стабильный фильтр allpass второго порядка, что и, когда структура allpass установлена на Minimum multiplier
.
Настраиваемый: Да
Чтобы включить этот параметр, установите Internal allpass structure равным Wave Digital Filter
.
Indicate if last section is first order
- Является ли последний раздел первым порядкомon - При установке этого флажка последний раздел рассматривается как первый порядок. Кроме того, второй элемент последней строки матрицы N -by-2 игнорируется.
off - Если этот флажок не установлен, последний раздел рассматривается как второй порядок.
Чтобы включить этот параметр, установите Internal allpass structure равным Minimum multiplier
или Wave Digital Filter
.
Lattice allpass coefficients
- Коэффициенты в виде решетки[-2^(1/2)/3, 1/2]
(по умолчанию) | N вектор-на-1 | вектор-строка 1-байт- NЗадайте действительные или комплексные коэффициенты 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.
View Filter Response
- Визуализация фильтра откликаОткрывает инструмент визуализации фильтра, fvtool
, и отображает величину ответ фильтра allpass. Ответ основан на параметрах. Изменения, внесенные в эти параметры, обновляются fvtool
.
Чтобы обновить величину ответ во время fvtool
выполняется, изменяет параметры блоков и кликает Apply.
Чтобы просмотреть величину ответ и фазовый отклик одновременно, нажмите кнопку Magnitude and Phase responses на панели инструментов.
В этом примере величины реакция плоская, и фазовый отклик изменяется с частотами. Эта изменяющийся фазовый отклик имеет приложения в эквализации фазы, узкополосной фильтрации и многократной фильтрации. Можно реализовать фильтр lowpass с помощью параллельной комбинации двух фильтров allpass, которые имеют 180 степени сдвига фазы относительно друг друга.
Simulate using
- Тип выполняемой симуляцииCode generation
(по умолчанию) | Interpreted execution
Code generation
Симулируйте модель с использованием сгенерированного кода C. Первый раз, когда вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С повторно используется для последующих симуляций, пока модель не меняется. Эта опция требует дополнительного времени запуска, но обеспечивает более высокую скорость симуляции, чем Interpreted execution
.
Interpreted execution
Симулируйте модель с помощью MATLAB® интерпретатор. Эта опция сокращает время запуска, но имеет более низкую скорость симуляции, чем Code generation
.
Типы данных |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Передаточная функция allpass-фильтра задается как
.
c - вектор allpass полиномиальных коэффициентов. Порядок, n, передаточной функции - это длина вектора c.
В форме минимального множителя и цифровой форме волны фильтр allpass реализован как каскад секций второго порядка (biquad) или секций первого порядка. Когда коэффициенты заданы как матрица N-на-2, каждая строка матрицы задает коэффициенты фильтра второго порядка. Последний элемент последней строки может быть проигнорирован на основе конечной настройки первого порядка. Когда коэффициенты заданы как матрица N -на-1, каждый элемент матрицы задает коэффициент фильтра первого порядка. Каскад всех секций фильтра образует allpass фильтр.
В форме решетки коэффициенты заданы как вектор.
Эти структуры являются в вычислительном отношении более экономичными и структурно более стабильными по сравнению с типовыми фильтрами БИХ, такими как df1, df1t, df2, df2t. Для всех структур allpass-фильтр может быть односекционным или многосекционным (каскадным) фильтром. Различные разделы могут иметь различные порядки, но все они реализованы в соответствии с одной структурой.
Эта структура реализует фильтр allpass с минимальным количеством необходимых умножителей, равным порядку n
. Он также использует 2n
модули измерения задержки и 2n
сумматоры. Умножители используют заданные коэффициенты, которые равны полиномиальному вектору, c в передаточной функции allpass. В этой секции второго порядка структуры минимального множителя вектор коэффициентов, c, равен [0.1 -0.7
].
Эта структура использует n
множители, но только n
модулей задержки, за счет требующих 3n
сумматоры. Чтобы использовать эту структуру, задайте коэффициенты в форме волнового цифрового фильтра (WDF). Получите эквивалент WDF обычных коэффициентов allpass с помощью allpass2wdf(allpass_coefficients)
. Чтобы преобразовать коэффициенты WDF в эквивалентную allpass полиномиальную форму, используйте wdf2allpass(WDF coefficients)
. В этой секции второго порядка структуры WDF вектор w коэффициентов равен allpass2wdf([0.1 -0.7])
.
Эта структура решетки использует 2n
множители, n
модули измерения задержки и 2n
сумматоры. Чтобы использовать эту структуру, задайте коэффициенты в качестве вектора.
Можно получить решетчатый эквивалент обычных коэффициентов allpass с помощью transpose(tf2latc(1, [1 allpass_coefficients]))
. В следующей секции второго порядка решетчатой структуры вектор коэффициентов вычисляется с помощью transpose(tf2latc(1,
[1 0.1 -0.7]))
. Используйте эти коэффициенты для фильтра, который функционально эквивалентен минимальной структуре умножителя с коэффициентами [0,1 -0,7].
[1] Регалия, Филипп А., Санджит К. Митра и П. П. Вайдьянатхан. Цифровой универсальный фильтр: универсальный базовый блок обработки сигналов. Материалы IEEE. 76, № 1 (1988): 19-37.
[2] Лутовац, М., Д. Тошич, и Б. Эванс. Создание фильтра для обработки сигнала с использованием MATLAB и Mathematica. Верхняя Седл-Ривер, Нью-Джерси: Prentice Hall, 2001.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.