Biquad Filter

Биквадратный БИХ модели (SOS) фильтры

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

Описание

Блок Biquad Filter независимо фильтрует каждый канал входного сигнала с заданным биквадратным фильтром бесконечной импульсной характеристики (IIR). Когда вы задаете коэффициенты фильтра в диалоговом окне, блок реализует статические фильтры с фиксированными коэффициентами. Когда вы обеспечиваете коэффициенты фильтра через входной порт, можно настроить коэффициенты в процессе моделирования.

Блок Biquad Filter поддерживает состояние Simulink® логгирование функции. Смотрите состояние (Simulink) для получения дополнительной информации.

Порты

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

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

Ввод данных с блоком в виде вектора или матрицы. Этот блок поддерживает входные сигналы переменного размера, позволяя вам изменить размер входного кадра (количество строк) в процессе моделирования. Однако количество каналов (количество столбцов) должно остаться постоянным.

Если вход является фиксированной точкой, это должна быть подписанная фиксированная точка с масштабированием двоичной точки.

Этот порт без имени, если вы не устанавливаете Coefficient source на Input port(s).

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

Коэффициенты числителя biquad фильтруют в виде 3 N матрицей, где N является количеством разделов фильтра biquad.

Если Num является фиксированной точкой, это должна быть подписанная фиксированная точка с масштабированием двоичной точки.

Зависимости

Этот порт появляется только, когда вы устанавливаете Coefficient source на Input port(s).

Типы данных: single | double | int8 | int16 | int32 | int64 | fixed point

Коэффициенты знаменателя biquad фильтруют в виде 2 N матрицей, где N является количеством разделов фильтра biquad.

Если Den является фиксированной точкой, это должна быть подписанная фиксированная точка с масштабированием двоичной точки.

Зависимости

Этот порт появляется только, когда вы устанавливаете Coefficient source на Input port(s).

Типы данных: single | double | int8 | int16 | int32 | int64 | fixed point

Масштабируйте значения фильтра biquad в виде 1 на (N +1) вектор, где N является количеством разделов фильтра biquad.

Если g является фиксированной точкой, это должна быть подписанная фиксированная точка с масштабированием двоичной точки.

Зависимости

Этот порт появляется только, когда вы устанавливаете Coefficient source на Input port(s).

Типы данных: single | double | int8 | int16 | int32 | int64 | fixed point

Вывод

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

Фильтрованный выходной параметр, возвращенный как вектор или матрица.

Выходные размерности всегда равняются размерностям входного сигнала. Выход этого блока численно совпадает с выходными параметрами dsp.BiquadFilter Система object™.

Если Out является фиксированной точкой, это должна быть подписанная фиксированная точка с масштабированием двоичной точки.

Этот порт без имени, если вы не устанавливаете Coefficient source на Input port(s).

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

Параметры

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

Основная вкладка

Блок Biquad Filter может действовать в трех различных режимах:

  • Dialog parameters — Введите информацию о фильтре, таком как структура и коэффициенты, в маске блока.

  • Input port(s) — Введите информацию о структуре фильтра в маске блока с помощью параметра Filter structure. Коэффициенты фильтра входят в блок через дополнительные входные порты, которые появляются на значке блока:

    • Num — Задайте коэффициенты числителя.

    • Den — Задайте коэффициенты знаменателя.

    • g — Задайте значения шкалы.

    Блок принимает первые коэффициенты знаменателя и каждого раздела, чтобы быть 1. Эта настройка применима когда SOSMatrixSource свойством является 'Input port' и ScaleValuesInputPort свойством является true. Причина необходимо было бы задать Цифру и Логово вместо SOSMatrix, то, что в операции Fixed-Point, числители и знаменатели могут иметь различные дробные длины. Поэтому существует потребность смочь передать данные числителя с фиксированной точкой, отличающейся от того из знаменателя.

  • Filter object — Задайте фильтр с помощью dsp.BiquadFilter Системный объект.

Задайте имя фильтра дискретного времени, который вы хотите, чтобы блок реализовал. Необходимо задать фильтр как dsp.BiquadFilter Системный объект.

Можно задать Системный объект в маске блока или в переменной рабочей области MATLAB®.

Для получения информации о создании Системных объектов смотрите, Задают Объекты Базовой системы (MATLAB).

Зависимости

Этот параметр отображается только, когда Coefficient source установлен в Filter object.

Задайте структуру фильтра.

Зависимости

Этот параметр отображается только, когда Coefficient source установлен в Dialog parameters или Input port(s).

Задайте M-by-6 матрица, где M является количеством разделов в фильтре секции второго порядка. Каждая строка матрицы SOS содержит числитель и коэффициенты знаменателя (bik и aik) соответствующего раздела в фильтре.

[b01b11b21a01a11a21b02b12b22a02a12a22b0Mb1Mb2Ma0Ma1Ma2M]

Ведущие коэффициенты знаменателя [a01 a02... a0N] обработаны как 1 с, независимо от их фактических значений. Никакое масштабирование не применяется к матрице SOS, когда a0 не 1.

ss2sos и tf2sos функции преобразуют пространство состояний или описание передаточной функции вашего фильтра в описание секции второго порядка, используемое этим блоком.

Зависимости

Этот параметр отображается только, когда Coefficient source установлен в Dialog parameters.

Задайте значения шкалы, которые будут использоваться между разделами SOS. Можно задать скаляр с действительным знаком или вектор длины M +1:

  • При вводе скаляр, значение задает значение усиления перед первым разделом фильтра второго порядка. Остальная часть значения по умолчанию значений усиления к 1.

  • При вводе вектор M +1 значение, каждое значение задает отдельный участок фильтра. Например, первым элементом является первое значение усиления, вторым элементом является второе значение усиления и так далее.

Установите флажок Optimize unity scale values, чтобы оптимизировать вашу симуляцию, когда одно или несколько значений шкалы будут равняться 1. Выбирание этой опции удаляет усиления единицы так, чтобы значения были обработаны как линии Simulink или провода. В некоторых случаях фиксированной точки, когда существуют значения шкалы единицы, выбирая этот параметр также, не использует определенные броски. Обратитесь к разделу Fixed-Point Conversion под Extended Capabilities для получения дополнительной информации.

Зависимости

Этот параметр отображается только, когда Coefficient source установлен в Dialog parameters.

Задайте начальные условия состояний фильтра.

Блок Biquad Filter инициализирует внутренние состояния фильтра, чтобы обнулить по умолчанию. Опционально, используйте параметр Initial conditions, чтобы задать ненулевые начальные состояния для задержек фильтра.

Чтобы определить количество начальных условий, необходимо задать и как задать их, см. следующую таблицу на допустимых начальных условиях.

Допустимые начальные условия

Начальное условиеОписание

Скаляр

Блок инициализирует все элементы задержки в фильтре к скалярному значению.

Вектор или матрица
(для применения различных элементов задержки к каждому каналу)

Каждый вектор или элемент матрицы задают уникальное начальное условие для соответствующего элемента задержки в соответствующем канале. M является количеством разделов, и N является количеством входных каналов:

  • Длина вектора должна равняться количеству элементов задержки в фильтре, 2M.

  • Матрица должна иметь одинаковое число строк как количество элементов задержки в фильтре 2MN. Матрица должна также иметь один столбец для каждого канала входного сигнала.

Зависимости

Этот параметр только отображается, когда Coefficient source установлен в Dialog parameters или Input port(s) и Filter structure установлен в Direct form II или Direct form II transposed.

Задайте начальные условия для состояний фильтра на стороне структуры фильтра с нулями (b0, b1, b2...).

Блок Biquad Filter инициализирует внутренние состояния фильтра, чтобы обнулить по умолчанию. Опционально, используйте параметр Initial conditions on zeros side, чтобы задать ненулевые начальные состояния для задержек фильтра. Для примера см. ex_biquad_filter_ref.

Чтобы определить количество начальных условий, необходимо задать и как задать их, см. следующую таблицу на допустимых начальных условиях.

Допустимые начальные условия

Начальное условиеОписание

Скаляр

Блок инициализирует все элементы задержки в фильтре к скалярному значению.

Вектор или матрица
(для применения различных элементов задержки к каждому каналу)

Каждый вектор или элемент матрицы задают уникальное начальное условие для соответствующего элемента задержки в соответствующем канале. Где M является количеством разделов, и N является количеством входных каналов:

  • Длина вектора должна равняться количеству элементов задержки в фильтре, 2M.

  • Матрица должна иметь одинаковое число строк как количество элементов задержки в фильтре 2MN. Матрица должна также иметь один столбец для каждого канала входного сигнала.

Зависимости

Этот параметр отображается только, когда Coefficient source установлен в Dialog parameters или Input port(s) и Filter structure установлен в Direct form I или Direct form I transposed.

Задайте начальные условия для состояний фильтра на стороне структуры фильтра с полюсами (a0, a1, a2...).

Блок Biquad Filter инициализирует внутренние состояния фильтра, чтобы обнулить по умолчанию. Опционально, используйте параметр Initial conditions on poles side, чтобы задать ненулевые начальные состояния для задержек фильтра. Для примера см. ex_biquad_filter_ref.

Чтобы определить количество начальных условий, необходимо задать и как задать их, см. следующую таблицу на допустимых начальных условиях.

Допустимые начальные условия

Начальное условиеОписание

Скаляр

Блок инициализирует все элементы задержки в фильтре к скалярному значению.

Вектор или матрица
(для применения различных элементов задержки к каждому каналу)

Каждый вектор или элемент матрицы задают уникальное начальное условие для соответствующего элемента задержки в соответствующем канале. Где M является количеством разделов, и N является количеством входных каналов:

  • Длина вектора должна равняться количеству элементов задержки в фильтре, 2M.

  • Матрица должна иметь одинаковое число строк как количество элементов задержки в фильтре 2MN. Матрица должна также иметь один столбец для каждого канала входного сигнала.

Зависимости

Этот параметр отображается только, когда Coefficient source установлен в Dialog parameters или Input port(s) и Filter structure установлен в Direct form I или Direct form I transposed.

Выберите, как задать значения шкалы, чтобы использовать между разделами фильтра. Когда вы выбираете Specify via input port (g), вы вводите значения шкалы как 2D вектор в порте g. Когда вы выбираете Assume all are unity and optimize, все значения шкалы удалены и обработаны как линии Simulink или провода.

Зависимости

Этот параметр отображается только, когда Coefficient source установлен в Input port(s).

Задайте действие, которое должен выполнить блок, когда матрица SOS значения a0j не равняется тому. Действием может быть Warningошибка, или None.

Когда вы выбираете None, ведущие коэффициенты a0j обработаны как 1's, независимо от их фактических значений. Никакое масштабирование не применяется на матрицу SOS, когда a0 не 1.

Зависимости

Этот параметр отображается только, когда Coefficient source установлен в Dialog parameters.

Установите этот флажок, чтобы оптимизировать вашу симуляцию, когда одно или несколько значений шкалы будут равняться 1. Выбирание этой опции удаляет усиления единицы так, чтобы значения были обработаны как линии Simulink или провода. В некоторых случаях фиксированной точки, когда существуют значения шкалы единицы, выбирая этот параметр также, не использует определенные броски. Смотрите раздел Fixed Point под Расширенными Возможностями для получения дополнительной информации.

Зависимости

Этот параметр отображается только, когда Coefficient source установлен в Dialog parameters.

Задайте, как блок должен обработать вход. Если входом является M-by-N матрица, можно установить этот параметр на:

  • Columns as channels (frame based) (значение по умолчанию) — Блок обрабатывает каждый столбец как отдельный канал. В этом режиме блок создает экземпляры M того же фильтра, каждого с его собственным буфером независимого государства. Каждый M фильтрует выборки входа N процесса на каждом временном шаге Simulink.

  • Elements as channels (sample based) — Блок обрабатывает каждый элемент как отдельный канал. В этом режиме блок создает M экземпляры N того же фильтра, каждого с его собственным буфером независимого государства. Каждый фильтр обрабатывает входную выборку того на каждом временном шаге Simulink.

Эта кнопка открывает Инструмент Визуализации Фильтра (fvtool) и отображает ответ фильтра фильтра, заданного в диалоговом окне.

Примечание

Когда вы вносите изменения в параметры фильтра на диалоговом окне блока, необходимо нажать кнопку Apply перед использованием кнопки View Filter Response.

Вкладка типов данных

Примечание

Эта вкладка появляется только, когда вы устанавливаете Coefficient source на любой Dialog parameters или Input port(s). Когда Coefficient source установлен в Filter object, типы данных, заданные в свойствах объекта фильтра, используются блоком.

Задайте округляющийся режим для операций фиксированной точки.

Для получения дополнительной информации смотрите округление режима. Коэффициенты фильтра не выполняют этот параметр; вместо этого, они всегда вокруг к Nearest.

Когда вы выбираете этот параметр, блок насыщает результат своей операции фиксированной точки. Когда вы очищаете этот параметр, блок переносит результат своей операции фиксированной точки. Для получения дополнительной информации на saturate и wrap, смотрите режим переполнения для операций фиксированной точки.

Коэффициенты фильтра всегда насыщаются и не выполняют этот параметр.

Выберите, как вы задаете слово и дробные длины типа данных с фиксированной точкой, входящего в каждый раздел биквадратного фильтра. Смотрите раздел Fixed-Point Conversion под Расширенными Возможностями рисунков, изображающих использование типа входных данных раздела в этом блоке. Когда вы выбираете:

  • Same as input — Размер слова и дробные характеристики длины типа данных Section input совпадают с теми из входа с блоком.

  • Binary point scaling — Введите слово и дробные длины входа раздела в битах.

Выберите, как вы задаете слово и дробные длины типа данных с фиксированной точкой, выходящего из каждого раздела биквадратного фильтра. Смотрите раздел Fixed-Point Conversion под Extended Capabilities для рисунков, изображающих использование типа выходных данных раздела в этом блоке. Когда вы выбираете:

  • Same as section input — Размер слова и дробные характеристики длины типа данных Section output соответствуют с теми из входа с блоком.

  • Binary point scaling — Введите слово и дробные длины раздела выход в битах.

Выберите, как вы задаете слово и дробные длины типа данных множимого Direct form I transposed отфильтруйте структуру. Смотрите раздел Fixed-Point Conversion под Extended Capabilities для рисунков, изображающих использование типа данных множимого в этом блоке.

Когда вы выбираете:

  • Same as output — Размер слова и дробные характеристики длины типа данных Multiplicand соответствуют с теми из выхода блока.

  • Binary point scaling — Введите размер слова и дробную длину множимого в битах.

Зависимости

Этот параметр отображается только, когда параметр Filter structure устанавливается на Direct form I transposed.

Выберите, как вы задаете слово и дробные длины коэффициентов фильтра (числитель, знаменатель и значение шкалы), когда Coefficient source установлен в Dialog parameters. Смотрите раздел Fixed-Point Conversion под Extended Capabilities для рисунков, изображающих использование содействующих типов данных в этом блоке. Когда вы выбираете:

  • Same word length as input — Размер слова содействующих соответствий фильтра тот из входа с блоком. В этом режиме блок автоматически устанавливает дробную длину коэффициентов к бинарному масштабированию только для точки, которое обеспечивает лучшую точность, возможную, учитывая значение и размер слова коэффициентов.

  • Specify word length — Введите размер слова коэффициентов в битах. В этом режиме блок автоматически устанавливает дробную длину коэффициентов к бинарному масштабированию только для точки, которое обеспечивает лучшую точность, возможную, учитывая значение и размер слова коэффициентов.

  • Binary point scaling — Введите размер слова и дробную длину коэффициентов в битах. Если применимо введите отдельные дробные длины для коэффициентов знаменателя и числителя.

Коэффициенты фильтра не выполняют Rounding mode и параметры Overflow mode; вместо этого, они всегда насыщаются и округляются к Nearest.

Зависимости

Этот параметр отображается только, когда Coefficient source установлен в Dialog parameters.

Задайте, как назвать продукт выходным словом и дробными длинами. Смотрите Типы данных Умножения и раздел Fixed-Point Conversion под Extended Capabilities для рисунков, изображающих использование типа выходных данных продукта в этом блоке. Когда вы выбираете:

  • Same as input — Продукт вывел размер слова, и дробные характеристики длины совпадают с теми из входа с блоком.

  • Inherit via internal rule — Продукт вывел размер слова, и дробные длины вычисляются на основе правил полной точности. Эти правила препятствуют тому, чтобы квантование произошло в блоке. Биты добавляются, по мере необходимости, так, чтобы никакое округление или переполнение не происходили. Для получения дополнительной информации смотрите, Наследовались через Внутреннее Правило.

  • Binary point scaling — Введите размер слова и дробную длину продукта выход в битах. Если применимо введите отдельные дробные длины для числителя и типа выходных данных продукта знаменателя.

Задайте, как определять слово аккумулятора и дробные длины. Смотрите Типы данных Умножения и раздел Fixed-Point Conversion под Extended Capabilities для рисунков, изображающих использование типа данных аккумулятора в этом блоке. Когда вы выбираете:

  • Same as input — Слово аккумулятора и дробные характеристики длины совпадают с теми из входа с блоком.

  • Same as product output — Слово аккумулятора и дробные характеристики длины совпадают с теми из продукта выход.

  • Binary point scaling — Введите размер слова и дробную длину аккумулятора в битах. Если применимо введите отдельные дробные длины для числителя и типа данных аккумулятора знаменателя.

Задайте, как определять слово состояния и дробные длины, когда Coefficient source установлен в Dialog parameters. Смотрите раздел Fixed-Point Conversion под Extended Capabilities для рисунков, изображающих использование типа данных состояния в этом блоке.

Когда вы выбираете:

  • Same as input — Слово состояния и дробные характеристики длины совпадают с теми из входа с блоком.

  • Same as accumulator — Слово состояния и дробные характеристики длины совпадают с теми из аккумулятора.

  • Binary point scaling — Введите размер слова и дробную длину состояния в битах. Если применимо введите отдельные дробные длины для числителя и типа данных состояния знаменателя.

Зависимости

Этот параметр отображается только, когда Filter structure установлен в Direct form II или Direct form II transposed.

Выберите, как вы задаете выходной размер слова и дробную длину. Смотрите раздел Fixed-Point Conversion под Extended Capabilities для рисунков, изображающих использование типа выходных данных в этом блоке. Когда вы выбираете:

  • Same as input — Выведите слово, и дробные характеристики длины совпадают с теми из входа с блоком.

  • Same as accumulator — Выведите слово, и дробные характеристики длины совпадают с теми из аккумулятора.

  • Binary point scaling — Введите размер слова и дробная продолжительность выхода в битах.

Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока.

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

Типы данных

double | single | base integer | fixed point

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

No

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

Yes

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

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

Представленный в R2008b