Фильтрация каждого канала входа с течением времени с помощью статических или изменяющихся во времени реализаций цифрового фильтра
Реализация фильтрации/фильтрации
dsparch4
Примечание
Использование 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) |
|
Смотрите Специальный фактор о ведущем коэффициенте знаменателя. |
|
| |
IIR (all poles) |
| Вектор коэффициентов знаменателя [a0, a1, a2,..., am] Смотрите Специальный фактор о ведущем коэффициенте знаменателя. |
| Вектор коэффициентов отражения [k1, k2,..., kn] | |
FIR (all zeros) |
| Вектор коэффициентов числителя [b0, b1, b2,..., bn] |
| Вектор коэффициентов отражения [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 type | Filter structure |
---|---|
IIR (poles & zeros) |
|
| |
| |
| |
IIR (all poles) |
|
|
Блок Цифровой фильтр вызывает ошибку, если вы используете его в одной из этих строений и вашем ведущем коэффициенте знаменателя (a0
) не равен 1. Чтобы устранить ошибку, установите свой начальный коэффициент знаменателя равный 1, масштабируя все коэффициенты числителя и знаменателя в множитель a0
.
В Dialog parameters и Input port(s) режимах блок инициализирует состояния внутреннего фильтра до нуля по умолчанию, что эквивалентно принятию прошлых входов и выходов равными нулю. Можно опционально использовать параметр Initial conditions, чтобы задать ненулевые начальные условия для задержек фильтра.
Чтобы определить количество начальных значений условий, которые вы должны задать, и как их задать, смотрите следующую таблицу «Допустимые начальные условия и количество элементов задержки (состояния фильтра)». Параметр Initial conditions может принимать одну из четырех форм, как описано в следующей таблице.
Действительные начальные условия
Начальное условие | Примеры | Описание |
---|---|---|
Скаляр |
Каждый элемент задержки для каждого канала установлен в | Блок инициализирует все элементы задержки в фильтре до скалярного значения. |
Вектор | Для фильтра с двумя элементами задержки: [d1 d2] Элементами задержки для всех каналов являются d1 и d2. | Каждый векторный элемент задает уникальное начальное условие для соответствующего элемента задержки. Блок применяет один и тот же вектор начальных условий к каждому каналу входного сигнала. Длина вектора должна равняться количеству элементов задержки в фильтре (заданное в таблице Number of Delay Elements (Filter States)). |
Вектор или матрица | Для 3-канального входного сигнала и фильтра с двумя элементами задержки: [<<reservedrangesplaceholder5> 1 <reservedrangesplaceholder4> <reservedrangesplaceholder3> <reservedrangesplaceholder2> <reserv drangesplaceholder1> <reservedrangesplaceholder0>] или
| Каждый вектор или элемент матрицы задает уникальное начальное условие для соответствующего элемента задержки в соответствующем канале:
|
Пустая матрица |
| Пустая матрица, |
Количество элементов задержки (состояний фильтра) на входной канал зависит от структуры фильтра, как показано в следующей таблице.
Количество элементов задержки (состояния фильтра)
Структура фильтра | Количество элементов задержки на канал |
---|---|
|
|
|
|
|
|
|
|
|
|
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) выбран, как отмечено.
Выберите тип передаточной функции фильтра; IIR (poles & zeros)
, IIR (all poles)
, или FIR (all zeros)
. Дополнительные сведения см. в разделе Поддерживаемые структуры фильтра.
Выберите структуру фильтра. Выбор доступных структур изменяется в зависимости от настройки параметра Transfer function type. Дополнительные сведения см. в разделе Поддерживаемые структуры фильтра.
Задайте вектор коэффициентов числителя передаточной функции фильтра.
Этот параметр видим только, когда Dialog parameters выбран и когда выбранная структура фильтра поддается спецификации с коэффициентами числителя. Настраиваемый (Simulink).
Задайте вектор коэффициентов знаменателя передаточной функции фильтра.
В некоторых случаях начальный коэффициент знаменателя (a0) должен быть равен 1. Для получения дополнительной информации смотрите Специальный фактор по ведущему коэффициенту знаменателя.
Этот параметр видим только, когда Dialog parameters выбран и когда выбранная структура фильтра поддается спецификации с коэффициентами знаменателя. Настраиваемый (Simulink).
Задайте вектор коэффициентов отражения передаточной функции фильтра.
Этот параметр видим только, когда Dialog parameters выбран и когда выбранная структура фильтра поддается спецификации с коэффициентами отражения. Настраиваемый (Simulink).
Задайте матрицу M -by-6 SOS, содержащую коэффициенты фильтра секции второго порядка (SOS), где M количество разделов. Вы можете использовать ss2sos
и tf2sos
выполняет функции из программного обеспечения Signal Processing Toolbox™, чтобы проверить, действительна ли ваша матрица SOS.
Этот параметр видим только, когда Dialog parameters выбран и когда выбранная структура фильтра является биквадратичной. Настраиваемый (Simulink).
Задайте значения шкалы, которые будут применяться до и после каждой секции биквадратического фильтра.
Если вы задаете скаляр, это значение применяется перед первым сечением фильтра. Остальная часть значений шкалы установлена равной 1.
Можно также задать вектор с M + 1 элементами, присвоив другое значение каждой шкале. Смотрите Диаграммы Структуры Фильтра для схем, изображающих использование значений шкалы в биквадратических структурах фильтра.
Этот параметр видим только, когда Dialog parameters выбран и когда выбранная структура фильтра является биквадратичной. Настраиваемый (Simulink).
Выберите этот параметр, чтобы уменьшить количество расчетов, которые должен сделать блок, чтобы получить выход, опуская 1
/ a
0 термин в структуре фильтра. Выход блока недопустим, если вы выбираете этот параметр, когда первый коэффициент фильтра знаменателя не всегда равен 1 для изменяющегося во времени фильтра.
Этот параметр активируется только, когда Input port(s) выбран и когда выбранная структура фильтра поддается этой спецификации.
Задайте, как часто блок обновляет изменяющиеся во времени фильтры; один раз на выборку или один раз на систему координат.
Этот параметр появляется только при выполнении следующих условий:
Вы задаете Input port(s) в поле Исходная группа коэффициентов (Coefficent source).
Вы устанавливаете параметр Input processing равным Columns as channels (frame based)
.
Задайте начальные условия состояния фильтра. Чтобы узнать, как задать начальные условия, см. «Определение начальных условий».
(Не показан в диалоговом окне выше.) Задайте начальные условия для состояний фильтра на стороне структуры фильтра с нулями (b0, b1, b2,...); см. схему ниже.
Этот параметр активируется только, когда фильтр имеет оба полюса и нули, и когда вы выбираете структуру, такую как прямая форма I, которая имеет отдельные состояния фильтра, соответствующие полюсам (ak) и нулям (bk). Чтобы узнать, как задать начальные условия, см. «Определение начальных условий».
(Не показан в диалоговом окне выше). Задайте начальные условия для состояний фильтра на стороне структуры фильтра с полюсами (a0, a1, a2,...); см. схему ниже.
Этот параметр активируется только, когда фильтр имеет оба полюса и нули, и когда вы выбираете структуру, такую как прямая форма I, которая имеет отдельные состояния фильтра, соответствующие полюсам (ak) и нулям (bk). Чтобы узнать, как задать начальные условия, см. «Определение начальных условий».
Укажите, как блок должен обрабатывать вход. Можно задать для этого параметра одну из следующих опций:
Columns as channels (frame based)
- Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как отдельный канал.
Elements as channels (sample based)
- Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.
Примечание
The Inherited (this choice will be removed - see release notes)
опция будет удалена в следующем релизе. Смотрите Обработку на основе фрейма в DSP System Toolbox™ Информации о релизах для получения дополнительной информации.
Эта кнопка открывает Инструмент визуализации фильтра (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) выбран, в зависимости от структуры фильтра и от того, вводятся ли коэффициенты через порты или на маске блока.
Выберите режим округления для операций с фиксированной точкой. Коэффициенты фильтра не подчиняются этому параметру; они всегда округляются до Nearest
.
Выберите режим переполнения для операций с фиксированной точкой. Коэффициенты фильтра не подчиняются этому параметру; они всегда насыщены.
Выберите, как вы задаете размер слова и длину дроби типа данных с фиксированной точкой, поступающих в и выходящих из каждой секции биквадратического фильтра. Рисунки, иллюстрирующие использование типа данных ввода-вывода в этом блоке, см. в разделе Filter Structure Diagrams.
Этот параметр видим только, когда выбранная структура фильтра является биквадратичной:
Когда вы выбираете Same as input
эти характеристики совпадают с характеристиками входов блока.
Когда вы выбираете Binary point scaling
, можно ввести слово и длины дробей входных и выходных данных раздела, в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размеры слова, в битах, и наклоны входных и выходных параметров раздела. Этот блок требует степени двойки и смещения нуля.
Выберите, как вы задаете размер слова и длину дроби типа данных суммы касания симметричного или антисимметричного фильтра прямой формы. См. Диаграммы структуры фильтра для рисунков, описывающих использование типа суммарных данных касания в этом блоке.
Этот параметр видим только, когда выбранная структура фильтра либо Direct form symmetric
или Direct form antisymmetric
:
Когда вы выбираете Same as input
эти характеристики совпадают с характеристиками входов блока.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и длину дроби накопителя суммы отвода, в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова, в битах, и наклон накопителя суммы отвода. Этот блок требует степени двойки и смещения нуля.
Выберите, как вы задаете размер слова и длину дроби мультипликационного типа данных прямой формы 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. Этот блок требует степени двойки и смещения нуля.
Выберите, как вы задаете размер слова и длину дроби коэффициентов фильтра (числитель и/или знаменатель). Смотрите Диаграммы Структуры Фильтра для рисунков, описывающих использование типов данных коэффициентов в этом блоке:
Когда вы выбираете Same word length as input
, размеры слова коэффициентов фильтра совпадают с таковыми у входа к блоку. В этом режиме длина дроби коэффициентов автоматически устанавливается на масштабирование только с двоичной точкой, которое обеспечивает вам лучшую точность, учитывая значение и размер слова коэффициентов.
Когда вы выбираете Specify word length
, можно ввести размер слова коэффициентов, в битах. В этом режиме длина дроби коэффициентов автоматически устанавливается на масштабирование только с двоичной точкой, которое обеспечивает вам лучшую точность, учитывая значение и размер слова коэффициентов.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и длину дроби коэффициентов, в битах. Если применимо, можно ввести отдельные длины дробей для коэффициентов числителя и знаменателя.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова, в битах, и наклон коэффициентов. Если применимо, можно ввести отдельные наклоны для коэффициентов числителя и знаменателя. Этот блок требует степени двойки и смещения нуля.
Коэффициенты фильтра не подчиняются параметрам Rounding mode и Overflow mode; они всегда насыщены и округлены до Nearest
.
Используйте этот параметр, чтобы указать, как вы хотите обозначить выходное слово продукта и длины дроби. Смотрите Диаграммы Структуры Фильтра и Типы Данных Умножения для рисунков, описывающих использование типа выходных данных продукта в этом блоке:
Когда вы выбираете Same as input
эти характеристики совпадают с характеристиками входов блока.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и длину дроби выходного продукта, в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова, в битах, и наклон продукта выхода. Этот блок требует степени двойки и смещения нуля.
Используйте этот параметр, чтобы задать, как вы хотите обозначить слово аккумулятора и длины дроби. Смотрите Диаграммы Структуры Фильтра и Типы Данных Умножения для рисунков, описывающих использование типа данных аккумулятора в этом блоке:
Когда вы выбираете Same as input
эти характеристики совпадают с характеристиками входов блока.
Когда вы выбираете Same as product output
, эти характеристики совпадают с характеристиками выходных данных продукта.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и длину дроби аккумулятора, в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова, в битах, и наклон аккумулятора. Этот блок требует степени двойки и смещения нуля.
Используйте этот параметр, чтобы задать, как вы хотите обозначить состояние слова и длины дроби. Рисунки, иллюстрирующие использование типа данных о состоянии в этом блоке, см. в разделе Filter Structure Diagrams.
Этот параметр не виден для структур фильтра I прямой формы и прямой формы.
Когда вы выбираете Same as input
эти характеристики совпадают с характеристиками входов блока.
Когда вы выбираете Same as accumulator
эти характеристики совпадают с характеристиками аккумулятора.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и длину дроби аккумулятора, в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова, в битах, и наклон аккумулятора. Этот блок требует степени двойки и смещения нуля.
Выберите, как вы задаете выход размера слова и длину дроби:
Когда вы выбираете Same as input
эти характеристики совпадают с характеристиками входов блока.
Когда вы выбираете Same as accumulator
эти характеристики совпадают с характеристиками аккумулятора.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и длину дроби выхода, в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова, в битах, и наклон выхода. Этот блок требует степени двойки и смещения нуля.
Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в маске блока.
Панель Main диалогового окна Цифрового фильтра (Digital Filter) появляется следующим образом, когда Discrete-time filter object (DFILT) задано в Coefficient source рамке группы.
Задайте объект фильтра в дискретном времени (dfilt
), который должен быть реализован блоком. Сделать это можно одним из трех способов:
Вы можете полностью задать dfilt
объект в маске блока, как показано на значении по умолчанию.
Вы можете ввести имя переменной a dfilt
объект, заданный в любой рабочей области.
Вы можете ввести имя переменной для dfilt
объект, который еще не определен.
Укажите, как блок должен обрабатывать вход. Можно задать для этого параметра одну из следующих опций:
Columns as channels (frame based)
- Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как отдельный канал.
Elements as channels (sample based)
- Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.
Примечание
The Inherited (this choice will be removed - see release notes)
опция будет удалена в следующем релизе. Для получения дополнительной информации см. раздел «Обработка на основе фреймов» в Информацию о релизах DSP System Toolbox.
Эта кнопка открывает Инструмент визуализации фильтра (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. Вы не можете изменить эти настройки непосредственно на маске блока. Чтобы изменить настройки фиксированной точки, необходимо отредактировать объект фильтра непосредственно.
На схемах в следующих разделах показаны структуры фильтра, поддерживаемые блоком Цифровой фильтр. Они также показывают типы данных, используемые в структурах фильтра для сигналов с фиксированной точкой. Можно задать коэффициент, выход, аккумулятор, выход продукта и типы данных о состоянии, показанные на этих схемах в диалоговом окне блока. Это обсуждается в Диалоговом окне.
Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:
Входы могут быть реальными или комплексными.
Коэффициенты числителя и знаменателя могут быть действительными или комплексными.
Коэффициенты числителя и знаменателя должны быть такой же сложностью, как и друг друга.
Когда коэффициенты числителя и знаменателя заданы через входные порты и имеют разные сложности друг от друга, вы получаете ошибку.
Когда коэффициенты числителя и знаменателя заданы в диалоге и имеют разные сложности друг от друга, блок не ошибается, а вместо этого обрабатывает фильтр, как если бы были предусмотрены два набора комплексных коэффициентов. Набор коэффициентов, который является вещественным, обрабатывается, как если бы это был комплексный вектор с нулевыми мнимыми частями.
Коэффициенты числителя и знаменателя должны иметь одинаковый размер слова. Они могут иметь разную длину дроби.
Тип данных State не может быть задан в маске блока для этой структуры, потому что входное и выходное состояния имеют совпадающие типы данных, что и входной и выходной буферы.
Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:
Входы могут быть реальными или комплексными.
Коэффициенты числителя и знаменателя могут быть действительными или комплексными.
Коэффициенты числителя и знаменателя должны быть такой же сложностью, как и друг друга.
Когда коэффициенты числителя и знаменателя заданы через входные порты и имеют разные сложности друг от друга, вы получаете ошибку.
Когда коэффициенты числителя и знаменателя заданы в диалоге и имеют разные сложности друг от друга, блок не ошибается, а вместо этого обрабатывает фильтр, как если бы были предусмотрены два набора комплексных коэффициентов. Набор коэффициентов, который является вещественным, обрабатывается, как если бы это был комплексный вектор с нулевыми мнимыми частями.
Состояния комплексны, когда входной параметр или коэффициенты комплексны.
Коэффициенты числителя и знаменателя должны иметь одинаковый размер слова. Они могут иметь разную длину дроби.
Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:
Входы могут быть реальными или комплексными.
Коэффициенты числителя и знаменателя могут быть действительными или комплексными.
Коэффициенты числителя и знаменателя должны быть такой же сложностью, как и друг друга.
Когда коэффициенты числителя и знаменателя заданы через входные порты и имеют разные сложности друг от друга, вы получаете ошибку.
Когда коэффициенты числителя и знаменателя заданы в диалоге и имеют разные сложности друг от друга, блок не ошибается, а вместо этого обрабатывает фильтр, как если бы были предусмотрены два набора комплексных коэффициентов. Набор коэффициентов, который является вещественным, обрабатывается, как если бы это был комплексный вектор с нулевыми мнимыми частями.
Состояния комплексны, когда входы или коэффициенты комплексны.
Коэффициенты числителя и знаменателя должны иметь одинаковый размер слова. Они могут иметь разную длину дроби.
Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:
Входы могут быть реальными или комплексными.
Коэффициенты числителя и знаменателя могут быть действительными или комплексными.
Коэффициенты числителя и знаменателя должны быть такой же сложностью, как и друг друга.
Когда коэффициенты числителя и знаменателя заданы через входные порты и имеют разные сложности друг от друга, вы получаете ошибку.
Когда коэффициенты числителя и знаменателя заданы в диалоге и имеют разные сложности друг от друга, блок не ошибается, а вместо этого обрабатывает фильтр, как если бы были предусмотрены два набора комплексных коэффициентов. Набор коэффициентов, который является вещественным, обрабатывается, как если бы это был комплексный вектор с нулевыми мнимыми частями.
Состояния комплексны, когда входы или коэффициенты комплексны.
Коэффициенты числителя и знаменателя должны иметь одинаковый размер слова. Они могут иметь разную длину дроби.
Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:
Входы и коэффициенты могут быть действительными или комплексными.
Коэффициенты числителя и знаменателя могут быть действительными или комплексными.
Задайте коэффициенты матрицей M -на-6 в маске блока. Вы не можете задать коэффициенты по входным портам для этой структуры фильтра.
Когда элемент a0 любой строки не равен единице, эта строка нормализуется на a0 перед фильтрацией.
Состояния комплексны, когда входы или коэффициенты комплексны.
Вы не можете задать тип данных состояния в маске блока для этой структуры, потому что входное и выходное состояния имеют совпадающие типы данных, что и входные.
Масштабные значения должны иметь ту же сложность, что и матрица коэффициента SOS.
Параметр значения шкалы должен быть скаляром или вектором длины M + 1, где M количество сечений.
Параметр Section I/O определяет тип данных для типов входных и выходных данных раздела. Входной и выходной типы данных раздела должны иметь одинаковый размер слова, но могут иметь разную длину дроби.
Следующая схема показывает типы данных для одного раздела фильтра.
Следующая схема показывает типы данных между разделами фильтра.
Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:
Входы и коэффициенты могут быть действительными или комплексными.
Коэффициенты числителя и знаменателя могут быть действительными или комплексными.
Задайте коэффициенты матрицей M -на-6 в маске блока. Вы не можете задать коэффициенты по входным портам для этой структуры фильтра.
Когда элемент a0 любой строки не равен единице, эта строка нормализуется на a0 перед фильтрацией.
Состояния комплексны, когда входы или коэффициенты комплексны.
Масштабные значения должны иметь ту же сложность, что и матрица коэффициента SOS.
Параметр значения шкалы должен быть скаляром или вектором длины M + 1, где M количество сечений.
Параметр Section I/O определяет тип данных для типов входных и выходных данных раздела. Входные и выходные данные раздела должны иметь одинаковый размер слова, но могут иметь разную длину дроби.
Следующая схема показывает типы данных для одного раздела фильтра.
Следующая схема показывает типы данных между разделами фильтра.
Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:
Входы и коэффициенты могут быть действительными или комплексными.
Коэффициенты числителя и знаменателя могут быть действительными или комплексными.
Задайте коэффициенты матрицей M -на-6 в маске блока. Вы не можете задать коэффициенты по входным портам для этой структуры фильтра.
Когда элемент a0 любой строки не равен единице, эта строка нормализуется на a0 перед фильтрацией.
Состояния комплексны, когда входы или коэффициенты комплексны.
Масштабные значения должны иметь ту же сложность, что и матрица коэффициента SOS.
Параметр значения шкалы должен быть скаляром или вектором длины M + 1, где M количество сечений.
Параметр Section I/O определяет тип данных для типов входных и выходных данных раздела. Входные и выходные данные раздела должны иметь одинаковый размер слова, но могут иметь разную длину дроби.
Следующая схема показывает типы данных для одного раздела фильтра.
Следующая схема показывает типы данных между разделами фильтра.
Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:
Входы и коэффициенты могут быть действительными или комплексными.
Коэффициенты числителя и знаменателя могут быть действительными или комплексными.
Задайте коэффициенты матрицей M -на-6 в маске блока. Вы не можете задать коэффициенты по входным портам для этой структуры фильтра.
Когда элемент a0 любой строки не равен единице, эта строка нормализуется на a0 перед фильтрацией.
Состояния комплексны, когда входы или коэффициенты комплексны.
Масштабные значения должны иметь ту же сложность, что и матрица коэффициента SOS.
Параметр значения шкалы должен быть скаляром или вектором длины M + 1, где M количество сечений.
Параметр Section I/O определяет тип данных для типов входных и выходных данных раздела. Входные и выходные данные раздела должны иметь одинаковый размер слова, но могут иметь разную длину дроби.
Следующая схема показывает типы данных для одного раздела фильтра.
Следующая схема показывает типы данных между разделами фильтра.
Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:
Входы и коэффициенты могут быть действительными или комплексными.
Коэффициенты знаменателя могут быть реальными или комплексными.
Вы не можете задать тип данных состояния в маске блока для этой структуры, потому что входное и выходное состояния имеют совпадающие типы данных, что и входные.
Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:
Входы и коэффициенты могут быть действительными или комплексными.
Коэффициенты знаменателя могут быть реальными или комплексными.
Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:
Входы и коэффициенты могут быть действительными или комплексными.
Коэффициенты могут быть реальными или комплексными.
Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:
Входы могут быть реальными или комплексными.
Коэффициенты числителя могут быть действительными или комплексными.
Вы не можете задать тип данных состояния в маске блока для этой структуры, потому что входное и выходное состояния имеют совпадающие типы данных, что и входные.
Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:
Входы могут быть реальными или комплексными.
Коэффициенты числителя могут быть действительными или комплексными.
Вы не можете задать тип данных состояния в маске блока для этой структуры, потому что входное и выходное состояния имеют совпадающие типы данных, что и входные.
Принято, что коэффициенты фильтра симметричны. Для фильтрации используется только первая половина коэффициентов.
Параметр Tap Sum определяет тип данных, которые использует фильтр, когда он суммирует входы перед умножением на коэффициенты.
Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:
Входы могут быть реальными или комплексными.
Коэффициенты числителя могут быть действительными или комплексными.
Вы не можете задать тип данных состояния в маске блока для этой структуры, потому что входное и выходное состояния имеют совпадающие типы данных, что и входные.
Принято, что коэффициенты фильтра являются антисимметричными. Для фильтрации используется только первая половина коэффициентов.
Параметр Tap Sum определяет тип данных, которые использует фильтр, когда он суммирует входы перед умножением на коэффициенты.
Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:
Входы могут быть реальными или комплексными.
Коэффициенты могут быть реальными или комплексными.
Состояния комплексны, когда входы или коэффициенты комплексны.
Следующие ограничения применяются при обработке сигнала с фиксированной точкой с этой структурой фильтра:
Входы и коэффициенты могут быть действительными или комплексными.
Коэффициенты могут быть реальными или комплексными.
HDL Coder™ предоставляет дополнительные опции строения, которые влияют на реализацию HDL и синтезированную логику.
Примечание
Использование Digital Filter блока в будущих релизах не рекомендуется. Существующие образцы будут продолжать работать, но определенные функциональные возможности будут отключены. Для блоков и системных объектов см. раздел «Удаление или замена функциональных возможностей». Настоятельно рекомендуем использовать Discrete FIR Filter (Simulink) или Biquad Filter в новых проектах.
Когда вы задаете 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 регистры размещаются на основе структуры фильтра. Размещение регистра трубопровода определяет задержку.
Архитектура | Размещение регистров трубопроводов | Задержка (тактовые импульсы) |
---|---|---|
Конечная импульсная характеристика, асимметричные конечные импульсные характеристики и симметричные конечные импульсные характеристики фильтры | Регистр трубопровода добавляется между уровнями древовидного сумматора. | ceil(log2(FL)) . FL - длина фильтра. |
Транспонирование конечной импульсной характеристики | После продуктов добавляется регистр трубопроводов. | 1 |
БИХ СОС | Регистры трубопроводов складываются между секциями фильтра. | NS-1 . NS количество разделов. |
AddPipelineRegisters | Вставьте регистр трубопровода между этапами расчета в фильтр. См. также AddPipelineRegisters (HDL Coder). |
CoeffMultipliers | Задайте использование оптимизации canonical signed digit (CSD), чтобы уменьшить площадь фильтра путем замены множителей коэффициентов логикой shift-and-add. Когда вы выбираете полностью параллельную реализацию фильтра, можно задать CoeffMultipliers равным |
DALUTPartition | Задайте распределенные арифметические разбиения LUT с частичным произведением как вектор размеров каждого разбиения. Сумма всех векторных элементов должна быть равна длине фильтра. Максимальный размер раздела - 12 отводов. Установите DALUTPartition скалярное значение, равное длине фильтра, чтобы сгенерировать код DA без разделов LUT. См. также DALUTPartition (HDL Coder). |
MultiplierInputPipeline | Укажите количество ступеней трубопровода для добавления на входах множителя фильтра. См. также MultiplierInputPipeline (HDL Coder). |
MultiplierOutputPipeline | Укажите количество ступеней трубопровода для добавления на выходах множителя фильтра. См. также MultiplierOutputPipeline (HDL Coder). |
ReuseAccum | Включите или отключите повторное использование аккумулятора в реализации последовательного фильтра. Установите ReuseAccum значение |
ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках вашего проекта. Распределённая конвейеризация не перераспределяет эти регистры. Значение по умолчанию является |
InputPipeline | Количество входных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
OutputPipeline | Количество выходных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
За исключением структур фильтра дециматора и интерполятора, HDL Coder поддерживает использование комплексных коэффициентов и сложных входных сигналов для всех структур фильтра блока Digital Filter.
Вы должны установить Initial conditions в нуль. Генерация HDL-кода не поддерживается для ненулевых начальных состояний.
HDL Coder не поддерживает опцию Digital Filter block Input port(s) для генерации HDL-кода.
Плавающая точка двойной точности
Плавающая точка с одной точностью
Фиксированная точка (только со знаком)
8-, 16- и 32-битные целые числа со знаком
Allpole Filter | DSP System Toolbox |
Digital Filter Design | DSP System Toolbox |
Biquad Filter | DSP System Toolbox |
Discrete Filter (Simulink) | Simulink |
Discrete FIR Filter (Simulink) | Simulink |
Filter Realization Wizard | DSP System Toolbox |
filterDesigner | DSP System Toolbox |
fvtool | Signal Processing Toolbox |