Digital Filter (Obsolete)

Фильтрация каждого канала входа с течением времени с помощью статических или изменяющихся во времени реализаций цифрового фильтра

Библиотека

Реализация фильтрации/фильтрации

dsparch4

  • Digital Filter (Obsolete) block

Описание

Примечание

Использование Digital Filter блока в будущих релизах не рекомендуется. Существующие образцы будут продолжать работать, но определенные функциональные возможности будут отключены. Для блоков и системных объектов см. раздел «Удаление или замена функциональных возможностей». Мы настоятельно рекомендуем использовать один из Discrete FIR Filter (Simulink), Discrete Filter (Simulink), Biquad Filter или Allpole Filter в новых проектах.

Можно использовать блок Цифровой фильтр, чтобы эффективно реализовать фильтр с плавающей точкой или с фиксированной точкой, для которого вы знаете коэффициенты, или который уже определен в dfilt объект. Блок независимо фильтрует каждый канал входного сигнала с помощью заданного цифрового БИХ или конечной импульсной характеристики фильтра. Блок может реализовать статические фильтры с фиксированными коэффициентами, а также изменяющиеся во времени фильтры с коэффициентами, которые изменяются с течением времени. Можно настроить коэффициенты статического фильтра во время симуляции.

Этот блок фильтрует каждый канал входного сигнала независимо с течением времени. Вы должны задать параметр Input processing, чтобы задать, как блок интерпретирует входной сигнал. Можно выбрать один из следующих опций:

  • Columns as channels (frame based) - Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как независимый канал.

  • Elements as channels (sample based) - Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.

Размерности выхода всегда совпадают с размерностями входного сигнала. Выходы этого блока численно совпадают с выходами блока Digital Filter Design и блока dfilt объект.

Примечание

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

Источник коэффициентов

Блок Цифровой фильтр может работать в трех различных режимах. Выберите режим в поле группы Coefficient source.

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

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

  • Discrete-time filter object (DFILT) Задайте фильтр используя dfilt объект.

Поддерживаемые структуры фильтра

Когда вы выбираете Discrete-time filter object (DFILT), следующее dfilt поддерживаются структуры:

  • dfilt.df1

  • dfilt.df1t

  • dfilt.df2

  • dfilt.df2t

  • dfilt.df1sos

  • dfilt.df1tsos

  • dfilt.df2sos

  • dfilt.df2tsos

  • dfilt.dffir

  • dfilt.dffirt

  • dfilt.dfsymfir

  • dfilt.dfasymfir

  • dfilt.latticear

  • dfilt.latticemamin

Когда вы выбираете Dialog parameters или Input port(s), список структур фильтра, предлагаемых в параметре Filter structure, зависит от того, задаете ли вы Transfer function type IIR (poles & zeros), IIR (all poles), или FIR (all zeros), как кратко изложено в следующей таблице.

Примечание

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

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

Структуры фильтра и коэффициенты фильтра

Тип передаточной функции

Поддерживаемые структуры фильтра

Спецификация коэффициента фильтра

IIR (poles & zeros)

Direct form I

Direct form I transposed

Direct form II

Direct form II transposed

  • Вектор коэффициентов числителя [b0, b1, b2,..., bn]

  • Вектор коэффициентов знаменателя [a0, a1, a2,..., am]

Смотрите Специальный фактор о ведущем коэффициенте знаменателя.

Biquadratic direct form I (SOS)

Biquadratic direct form I transposed (SOS)

Biquadratic direct form II (SOS)

Biquadratic direct form II transposed (SOS)

  • M матрицу второго порядка (SOS) -by-6.

  • Масштабные значения

IIR (all poles)

Direct form

Direct form transposed

Вектор коэффициентов знаменателя [a0, a1, a2,..., am]

Смотрите Специальный фактор о ведущем коэффициенте знаменателя.

Lattice AR

Вектор коэффициентов отражения [k1, k2,..., kn]

FIR (all zeros)

Direct form

Direct form symmetric

Direct form antisymmetric

Direct form transposed

Вектор коэффициентов числителя [b0, b1, b2,..., bn]

Lattice MA

Вектор коэффициентов отражения [k1, k2,..., kn]

Особые факторы для переднего коэффициента знаменателя

В некоторых случаях блок Цифровой фильтр требует начальный коэффициент знаменателя (a0), чтобы быть 1. Это требование применяется при следующих условиях:

  • Блок Цифровой фильтр работает в режиме с фиксированной точкой. Блок работает в режиме с фиксированной точкой, когда по крайней мере один из следующих операторов равен true:

    • Вход в блок Цифровой фильтр имеет тип данных с фиксированной точкой или целым числом.

    • Параметр Fixed-point instrumentation mode под Analysis > Fixed Point Tool имеет настройку Minimums, maximums and overflows.

  • У Coefficient source есть настройка Dialog или Input port(s).

    Примечание

    Если вы работаете в одной из ситуаций с фиксированной точкой, описанных в предыдущем бюллетене, и для Coefficient source задано значение Input port(s)необходимо установить флажок First denominator coefficient = 1, remove a0 term in the structure.

  • Параметры Transfer function type и Filter structure устанавливаются в одну из комбинаций, описанных в следующей таблице.

    Transfer function typeFilter structure
    IIR (poles & zeros)

    Direct form I

    Direct form I transposed

    Direct form II

    Direct form II transposed

    IIR (all poles)

    Direct form

    Direct form transposed

Блок Цифровой фильтр вызывает ошибку, если вы используете его в одной из этих строений и вашем ведущем коэффициенте знаменателя (a0) не равен 1. Чтобы устранить ошибку, установите свой начальный коэффициент знаменателя равный 1, масштабируя все коэффициенты числителя и знаменателя в множитель a0.

Определение начальных условий

В Dialog parameters и Input port(s) режимах блок инициализирует состояния внутреннего фильтра до нуля по умолчанию, что эквивалентно принятию прошлых входов и выходов равными нулю. Можно опционально использовать параметр Initial conditions, чтобы задать ненулевые начальные условия для задержек фильтра.

Чтобы определить количество начальных значений условий, которые вы должны задать, и как их задать, смотрите следующую таблицу «Допустимые начальные условия и количество элементов задержки (состояния фильтра)». Параметр Initial conditions может принимать одну из четырех форм, как описано в следующей таблице.

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

Начальное условиеПримерыОписание

Скаляр

5

Каждый элемент задержки для каждого канала установлен в 5.

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

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

Для фильтра с двумя элементами задержки: [d1 d2]

Элементами задержки для всех каналов являются d1 и d2.

Каждый векторный элемент задает уникальное начальное условие для соответствующего элемента задержки. Блок применяет один и тот же вектор начальных условий к каждому каналу входного сигнала. Длина вектора должна равняться количеству элементов задержки в фильтре (заданное в таблице Number of Delay Elements (Filter States)).

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

Для 3-канального входного сигнала и фильтра с двумя элементами задержки:

[<<reservedrangesplaceholder5> 1 <reservedrangesplaceholder4> <reservedrangesplaceholder3> <reservedrangesplaceholder2> <reserv drangesplaceholder1> <reservedrangesplaceholder0>] или

[d1D1d1d2D2d2]

  • Элементы задержки для канала 1 являются d1 и d2.

  • Элементы задержки для канала 2 являются D1 и D2.

  • Элементы задержки для канала 3 являются d1 и d2.

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

  • Длина вектора должна быть равна продукту количества каналов входа и количеству элементов задержки в фильтре (заданное в таблице Number of Delay Elements (Filter States)).

  • Матрица должна иметь одинаковое число строк, что и количество элементов задержки в фильтре (заданное в таблице Number of Delay Elements (Filter States)), и должна иметь по одному столбцу для каждого канала входного сигнала.

Пустая матрица

[ ]
Каждый элемент задержки для каждого канала установлен в 0.

Пустая матрица, [], эквивалентно установке параметра Initial conditions на скалярное значение 0.

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

Количество элементов задержки (состояния фильтра)

Структура фильтраКоличество элементов задержки на канал

Прямая форма
Прямая транспонированная форма
Прямая форма симметричная
Прямая антисимметричная форма

#_of_filter_coeffs-1

Прямая форма I
Прямая форма I транспонирована

  • #_of_zeros-1

  • #_of_poles-1

Прямая форма II
Прямая форма II транспонирована

max(#_of_zeros, #_of_poles)-1

Биквадратичная прямая форма I (SOS)
Биквадратичная прямая форма I транспонирована (SOS)
Биквадратичная прямая форма II (SOS)
Биквадратичная прямая форма II транспонирована (SOS)

2 * #_of_filter_sections

Решетка AR
Решетка MA

#_of_reflection_coeffs

Логгирование состояний

Simulink® позволяет вам логгировать состояния в модели в MATLAB® рабочей области. В следующей таблице указывается, какие структуры фильтра блока Цифровой фильтр поддерживают функцию регистрации состояния Simulink. Для получения дополнительной информации см. раздел Состояние (Simulink).

Тип передаточной функцииСтруктура фильтраПоддерживается логгирование состояний
IIR (poles & zeros)Direct form I

Нет

Direct form I transposed

Да

Direct form II

Нет

Direct form II transposed

Да

Biquadratic direct form I (SOS)

Да

Biquadratic direct form I transposed (SOS)

Да

Biquadratic direct form II (SOS)

Да

Biquadratic direct form II transposed (SOS)

Да

IIR (all poles)Direct form

Нет

Direct form transposed

Да

Lattice AR

Да

FIR (all zeros)Direct form

Нет

Direct form symmetric

Нет

Direct form antisymmetric

Нет

Direct form transposed

Да

Lattice MA

Да

Типы данных с фиксированной точкой

Все структуры, поддерживаемые блоком Цифровой фильтр, поддерживают типы данных с фиксированной точкой. Можно задать промежуточные типы данных с фиксированной точкой для таких величин, как коэффициенты, аккумулятор и выход продукта для каждой структуры фильтра. Смотрите Диаграммы Структуры Фильтра для схем, описывающих использование этих промежуточных типов данных с фиксированной точкой в каждой структуре фильтра.

Диалоговое окно

Источник коэффициентов

Блок Цифровой фильтр может работать в трех различных режимах. Выберите режим в поле группы Coefficient source.

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

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

  • Discrete-time filter object (DFILT) Задайте фильтр используя dfilt объект.

Различные элементы появляются в диалоговом окне Цифрового фильтра блока в зависимости от того, выбираете ли вы Dialog parameters, Input port(s) или Discrete-time filter object (DFILT) в Coefficient source рамке группы. Для получения дополнительной информации см. следующие разделы:

Задайте характеристики фильтра в диалоговом окне и/или через входные порты

Панель Main диалогового окна Цифрового фильтра (Digital Filter) появляется следующим образом, когда Dialog parameters задано в Coefficient source рамке группы. Параметры ниже могут появиться, когда Dialog parameters или Input port(s) выбран, как отмечено.

Transfer function type

Выберите тип передаточной функции фильтра; IIR (poles & zeros), IIR (all poles), или FIR (all zeros). Дополнительные сведения см. в разделе Поддерживаемые структуры фильтра.

Filter structure

Выберите структуру фильтра. Выбор доступных структур изменяется в зависимости от настройки параметра Transfer function type. Дополнительные сведения см. в разделе Поддерживаемые структуры фильтра.

Numerator coefficients

Задайте вектор коэффициентов числителя передаточной функции фильтра.

Этот параметр видим только, когда Dialog parameters выбран и когда выбранная структура фильтра поддается спецификации с коэффициентами числителя. Настраиваемый (Simulink).

Denominator coefficients

Задайте вектор коэффициентов знаменателя передаточной функции фильтра.

В некоторых случаях начальный коэффициент знаменателя (a0) должен быть равен 1. Для получения дополнительной информации смотрите Специальный фактор по ведущему коэффициенту знаменателя.

Этот параметр видим только, когда Dialog parameters выбран и когда выбранная структура фильтра поддается спецификации с коэффициентами знаменателя. Настраиваемый (Simulink).

Reflection coefficients

Задайте вектор коэффициентов отражения передаточной функции фильтра.

Этот параметр видим только, когда Dialog parameters выбран и когда выбранная структура фильтра поддается спецификации с коэффициентами отражения. Настраиваемый (Simulink).

SOS matrix (Mx6)

Задайте матрицу M -by-6 SOS, содержащую коэффициенты фильтра секции второго порядка (SOS), где M количество разделов. Вы можете использовать ss2sos и tf2sos выполняет функции из программного обеспечения Signal Processing Toolbox™, чтобы проверить, действительна ли ваша матрица SOS.

Этот параметр видим только, когда Dialog parameters выбран и когда выбранная структура фильтра является биквадратичной. Настраиваемый (Simulink).

Scale values

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

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

  • Можно также задать вектор с M + 1 элементами, присвоив другое значение каждой шкале. Смотрите Диаграммы Структуры Фильтра для схем, изображающих использование значений шкалы в биквадратических структурах фильтра.

Этот параметр видим только, когда Dialog parameters выбран и когда выбранная структура фильтра является биквадратичной. Настраиваемый (Simulink).

First denominator coefficient = 1, remove a0 term in the structure

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

Этот параметр активируется только, когда Input port(s) выбран и когда выбранная структура фильтра поддается этой спецификации.

Coefficient update rate

Задайте, как часто блок обновляет изменяющиеся во времени фильтры; один раз на выборку или один раз на систему координат.

Этот параметр появляется только при выполнении следующих условий:

  • Вы задаете Input port(s) в поле Исходная группа коэффициентов (Coefficent source).

  • Вы устанавливаете параметр Input processing равным Columns as channels (frame based).

Initial conditions

Задайте начальные условия состояния фильтра. Чтобы узнать, как задать начальные условия, см. «Определение начальных условий».

Initial conditions on zeros side

(Не показан в диалоговом окне выше.) Задайте начальные условия для состояний фильтра на стороне структуры фильтра с нулями (b0, b1, b2,...); см. схему ниже.

Этот параметр активируется только, когда фильтр имеет оба полюса и нули, и когда вы выбираете структуру, такую как прямая форма I, которая имеет отдельные состояния фильтра, соответствующие полюсам (ak) и нулям (bk). Чтобы узнать, как задать начальные условия, см. «Определение начальных условий».

Initial conditions on poles side

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

Этот параметр активируется только, когда фильтр имеет оба полюса и нули, и когда вы выбираете структуру, такую как прямая форма I, которая имеет отдельные состояния фильтра, соответствующие полюсам (ak) и нулям (bk). Чтобы узнать, как задать начальные условия, см. «Определение начальных условий».

Input processing

Укажите, как блок должен обрабатывать вход. Можно задать для этого параметра одну из следующих опций:

  • Columns as channels (frame based) - Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как отдельный канал.

  • Elements as channels (sample based) - Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.

Примечание

The Inherited (this choice will be removed - see release notes) опция будет удалена в следующем релизе. Смотрите Обработку на основе фрейма в DSP System Toolbox™ Информации о релизах для получения дополнительной информации.

View filter response

Эта кнопка открывает Инструмент визуализации фильтра (fvtool) из продукта Signal Processing Toolbox и отображает фильтровальную характеристику фильтра, заданную блоком. Для получения дополнительной информации о FVTool см. документацию по Signal Processing Toolbox.

Примечание

Если вы задаете фильтр в параметре Filter, необходимо нажать кнопку Apply, чтобы применить фильтр перед использованием кнопки View filter response.

Панель Data Types диалогового окна Цифрового фильтра (Digital Filter) появляется следующим образом, когда Dialog parameters задано в Coefficient source рамке группы. Параметры ниже могут появиться, когда Dialog parameters или Input port(s) выбран, в зависимости от структуры фильтра и от того, вводятся ли коэффициенты через порты или на маске блока.

Rounding mode

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

Overflow mode

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

Section I/O

Выберите, как вы задаете размер слова и длину дроби типа данных с фиксированной точкой, поступающих в и выходящих из каждой секции биквадратического фильтра. Рисунки, иллюстрирующие использование типа данных ввода-вывода в этом блоке, см. в разделе Filter Structure Diagrams.

Этот параметр видим только, когда выбранная структура фильтра является биквадратичной:

  • Когда вы выбираете Same as inputэти характеристики совпадают с характеристиками входов блока.

  • Когда вы выбираете Binary point scaling, можно ввести слово и длины дробей входных и выходных данных раздела, в битах.

  • Когда вы выбираете Slope and bias scaling, можно ввести размеры слова, в битах, и наклоны входных и выходных параметров раздела. Этот блок требует степени двойки и смещения нуля.

Tap sum

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

Этот параметр видим только, когда выбранная структура фильтра либо Direct form symmetric или Direct form antisymmetric:

  • Когда вы выбираете Same as inputэти характеристики совпадают с характеристиками входов блока.

  • Когда вы выбираете Binary point scaling, можно ввести размер слова и длину дроби накопителя суммы отвода, в битах.

  • Когда вы выбираете Slope and bias scaling, можно ввести размер слова, в битах, и наклон накопителя суммы отвода. Этот блок требует степени двойки и смещения нуля.

Multiplicand

Выберите, как вы задаете размер слова и длину дроби мультипликационного типа данных прямой формы I транспонированной или биквадратичной прямой формы I транспонированного фильтра. Рисунки, иллюстрирующие использование типа данных multiplicand в этом блоке, см. в разделе Filter Structure Diagrams.

Этот параметр видим только, когда выбранная структура фильтра либо Direct form I transposed или Biquad direct form I transposed (SOS):

  • Когда вы выбираете Same as output, эти характеристики совпадают с характеристиками выхода в блок.

  • Когда вы выбираете Binary point scaling, можно ввести размер слова и длину дроби типа данных multiplicand, в битах.

  • Когда вы выбираете Slope and bias scaling, можно ввести размер слова, в битах, и наклон типа данных multiplicand. Этот блок требует степени двойки и смещения нуля.

Coefficients

Выберите, как вы задаете размер слова и длину дроби коэффициентов фильтра (числитель и/или знаменатель). Смотрите Диаграммы Структуры Фильтра для рисунков, описывающих использование типов данных коэффициентов в этом блоке:

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

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

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

  • Когда вы выбираете Slope and bias scaling, можно ввести размер слова, в битах, и наклон коэффициентов. Если применимо, можно ввести отдельные наклоны для коэффициентов числителя и знаменателя. Этот блок требует степени двойки и смещения нуля.

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

Product output

Используйте этот параметр, чтобы указать, как вы хотите обозначить выходное слово продукта и длины дроби. Смотрите Диаграммы Структуры Фильтра и Типы Данных Умножения для рисунков, описывающих использование типа выходных данных продукта в этом блоке:

  • Когда вы выбираете Same as inputэти характеристики совпадают с характеристиками входов блока.

  • Когда вы выбираете Binary point scaling, можно ввести размер слова и длину дроби выходного продукта, в битах.

  • Когда вы выбираете Slope and bias scaling, можно ввести размер слова, в битах, и наклон продукта выхода. Этот блок требует степени двойки и смещения нуля.

Accumulator

Используйте этот параметр, чтобы задать, как вы хотите обозначить слово аккумулятора и длины дроби. Смотрите Диаграммы Структуры Фильтра и Типы Данных Умножения для рисунков, описывающих использование типа данных аккумулятора в этом блоке:

  • Когда вы выбираете Same as inputэти характеристики совпадают с характеристиками входов блока.

  • Когда вы выбираете Same as product output, эти характеристики совпадают с характеристиками выходных данных продукта.

  • Когда вы выбираете Binary point scaling, можно ввести размер слова и длину дроби аккумулятора, в битах.

  • Когда вы выбираете Slope and bias scaling, можно ввести размер слова, в битах, и наклон аккумулятора. Этот блок требует степени двойки и смещения нуля.

State

Используйте этот параметр, чтобы задать, как вы хотите обозначить состояние слова и длины дроби. Рисунки, иллюстрирующие использование типа данных о состоянии в этом блоке, см. в разделе Filter Structure Diagrams.

Этот параметр не виден для структур фильтра I прямой формы и прямой формы.

  • Когда вы выбираете Same as inputэти характеристики совпадают с характеристиками входов блока.

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

  • Когда вы выбираете Binary point scaling, можно ввести размер слова и длину дроби аккумулятора, в битах.

  • Когда вы выбираете Slope and bias scaling, можно ввести размер слова, в битах, и наклон аккумулятора. Этот блок требует степени двойки и смещения нуля.

Output

Выберите, как вы задаете выход размера слова и длину дроби:

  • Когда вы выбираете Same as inputэти характеристики совпадают с характеристиками входов блока.

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

  • Когда вы выбираете Binary point scaling, можно ввести размер слова и длину дроби выхода, в битах.

  • Когда вы выбираете Slope and bias scaling, можно ввести размер слова, в битах, и наклон выхода. Этот блок требует степени двойки и смещения нуля.

Lock data type settings against changes by the fixed-point tools

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

Задайте объект фильтра в дискретном времени

Панель Main диалогового окна Цифрового фильтра (Digital Filter) появляется следующим образом, когда Discrete-time filter object (DFILT) задано в Coefficient source рамке группы.

Filter

Задайте объект фильтра в дискретном времени (dfilt), который должен быть реализован блоком. Сделать это можно одним из трех способов:

  • Вы можете полностью задать dfilt объект в маске блока, как показано на значении по умолчанию.

  • Вы можете ввести имя переменной a dfilt объект, заданный в любой рабочей области.

  • Вы можете ввести имя переменной для dfilt объект, который еще не определен.

Input processing

Укажите, как блок должен обрабатывать вход. Можно задать для этого параметра одну из следующих опций:

  • Columns as channels (frame based) - Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как отдельный канал.

  • Elements as channels (sample based) - Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.

Примечание

The Inherited (this choice will be removed - see release notes) опция будет удалена в следующем релизе. Для получения дополнительной информации см. раздел «Обработка на основе фреймов» в Информацию о релизах DSP System Toolbox.

View filter response

Эта кнопка открывает Инструмент визуализации фильтра (fvtool) из продукта Signal Processing Toolbox и отображает фильтровальную характеристику dfilt объект, заданный в параметре Filter. Для получения дополнительной информации о FVTool см. документацию по Signal Processing Toolbox.

Примечание

Если вы задаете фильтр в параметре Filter, необходимо нажать кнопку Apply, чтобы применить фильтр перед использованием кнопки View filter response.

Панель Data Types диалогового окна Цифрового фильтра (Digital Filter) появляется следующим образом, когда Discrete-time filter object (DFILT) задано в Coefficient source рамке группы.

Параметры с фиксированной точкой объекта фильтра, заданные на панели Main, отображаются на панели Data Types. Вы не можете изменить эти настройки непосредственно на маске блока. Чтобы изменить настройки фиксированной точки, необходимо отредактировать объект фильтра непосредственно.

Диаграммы структуры фильтра

На схемах в следующих разделах показаны структуры фильтра, поддерживаемые блоком Цифровой фильтр. Они также показывают типы данных, используемые в структурах фильтра для сигналов с фиксированной точкой. Можно задать коэффициент, выход, аккумулятор, выход продукта и типы данных о состоянии, показанные на этих схемах в диалоговом окне блока. Это обсуждается в Диалоговом окне.

БИХ прямая форма I

Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:

  • Входы могут быть реальными или комплексными.

  • Коэффициенты числителя и знаменателя могут быть действительными или комплексными.

  • Коэффициенты числителя и знаменателя должны быть такой же сложностью, как и друг друга.

    • Когда коэффициенты числителя и знаменателя заданы через входные порты и имеют разные сложности друг от друга, вы получаете ошибку.

    • Когда коэффициенты числителя и знаменателя заданы в диалоге и имеют разные сложности друг от друга, блок не ошибается, а вместо этого обрабатывает фильтр, как если бы были предусмотрены два набора комплексных коэффициентов. Набор коэффициентов, который является вещественным, обрабатывается, как если бы это был комплексный вектор с нулевыми мнимыми частями.

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

  • Тип данных State не может быть задан в маске блока для этой структуры, потому что входное и выходное состояния имеют совпадающие типы данных, что и входной и выходной буферы.

БИХ прямая форма I транспонирована

Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:

  • Входы могут быть реальными или комплексными.

  • Коэффициенты числителя и знаменателя могут быть действительными или комплексными.

  • Коэффициенты числителя и знаменателя должны быть такой же сложностью, как и друг друга.

    • Когда коэффициенты числителя и знаменателя заданы через входные порты и имеют разные сложности друг от друга, вы получаете ошибку.

    • Когда коэффициенты числителя и знаменателя заданы в диалоге и имеют разные сложности друг от друга, блок не ошибается, а вместо этого обрабатывает фильтр, как если бы были предусмотрены два набора комплексных коэффициентов. Набор коэффициентов, который является вещественным, обрабатывается, как если бы это был комплексный вектор с нулевыми мнимыми частями.

  • Состояния комплексны, когда входной параметр или коэффициенты комплексны.

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

БИХ прямая форма II

Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:

  • Входы могут быть реальными или комплексными.

  • Коэффициенты числителя и знаменателя могут быть действительными или комплексными.

  • Коэффициенты числителя и знаменателя должны быть такой же сложностью, как и друг друга.

    • Когда коэффициенты числителя и знаменателя заданы через входные порты и имеют разные сложности друг от друга, вы получаете ошибку.

    • Когда коэффициенты числителя и знаменателя заданы в диалоге и имеют разные сложности друг от друга, блок не ошибается, а вместо этого обрабатывает фильтр, как если бы были предусмотрены два набора комплексных коэффициентов. Набор коэффициентов, который является вещественным, обрабатывается, как если бы это был комплексный вектор с нулевыми мнимыми частями.

  • Состояния комплексны, когда входы или коэффициенты комплексны.

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

БИХ прямая форма II транспонирована

Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:

  • Входы могут быть реальными или комплексными.

  • Коэффициенты числителя и знаменателя могут быть действительными или комплексными.

  • Коэффициенты числителя и знаменателя должны быть такой же сложностью, как и друг друга.

    • Когда коэффициенты числителя и знаменателя заданы через входные порты и имеют разные сложности друг от друга, вы получаете ошибку.

    • Когда коэффициенты числителя и знаменателя заданы в диалоге и имеют разные сложности друг от друга, блок не ошибается, а вместо этого обрабатывает фильтр, как если бы были предусмотрены два набора комплексных коэффициентов. Набор коэффициентов, который является вещественным, обрабатывается, как если бы это был комплексный вектор с нулевыми мнимыми частями.

  • Состояния комплексны, когда входы или коэффициенты комплексны.

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

БИХ прямая форма I

Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:

  • Входы и коэффициенты могут быть действительными или комплексными.

  • Коэффициенты числителя и знаменателя могут быть действительными или комплексными.

  • Задайте коэффициенты матрицей M -на-6 в маске блока. Вы не можете задать коэффициенты по входным портам для этой структуры фильтра.

  • Когда элемент a0 любой строки не равен единице, эта строка нормализуется на a0 перед фильтрацией.

  • Состояния комплексны, когда входы или коэффициенты комплексны.

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

  • Масштабные значения должны иметь ту же сложность, что и матрица коэффициента SOS.

  • Параметр значения шкалы должен быть скаляром или вектором длины M + 1, где M количество сечений.

  • Параметр Section I/O определяет тип данных для типов входных и выходных данных раздела. Входной и выходной типы данных раздела должны иметь одинаковый размер слова, но могут иметь разную длину дроби.

Следующая схема показывает типы данных для одного раздела фильтра.

Следующая схема показывает типы данных между разделами фильтра.

БИХ прямая форма I транспонирована

Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:

  • Входы и коэффициенты могут быть действительными или комплексными.

  • Коэффициенты числителя и знаменателя могут быть действительными или комплексными.

  • Задайте коэффициенты матрицей M -на-6 в маске блока. Вы не можете задать коэффициенты по входным портам для этой структуры фильтра.

  • Когда элемент a0 любой строки не равен единице, эта строка нормализуется на a0 перед фильтрацией.

  • Состояния комплексны, когда входы или коэффициенты комплексны.

  • Масштабные значения должны иметь ту же сложность, что и матрица коэффициента SOS.

  • Параметр значения шкалы должен быть скаляром или вектором длины M + 1, где M количество сечений.

  • Параметр Section I/O определяет тип данных для типов входных и выходных данных раздела. Входные и выходные данные раздела должны иметь одинаковый размер слова, но могут иметь разную длину дроби.

Следующая схема показывает типы данных для одного раздела фильтра.

Следующая схема показывает типы данных между разделами фильтра.

БИХ прямая форма II

Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:

  • Входы и коэффициенты могут быть действительными или комплексными.

  • Коэффициенты числителя и знаменателя могут быть действительными или комплексными.

  • Задайте коэффициенты матрицей M -на-6 в маске блока. Вы не можете задать коэффициенты по входным портам для этой структуры фильтра.

  • Когда элемент a0 любой строки не равен единице, эта строка нормализуется на a0 перед фильтрацией.

  • Состояния комплексны, когда входы или коэффициенты комплексны.

  • Масштабные значения должны иметь ту же сложность, что и матрица коэффициента SOS.

  • Параметр значения шкалы должен быть скаляром или вектором длины M + 1, где M количество сечений.

  • Параметр Section I/O определяет тип данных для типов входных и выходных данных раздела. Входные и выходные данные раздела должны иметь одинаковый размер слова, но могут иметь разную длину дроби.

Следующая схема показывает типы данных для одного раздела фильтра.

Следующая схема показывает типы данных между разделами фильтра.

БИХ прямая форма II транспонирована

Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:

  • Входы и коэффициенты могут быть действительными или комплексными.

  • Коэффициенты числителя и знаменателя могут быть действительными или комплексными.

  • Задайте коэффициенты матрицей M -на-6 в маске блока. Вы не можете задать коэффициенты по входным портам для этой структуры фильтра.

  • Когда элемент a0 любой строки не равен единице, эта строка нормализуется на a0 перед фильтрацией.

  • Состояния комплексны, когда входы или коэффициенты комплексны.

  • Масштабные значения должны иметь ту же сложность, что и матрица коэффициента SOS.

  • Параметр значения шкалы должен быть скаляром или вектором длины M + 1, где M количество сечений.

  • Параметр Section I/O определяет тип данных для типов входных и выходных данных раздела. Входные и выходные данные раздела должны иметь одинаковый размер слова, но могут иметь разную длину дроби.

Следующая схема показывает типы данных для одного раздела фильтра.

Следующая схема показывает типы данных между разделами фильтра.

БИХ (все полюса) прямая форма

Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:

  • Входы и коэффициенты могут быть действительными или комплексными.

  • Коэффициенты знаменателя могут быть реальными или комплексными.

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

Прямая транспонированная форма БИХ (всех полюсов)

Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:

  • Входы и коэффициенты могут быть действительными или комплексными.

  • Коэффициенты знаменателя могут быть реальными или комплексными.

БИХ (все полюсы) прямой формы решетки AR

Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:

  • Входы и коэффициенты могут быть действительными или комплексными.

  • Коэффициенты могут быть реальными или комплексными.

Конечная импульсная характеристика (все нули) прямая форма

Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:

  • Входы могут быть реальными или комплексными.

  • Коэффициенты числителя могут быть действительными или комплексными.

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

Конечная импульсная характеристика (все нули) прямая форма симметричная

Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:

  • Входы могут быть реальными или комплексными.

  • Коэффициенты числителя могут быть действительными или комплексными.

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

  • Принято, что коэффициенты фильтра симметричны. Для фильтрации используется только первая половина коэффициентов.

  • Параметр Tap Sum определяет тип данных, которые использует фильтр, когда он суммирует входы перед умножением на коэффициенты.

Конечная импульсная характеристика (все нули) прямая антисимметричная форма

Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:

  • Входы могут быть реальными или комплексными.

  • Коэффициенты числителя могут быть действительными или комплексными.

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

  • Принято, что коэффициенты фильтра являются антисимметричными. Для фильтрации используется только первая половина коэффициентов.

  • Параметр Tap Sum определяет тип данных, которые использует фильтр, когда он суммирует входы перед умножением на коэффициенты.

Конечная импульсная характеристика (все нули) прямая транспонированная форма

Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:

  • Входы могут быть реальными или комплексными.

  • Коэффициенты могут быть реальными или комплексными.

  • Состояния комплексны, когда входы или коэффициенты комплексны.

Конечная импульсная характеристика (все нули) MA

Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:

  • Входы и коэффициенты могут быть действительными или комплексными.

  • Коэффициенты могут быть реальными или комплексными.

Генерация HDL-кода

HDL Coder™ предоставляет дополнительные опции строения, которые влияют на реализацию HDL и синтезированную логику.

Примечание

Использование Digital Filter блока в будущих релизах не рекомендуется. Существующие образцы будут продолжать работать, но определенные функциональные возможности будут отключены. Для блоков и системных объектов см. раздел «Удаление или замена функциональных возможностей». Настоятельно рекомендуем использовать Discrete FIR Filter (Simulink) или Biquad Filter в новых проектах.

Архитектура HDL

Когда вы задаете SerialPartition и ReuseAccum для Digital Filter блока наблюдайте следующие ограничения.

  • Если вы задаете Dialog parameters как Coefficient source:

    • Установите Transfer function type значение FIR (all zeros).

    • Выберите Filter structure как один из следующих Direct form, Direct form symmetric, или Direct form asymmetric.

Поддержка распределенной арифметики

Распределенные арифметические свойства DALUTPartition и DARadix поддерживаются для default архитектура с конечной импульсной характеристикой, асимметричными конечными импульсными характеристиками и симметричными конечными импульсными характеристиками фильтрами.

Поддержка AddPipelineRegisters

При использовании AddPipelineRegisters регистры размещаются на основе структуры фильтра. Размещение регистра трубопровода определяет задержку.

АрхитектураРазмещение регистров трубопроводовЗадержка (тактовые импульсы)
Конечная импульсная характеристика, асимметричные конечные импульсные характеристики и симметричные конечные импульсные характеристики фильтрыРегистр трубопровода добавляется между уровнями древовидного сумматора.ceil(log2(FL)).
FL - длина фильтра.
Транспонирование конечной импульсной характеристикиПосле продуктов добавляется регистр трубопроводов.1
БИХ СОСРегистры трубопроводов складываются между секциями фильтра.NS-1.
NS количество разделов.

Свойства HDL-фильтра

AddPipelineRegisters

Вставьте регистр трубопровода между этапами расчета в фильтр. См. также AddPipelineRegisters (HDL Coder).

CoeffMultipliers

Задайте использование оптимизации canonical signed digit (CSD), чтобы уменьшить площадь фильтра путем замены множителей коэффициентов логикой shift-and-add. Когда вы выбираете полностью параллельную реализацию фильтра, можно задать CoeffMultipliers равным csd или factored-csd. Значение по умолчанию является multipliers, который сохраняет множители в HDL. См. также CoeffMultipliers (HDL Coder).

DALUTPartition

Задайте распределенные арифметические разбиения LUT с частичным произведением как вектор размеров каждого разбиения. Сумма всех векторных элементов должна быть равна длине фильтра. Максимальный размер раздела - 12 отводов. Установите DALUTPartition скалярное значение, равное длине фильтра, чтобы сгенерировать код DA без разделов LUT. См. также DALUTPartition (HDL Coder).

MultiplierInputPipeline

Укажите количество ступеней трубопровода для добавления на входах множителя фильтра. См. также MultiplierInputPipeline (HDL Coder).

MultiplierOutputPipeline

Укажите количество ступеней трубопровода для добавления на выходах множителя фильтра. См. также MultiplierOutputPipeline (HDL Coder).

ReuseAccum

Включите или отключите повторное использование аккумулятора в реализации последовательного фильтра. Установите ReuseAccum значение on для использования каскадно-последовательной реализации. См. также ReuseAccum (HDL Coder).

Свойства блоков

ConstrainedOutputPipeline

Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках вашего проекта. Распределённая конвейеризация не перераспределяет эти регистры. Значение по умолчанию является 0. Для получения дополнительной информации смотрите ConstrainedOutputPipeline (HDL Coder).

InputPipeline

Количество входных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является 0. Для получения дополнительной информации смотрите InputPipeline (HDL Coder).

OutputPipeline

Количество выходных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является 0. Для получения дополнительной информации смотрите OutputPipeline (HDL Coder).

Комплексные коэффициенты и поддержка данных

За исключением структур фильтра дециматора и интерполятора, HDL Coder поддерживает использование комплексных коэффициентов и сложных входных сигналов для всех структур фильтра блока Digital Filter.

Ограничения

  • Вы должны установить Initial conditions в нуль. Генерация HDL-кода не поддерживается для ненулевых начальных состояний.

  • HDL Coder не поддерживает опцию Digital Filter block Input port(s) для генерации HDL-кода.

Поддерживаемые типы данных

  • Плавающая точка двойной точности

  • Плавающая точка с одной точностью

  • Фиксированная точка (только со знаком)

  • 8-, 16- и 32-битные целые числа со знаком

См. также

Allpole FilterDSP System Toolbox
Digital Filter DesignDSP System Toolbox
Biquad FilterDSP System Toolbox
Discrete Filter (Simulink)Simulink
Discrete FIR Filter (Simulink)Simulink
Filter Realization WizardDSP System Toolbox
filterDesignerDSP System Toolbox
fvtoolSignal Processing Toolbox
Введенный в R2014b