exponenta event banner

Биквадский фильтр

Модель биквадратических фильтров БИХ (SOS)

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

    Системная панель инструментов DSP Поддержка HDL/Фильтрация

  • Biquad Filter block

Описание

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

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

Порты

Вход

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

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

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

Этот порт не называется, если для источника коэффициента не установлено значение Input port(s).

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

Числительные коэффициенты биквадратного фильтра, заданные в виде матрицы 3-by-N, где N - количество секций биквадратного фильтра.

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

Зависимости

Этот порт появляется только при установке для источника коэффициента значения Input port(s).

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

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

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

Зависимости

Этот порт появляется только при установке для источника коэффициента значения Input port(s).

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

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

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

Зависимости

Этот порт появляется только при установке для источника коэффициента значения Input port(s).

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

Продукция

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

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

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

Если параметр Out имеет значение fixed-point, он должен быть подписан как fixed-point с двоичным масштабированием точек.

Этот порт не называется, если для источника коэффициента не установлено значение Input port(s).

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

Параметры

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

Главная вкладка

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

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

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

    • Num - Укажите числительные коэффициенты.

    • Den - Укажите коэффициенты знаменателя.

    • g - Укажите значения масштаба.

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

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

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

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

Сведения о создании системных объектов см. в разделе Определение основных системных объектов.

Зависимости

Этот параметр отображается только в том случае, если для параметра «Источник коэффициентов» установлено значение Filter object.

Укажите структуру фильтра.

Зависимости

Этот параметр отображается только в том случае, если для параметра «Источник коэффициентов» установлено значение Dialog parameters или Input port(s).

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

[b01b11b21a01a11a21b02b12b22a02a12a22  b0Mb1Mb2Ma0Ma1Ma2M]

Коэффициенты начального знаменателя [a01 a02... a0N] рассматриваются как 1, независимо от их фактических значений. Масштабирование не применяется к матрице SOS, если a0 не равно 1.

ss2sos и tf2sos функции преобразуют описание state-space или transfer function фильтра в описание раздела второго порядка, используемое этим блоком.

Зависимости

Этот параметр отображается только в том случае, если для параметра «Источник коэффициентов» установлено значение Dialog parameters.

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

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

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

Установите флажок Оптимизировать значения масштаба единицы (Optimize unity scale values), чтобы оптимизировать моделирование, если одно или несколько значений масштаба равны 1. При выборе этой опции выигрыш по единице удаляется таким образом, что значения обрабатываются как линии или провода Simulink. В некоторых случаях с фиксированной точкой, когда имеются значения шкалы единицы, при выборе этого параметра также опускаются определенные слепки. Дополнительные сведения см. в разделе Преобразование фиксированных точек в разделе Расширенные возможности.

Зависимости

Этот параметр отображается только в том случае, если для параметра «Источник коэффициентов» установлено значение Dialog parameters.

Укажите начальные условия состояний фильтра.

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

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

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

Исходное условиеОписание

Скаляр

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

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

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

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

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

Зависимости

Этот параметр отображается только в том случае, если для параметра «Источник коэффициентов» установлено значение Dialog parameters или Input port(s) и для структуры фильтра установлено значение 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 фильтра. Матрица также должна иметь по одному столбцу для каждого канала входного сигнала.

Зависимости

Этот параметр отображается только в том случае, если для параметра «Источник коэффициентов» установлено значение Dialog parameters или Input port(s) и для структуры фильтра установлено значение 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 фильтра. Матрица также должна иметь по одному столбцу для каждого канала входного сигнала.

Зависимости

Этот параметр отображается только в том случае, если для параметра «Источник коэффициентов» установлено значение Dialog parameters или Input port(s) и для структуры фильтра установлено значение Direct form I или Direct form I transposed.

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

Зависимости

Этот параметр отображается только в том случае, если для параметра «Источник коэффициентов» установлено значение Input port(s).

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

При выборе Noneведущие коэффициенты a0j рассматриваются как 1, независимо от их фактических значений. Масштабирование не применяется к матрице SOS, если a0 не равно 1.

Зависимости

Этот параметр отображается только в том случае, если для параметра «Источник коэффициентов» установлено значение Dialog parameters.

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

Зависимости

Этот параметр отображается только в том случае, если для параметра «Источник коэффициентов» установлено значение Dialog parameters.

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

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

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

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

Примечание

При внесении изменений в параметры фильтра в диалоговом окне блока перед использованием кнопки «Просмотр ответа фильтра» необходимо нажать кнопку «Применить».

Вкладка «Типы данных»

Примечание

Эта вкладка появляется только в том случае, если для параметра «Источник коэффициентов» задано значение Dialog parameters или Input port(s). Если для источника коэффициентов установлено значение Filter object, типы данных, указанные в свойствах объекта фильтра, используются блоком.

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

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

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

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

Выберите способ указания длин слов и дробей типа данных с фиксированной точкой в каждом разделе биквадратического фильтра. Примеры использования типа входных данных секции в этом блоке приведены в разделе «Преобразование фиксированных точек» в разделе «Расширенные возможности». При выборе:

  • Same as input - Характеристики длины слова и длины дроби входного типа данных секции соответствуют характеристикам входных данных блока.

  • Binary point scaling - Введите длину слова и дроби на входе секции в битах.

Выберите способ указания длин слов и дробей типа данных с фиксированной точкой, выходящих из каждого раздела биквадратического фильтра. Примеры использования типа выходных данных секции в этом блоке приведены в разделе «Преобразование фиксированных точек» в разделе «Расширенные возможности». При выборе:

  • Same as section input - Характеристики длины слова и длины дроби типа выходных данных секции совпадают с характеристиками входных данных блока.

  • Binary point scaling - Введите длину слова и дроби на выходе секции в битах.

Выберите способ указания длин слов и дробей типа данных multiplicand для Direct form I transposed фильтрующая структура. См. раздел «Преобразование фиксированных точек» в разделе «Расширенные возможности» для иллюстраций использования типа данных multiplicand в этом блоке.

При выборе:

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

  • Binary point scaling - Введите длину слова и длину дроби умножителя в битах.

Зависимости

Этот параметр отображается только в том случае, если для параметра «Структура фильтра» установлено значение Direct form I transposed.

Выберите способ задания длин слов и дробей коэффициентов фильтра (числитель, знаменатель и значение масштаба), если для параметра «Источник коэффициентов» задано значение Dialog parameters. Примеры использования типов данных коэффициентов в этом блоке приведены в разделе «Преобразование фиксированных точек» в разделе «Расширенные возможности». При выборе:

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

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

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

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

Зависимости

Этот параметр отображается только в том случае, если для параметра «Источник коэффициентов» установлено значение Dialog parameters.

Укажите, как обозначить выходные слова продукта и длины дробей. См. разделы Типы данных умножения и Преобразование фиксированных точек в разделе Расширенные возможности для иллюстраций использования типа выходных данных продукта в этом блоке. При выборе:

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

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

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

Укажите, как обозначать длину слова и дроби накопителя. Примеры использования типа данных накопителя в этом блоке приведены в разделе «Типы данных умножения» и «Преобразование фиксированных точек» в разделе «Расширенные возможности». При выборе:

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

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

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

Укажите, как обозначать длину слова состояния и дроби, если для параметра Источник коэффициента задано значение Dialog parameters. Примеры использования типа данных состояния в этом блоке см. в разделе «Преобразование фиксированных точек» в разделе «Расширенные возможности».

При выборе:

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

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

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

Зависимости

Этот параметр отображается только в том случае, если для параметра «Структура фильтра» задано значение Direct form II или Direct form II transposed.

Выберите способ задания длины выходного слова и длины дроби. Примеры использования типа выходных данных в этом блоке приведены в разделе «Преобразование фиксированных точек» в разделе «Расширенные возможности». При выборе:

  • Same as input - Характеристики выходного слова и длины дроби соответствуют характеристикам входного сигнала блока.

  • Same as accumulator - Характеристики выходного слова и длины дроби соответствуют характеристикам аккумулятора.

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

Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в маске блока.

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

Типы данных

double | fixed point | integer | single

Прямой проход

no

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

no

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

yes

Обнаружение пересечения нулей

no

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

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

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