Образцовый биквадратный БИХ (SOS) фильтры
DSP System Toolbox / Фильтрующий / Реализации Фильтра
Блок Biquad Filter независимо фильтрует каждый канал входного сигнала с заданным биквадратным фильтром бесконечного импульсного ответа (IIR). Когда вы задаете коэффициенты фильтра в диалоговом окне, блок реализует статические фильтры с фиксированными коэффициентами. Когда вы обеспечиваете коэффициенты фильтра через входной порт, можно настроить коэффициенты во время симуляции.
Блок Biquad Filter поддерживает состояние Simulink® журналирование функции. Смотрите состояния (Simulink) для получения дополнительной информации.
\in
Ввод данныхВвод данных к блоку, заданному как вектор или матрица. Этот блок поддерживает входные сигналы переменного размера, позволяя вам изменить входной формат кадра (количество строк) во время симуляции. Однако количество каналов (количество столбцов) должно остаться постоянным.
Если вход является фиксированной точкой, это должна быть подписанная фиксированная точка с масштабированием двоичной точки.
Этот порт без имени, если вы не устанавливаете Coefficient source на Input port(s)
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| fixed point
Поддержка комплексного числа: Да
Num
— Коэффициенты числителяКоэффициенты числителя фильтра biquad, заданного как 3 N матрицей, где N является количеством разделов фильтра biquad.
Если Num является фиксированной точкой, это должна быть подписанная фиксированная точка с масштабированием двоичной точки.
Этот порт появляется только, когда вы устанавливаете Coefficient source на Input port(s)
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| fixed point
Den
— Коэффициенты знаменателяКоэффициенты знаменателя фильтра biquad, заданного как 2 N матрицей, где N является количеством разделов фильтра biquad.
Если Den является фиксированной точкой, это должна быть подписанная фиксированная точка с масштабированием двоичной точки.
Этот порт появляется только, когда вы устанавливаете Coefficient source на Input port(s)
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| fixed point
g
Масштабируйте значенияМасштабируйте значения фильтра biquad, заданного как 1 на (N +1) вектор, где N является количеством разделов фильтра biquad.
Если g является фиксированной точкой, это должна быть подписанная фиксированная точка с масштабированием двоичной точки.
Этот порт появляется только, когда вы устанавливаете Coefficient source на Input port(s)
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| fixed point
Out
— Filtered выводФильтрованный выходной параметр, возвращенный как вектор или матрица.
Выходные размерности всегда равняются размерностям входного сигнала. Вывод этого блока численно совпадает с выходными параметрами Системы dsp.BiquadFilter
object™.
Если Out является фиксированной точкой, это должна быть подписанная фиксированная точка с масштабированием двоичной точки.
Этот порт без имени, если вы не устанавливаете Coefficient source на Input port(s)
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| fixed point
Поддержка комплексного числа: Да
Coefficient source
— Режим работыDialog parameters
(значение по умолчанию) | Input port(s)
| Filter object
Блок 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
.
Фильтр
Имя объекта фильтраBQF
(значение по умолчанию) | имя dsp.BiquadFilter System object
Задайте имя фильтра дискретного времени, который вы хотите, чтобы блок реализовал. Необходимо задать фильтр как Системный объект dsp.BiquadFilter
.
Можно задать Системный объект в маске блока или в переменной рабочей области MATLAB®.
Для получения информации о создании Системных объектов смотрите, Задают Объекты Базовой системы (MATLAB).
Этот параметр видим только, когда Coefficient source установлен в Filter object
.
Filter structure
— Отфильтруйте структуруDirect form II transposed
(значение по умолчанию) | Direct form I
| Direct form I transposed
| Direct form II
Задайте структуру фильтра.
Этот параметр видим только, когда Coefficient source установлен в Dialog parameters
или Input port(s)
.
SOS Matrix (Mx6)
— Матрица SOS[1 0.3 0.4 1 0.1 0.2]
(значение по умолчанию) | M-by-6 матрицаЗадайте M-by-6 матрица, где M является количеством разделов в фильтре раздела второго порядка. Каждая строка матрицы SOS содержит числитель и коэффициенты знаменателя (bik и aik) соответствующего раздела в фильтре.
Ведущие коэффициенты знаменателя [a01 a02... a0N] обработаны как 1 с, независимо от их фактических значений. Никакое масштабирование не применяется к матрице SOS, когда a0 не 1.
ss2sos
и функции tf2sos
преобразовывают пространство состояний или описание передаточной функции вашего фильтра в описание раздела второго порядка, используемое этим блоком.
Этот параметр видим только, когда Coefficient source установлен в Dialog parameters
.
Scale values
— Масштабируйте значения1
(значение по умолчанию) | скаляр | векторЗадайте значения шкалы, которые будут использоваться между разделами SOS. Можно задать скаляр с действительным знаком или вектор длины M +1:
При вводе скаляр, значение задает значение усиления перед первым разделом фильтра второго порядка. Остальная часть значения по умолчанию значений усиления к 1.
При вводе вектор M +1 значение, каждое значение задает отдельный участок фильтра. Например, первый элемент является первым значением усиления, второй элемент является вторым значением усиления и так далее.
Установите флажок Optimize unity scale values, чтобы оптимизировать вашу симуляцию, когда одно или несколько значений шкалы будут равняться 1. Выбор этой опции удаляет усиления единицы так, чтобы значения были обработаны как строки Simulink или провода. В некоторых случаях фиксированной точки, когда существуют значения шкалы единицы, выбирая этот параметр также, не использует определенные броски. Обратитесь к разделу Fixed-Point Conversion под Extended Capabilities для получения дополнительной информации.
Этот параметр видим только, когда Coefficient source установлен в Dialog parameters
.
Initial conditions
— Начальные условия0
(значение по умолчанию) | скаляр | векторЗадайте начальные условия состояний фильтра.
Блок Biquad Filter инициализирует внутренние состояния фильтра, чтобы обнулить по умолчанию. Опционально, используйте параметр Initial conditions, чтобы задать ненулевые начальные состояния для задержек фильтра.
Чтобы определить количество начальных условий, необходимо задать и как задать их, см. следующую таблицу на допустимых начальных условиях.
Допустимые начальные условия
Начальное условие | Описание |
---|---|
Скаляр | Блок инициализирует все элементы задержки в фильтре к скалярному значению. |
Вектор или матрица | Каждый вектор или элемент матрицы задают уникальное начальное условие для соответствующего элемента задержки в соответствующем канале. M является количеством разделов, и N является количеством входных каналов:
|
Этот параметр только видим, когда Coefficient source установлен в Dialog parameters
или Input port(s)
, и Filter structure установлен в Direct form II
или Direct form II transposed
.
Initial conditions on zeros side
— Начальные условия на нулевой стороне0
(значение по умолчанию) | скаляр | векторЗадайте начальные условия для состояний фильтра на стороне структуры фильтра с нулями (b0, b1, b2...).
Блок Biquad Filter инициализирует внутренние состояния фильтра, чтобы обнулить по умолчанию. Опционально, используйте параметр Initial conditions on zeros side, чтобы задать ненулевые начальные состояния для задержек фильтра. Для примера см. ex_biquad_filter_ref.
Чтобы определить количество начальных условий, необходимо задать и как задать их, см. следующую таблицу на допустимых начальных условиях.
Допустимые начальные условия
Начальное условие | Описание |
---|---|
Скаляр | Блок инициализирует все элементы задержки в фильтре к скалярному значению. |
Вектор или матрица | Каждый вектор или элемент матрицы задают уникальное начальное условие для соответствующего элемента задержки в соответствующем канале. Где M является количеством разделов, и N является количеством входных каналов:
|
Этот параметр видим только, когда Coefficient source установлен в Dialog parameters
или Input port(s)
, и Filter structure установлен в Direct form I
или Direct form I transposed
.
Initial conditions on poles side
— Начальные условия на стороне полюсов0
(значение по умолчанию) | скаляр | векторЗадайте начальные условия для состояний фильтра на стороне структуры фильтра с полюсами (a0, a1, a2...).
Блок Biquad Filter инициализирует внутренние состояния фильтра, чтобы обнулить по умолчанию. Опционально, используйте параметр Initial conditions on poles side, чтобы задать ненулевые начальные состояния для задержек фильтра. Для примера см. ex_biquad_filter_ref.
Чтобы определить количество начальных условий, необходимо задать и как задать их, см. следующую таблицу на допустимых начальных условиях.
Допустимые начальные условия
Начальное условие | Описание |
---|---|
Скаляр | Блок инициализирует все элементы задержки в фильтре к скалярному значению. |
Вектор или матрица | Каждый вектор или элемент матрицы задают уникальное начальное условие для соответствующего элемента задержки в соответствующем канале. Где M является количеством разделов, и N является количеством входных каналов:
|
Этот параметр видим только, когда Coefficient source установлен в Dialog parameters
или Input port(s)
, и Filter structure установлен в Direct form I
или Direct form I transposed
.
Scale values mode
— Режим, чтобы задать значения шкалыSpecify via input port (g)
(значение по умолчанию) | Assume all are unity and optimize
Выберите, как задать значения шкалы, чтобы использовать между разделами фильтра. Когда вы выбираете Specify via input port (g)
, вы вводите значения шкалы как 2D вектор в порте g. Когда вы выбираете Assume all are unity and optimize
, все значения шкалы удалены и обработаны как строки Simulink или провода.
Этот параметр видим только, когда Coefficient source установлен в Input port(s)
.
Action when the a0 values of the SOS matrix are not one
— Действие, когда a0 значения матрицы SOS не являются темWarning
(значение по умолчанию) | None
| Error
Задайте действие, которое должен выполнить блок, когда матрица SOS значения a0j не равняется тому. Действием может быть Warning
, Error
или None
.
Когда вы выбираете None
, ведущие коэффициенты, a0j обработан как 1's, независимо от их фактических значений. Никакое масштабирование не применяется на матрицу SOS, когда a0 не 1.
Этот параметр видим только, когда Coefficient source установлен в Dialog parameters
.
Optimize unity scale values
— Оптимизируйте значения шкалы единицыon
(значение по умолчанию) | off
Установите этот флажок, чтобы оптимизировать вашу симуляцию, когда одно или несколько значений шкалы будут равняться 1. Выбор этой опции удаляет усиления единицы так, чтобы значения были обработаны как строки Simulink или провода. В некоторых случаях фиксированной точки, когда существуют значения шкалы единицы, выбирая этот параметр также, не использует определенные броски. Смотрите раздел Fixed Point под Расширенными Возможностями для получения дополнительной информации.
Этот параметр видим только, когда Coefficient source установлен в Dialog parameters
.
Input processing
— Введите обработкуColumns as channels (frame based)
(значение по умолчанию) | Elements as channels (sample based)
Задайте, как блок должен обработать вход. Если входом является M-by-N матрица, можно установить этот параметр на:
Columns as channels (frame based)
(значение по умолчанию) — Блок обрабатывает каждый столбец как отдельный канал. В этом режиме блок создает экземпляры M того же фильтра, каждого с его собственным буфером независимого государства. Каждый M фильтрует выборки входа N процесса на каждом временном шаге Simulink.
Elements as channels (sample based)
— Блок обрабатывает каждый элемент как отдельный канал. В этом режиме блок создает M экземпляры N того же фильтра, каждого с его собственным буфером независимого государства. Каждый фильтр обрабатывает входную выборку того на каждом временном шаге Simulink.
View Filter Response
— Просмотрите ответ фильтраЭта кнопка открывает Инструмент Визуализации Фильтра (fvtool
) и отображает ответ фильтра фильтра, заданного в диалоговом окне.
Когда вы вносите изменения в параметры фильтра на диалоговом окне блока, необходимо нажать кнопку Apply перед использованием кнопки View Filter Response.
Эта вкладка появляется только, когда вы устанавливаете Coefficient source или на Dialog parameters
или на Input port(s)
. Когда Coefficient source установлен в Filter object
, типы данных, заданные в свойствах объекта фильтра, используются блоком.
Rounding mode
— RoundingFloor
(значение по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
Задайте округляющийся режим для операций фиксированной точки.
Для получения дополнительной информации смотрите округление режима. Коэффициенты фильтра не повинуются этому параметру; вместо этого, они всегда вокруг к Nearest
.
Saturate on integer overflow
— Метод действия переполненияoff
(значение по умолчанию) | on
Когда вы выбираете этот параметр, блок насыщает результат своей операции фиксированной точки. Когда вы очищаете этот параметр, блок переносит результат своей операции фиксированной точки. Для получения дополнительной информации на saturate
и wrap
, смотрите режим переполнения для операций фиксированной точки.
Коэффициенты фильтра всегда насыщаются и не повинуются этому параметру.
Section input
— Разделите тип входных данныхSame as input
(значение по умолчанию) | Binary point scaling
Выберите, как вы задаете слово и дробные длины типа данных с фиксированной точкой, входящего в каждый раздел биквадратного фильтра. Смотрите раздел Fixed-Point Conversion под Расширенными Возможностями рисунков, изображающих использование типа входных данных раздела в этом блоке. Когда вы выбираете:
Same as input
— Размер слова и дробные характеристики длины типа данных Section input совпадают с теми из входа к блоку.
Binary point scaling
— Введите слово и дробные длины входа раздела в битах.
Section output
— Разделите тип выходных данныхSame as section input
(значение по умолчанию) | Binary point scaling
Выберите, как вы задаете слово и дробные длины типа данных с фиксированной точкой, выходящего из каждого раздела биквадратного фильтра. Смотрите раздел Fixed-Point Conversion под Extended Capabilities для рисунков, изображающих использование типа выходных данных раздела в этом блоке. Когда вы выбираете:
Same as section input
— Размер слова и дробные характеристики длины типа данных Section output соответствуют с теми из входа к блоку.
Binary point scaling
— Введите слово и дробные длины раздела вывод в битах.
Multiplicand
— Тип данных множимогоSame as 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
.
Coefficients
— Содействующий тип данныхSame word length as input
(значение по умолчанию) | Specify word length
| Binary point scaling
Выберите, как вы задаете слово и дробные длины коэффициентов фильтра (числитель, знаменатель и значение шкалы), когда 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
.
Product output
— Тип выходных данных продуктаSame as input
(значение по умолчанию) | Inherit via internal rule
| Binary point scaling
Задайте, как назвать продукт выходным словом и дробными длинами. Смотрите Типы данных Умножения и раздел Fixed-Point Conversion под Extended Capabilities для рисунков, изображающих использование типа выходных данных продукта в этом блоке. Когда вы выбираете:
Same as input
— Product размер слова вывода и дробные характеристики длины совпадает с теми из входа к блоку.
Inherit via internal rule
— Product размер слова вывода и дробные длины вычисляется на основе правил полной точности. Эти правила препятствуют тому, чтобы квантование произошло в блоке. Биты добавляются, по мере необходимости, так, чтобы никакое округление или переполнение не происходили. Для получения дополнительной информации смотрите, Наследовались через Внутреннее Правило.
Binary point scaling
— Введите размер слова и дробную длину продукта вывод в битах. Если применимо введите отдельные дробные длины для числителя и типа выходных данных продукта знаменателя.
Accumulator
— Тип данных аккумулятораSame as product output
(значение по умолчанию) | Same as input
| Binary point scaling
Задайте, как определять слово аккумулятора и дробные длины. Смотрите Типы данных Умножения и раздел Fixed-Point Conversion под Extended Capabilities для рисунков, изображающих использование типа данных аккумулятора в этом блоке. Когда вы выбираете:
Same as input
— Слово аккумулятора и дробные характеристики длины совпадают с теми из входа к блоку.
Same as product output
— Слово аккумулятора и дробные характеристики длины совпадают с теми из продукта вывод.
Binary point scaling
— Введите размер слова и дробную длину аккумулятора в битах. Если применимо введите отдельные дробные длины для числителя и типа данных аккумулятора знаменателя.
States
— Тип данных состоянийSame as accumulator
(значение по умолчанию) | Same as input
| 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
.
Вывод
Тип выходных данныхSame as accumulator
(значение по умолчанию) | Same as input
| Binary point scaling
Выберите, как вы задаете выходной размер слова и дробную длину. Смотрите раздел Fixed-Point Conversion под Extended Capabilities для рисунков, изображающих использование типа выходных данных в этом блоке. Когда вы выбираете:
Same as input
— Выведите слово, и дробные характеристики длины совпадают с теми из входа к блоку.
Same as accumulator
— Выведите слово, и дробные характеристики длины совпадают с теми из аккумулятора.
Binary point scaling
— Введите размер слова и дробная продолжительность вывода в битах.
Lock data type settings against changes by the fixed-point tools
— Заблокируйте настройки типа данныхoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока.
Типы данных |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Этот блок поддерживает генерацию HDL-кода с помощью HDL Coder™. HDL Coder обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику. Для получения дополнительной информации о реализациях свойства и ограничения для генерации HDL-кода, видят Фильтр Biquad.
Если вход является фиксированной точкой, это должно быть целое число со знаком или подписанная фиксированная точка с наклоном степени двойки и нулевым смещением.
Схемы в следующих разделах показывают структуры фильтра, поддержанные блоком Biquad Filter. Они также показывают типы данных, используемые в структурах фильтра для сигналов фиксированной точки. Можно установить типы данных, показанные в этих схемах в диалоговом окне блока.
Следующая схема показывает типы данных для одного раздела фильтра для сигналов фиксированной точки.
Следующие схемы показывают типы данных с фиксированной точкой между разделами фильтра.
Когда данные не оптимизированы:
Когда вы выбираете Optimize unity scale values, и значения шкалы равняются 1:
Следующая схема показывает типы данных для одного раздела фильтра для сигналов фиксированной точки.
Пунктирные броски не использованы, когда Optimize unity scale values выбран, и значения шкалы равняются тому.
Следующие схемы показывают типы данных с фиксированной точкой между разделами фильтра.
Когда данные не оптимизированы:
Когда вы выбираете Optimize unity scale values, и значения шкалы равняются 1:
Следующая схема показывает типы данных для одного раздела фильтра для сигналов фиксированной точки.
Пунктирные броски не использованы, когда Optimize unity scale values выбран, и значения шкалы равняются тому.
Следующие схемы показывают типы данных с фиксированной точкой между разделами фильтра.
Когда данные не оптимизированы:
Когда вы выбираете Optimize unity scale values, и значения шкалы равняются 1:
Следующая схема показывает типы данных для одного раздела фильтра для сигналов фиксированной точки.
Следующие схемы показывают типы данных с фиксированной точкой между разделами фильтра.
Когда данные не оптимизированы:
Когда вы выбираете Optimize unity scale values, и значения шкалы равняются 1:
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.