Фильтр Biquad

Образцовый биквадратный БИХ (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, Error или 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 — Product размер слова вывода и дробные характеристики длины совпадает с теми из входа к блоку.

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

  • 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