Дискретное время, прямая форма II транспонированных фильтров
hd = dfilt.df2t(b,a)
hd = dfilt.df2t
hd = dfilt.df2t(b,a)
возвращает дискретное время, прямая форма II транспонированных объектов фильтра hd
, с коэффициентами числителя b
и коэффициенты знаменателя a
.
Сделайте этот фильтр фиксированной точкой или фильтром с одинарной точностью путем изменения значения свойства Arithmetic
для фильтра hd
можно следующим образом:
Чтобы измениться на фильтрацию с одинарной точностью, войти
set(hd,'arithmetic','single');
Чтобы измениться на фильтрацию фиксированной точки, войти
set(hd,'arithmetic','fixed');
Для получения дополнительной информации о свойстве Arithmetic
, обратитесь к Арифметике.
hd = dfilt.df2t
возвращает значение по умолчанию, дискретное время, прямая форма II транспонированных объектов фильтра hd
, с b
= 1 и a
= 1. Этот фильтр передает вход до неизменного вывода.
Ведущий коэффициент знаменателя a(1)
не может быть 0. Чтобы позволить вам изменять арифметические настройки к fixed
или single
, a(1)
должен быть равен 1.
Следующие данные показывают поток сигналов для прямой формы II транспонированных фильтров, реализованных dfilt.df2t
. Чтобы помочь вам видеть, как фильтр обрабатывает коэффициенты, вход, и состояния фильтра, а также числовые операции, фигура включает местоположения объектов форматирования в потоке сигналов.
Чтобы помочь вам понять, где и как фильтр выполняет вычисления с фиксированной точкой во время фильтрации, данные показывают различные метки, сопоставленные с элементами данных и функциональными элементами в фильтре. Следующая таблица описывает каждую метку в потоке сигналов и связывает метку со свойствами фильтра, которые сопоставлены с ним.
Метки используют распространенный формат — префикс, сопровождаемый буквами “frmt”. В этом использовании “frmt” означает размер слова и дробную длину, сопоставленную с частью фильтра, упомянутой префиксом.
Например, метка InputFrmt относится к размеру слова, и дробная длина раньше интерпретировала ввод данных к фильтру. Свойства формата InputWordLength
и InputFracLength
(как показано в таблице) хранят размер слова и дробную длину в битах. Или рассмотрите NumFrmt, который обращается к слову и дробным длинам (CoeffWordLength
, NumFracLength
) сопоставленный с представлением коэффициентов числителя фильтра.
Метка потока сигналов | Соответствующее свойство размера слова | Соответствующее дробное свойство длины | Related Properties |
---|---|---|---|
DenAccumFrmt |
|
|
|
DenFrmt |
|
|
|
DenProdFrmt |
|
|
|
InputFrmt |
|
| 'none' |
NumAccumFrmt |
|
|
|
NumFrmt |
|
|
|
NumProdFrmt |
|
|
|
OutputFrmt |
|
| 'none' |
StateFrmt |
|
|
|
Самый важный положение метки в схеме, которая идентифицирует, где формат применяется.
Как один пример, посмотрите на метку DenProdFrmt, которая всегда следует за содействующим элементом умножения знаменателя в потоке сигналов. Метка указывает, что коэффициенты знаменателя оставляют элемент умножения с размером слова и дробной длиной сопоставленным с операциями продукта, которые включают коэффициенты знаменателя. От рассмотрения таблицы вы видите, что DenProdFrmt обращается к свойствам ProdWordLength
, ProductMode
и DenProdFracLength
, которые полностью задают формат знаменателя после, умножают (или продукт) операции.
В этой таблице вы видите свойства, сопоставленные с реализацией df2t
объектов dfilt
.
Таблица приводит все свойства, которые может иметь фильтр. Многие свойства являются динамическими, означая, что они существуют только в ответ на настройки других свойств. Вы не можете видеть все перечисленные свойства все время. Чтобы просмотреть все свойства для фильтра в любое время, использовать
get(hd)
где hd
является фильтром.
Для получения дополнительной информации о свойствах этого фильтра или любого объекта dfilt
, обратитесь к Свойствам фильтра Фиксированной точки.
PropertyName | Краткое описание |
---|---|
| Определяет, как аккумулятор выходные параметры сохранил значения. Выберите из полной точности ( |
| Устанавливает размер слова, используемый, чтобы хранить данные в аккумуляторе/буфере. |
| Задает арифметику использование фильтра. Дает вам опции |
| Задает, бросить ли числовые данные к соответствующему формату аккумулятора (как показано в схемах потока сигналов) прежде, чем выполнить операции суммы. |
| Задает, выбирает ли фильтр автоматически длину правильной дроби, чтобы представлять коэффициенты фильтра без переполнения. Выключение этого путем устанавливания значения к |
| Задает размер слова, чтобы применяться к коэффициентам фильтра. |
| Указывает, что дробная длина, используемая, чтобы интерпретировать данные в аккумуляторе раньше, содержала результаты операций суммы. Можно изменить значение для этого свойства, когда вы устанавливаете |
| Установите дробную длину использование фильтра интерпретировать коэффициенты знаменателя. |
| Содержит коэффициенты знаменателя для БИХ-фильтров. |
| Задает, как алгоритм фильтра интерпретирует результаты операций продукта включающие коэффициенты знаменателя. Можно изменить это значение свойства, когда вы устанавливаете |
| Описывает поток сигналов для объекта фильтра, включая все активные элементы, которые выполняют операции во время фильтрации — усиления, задержки, суммы, продукты и ввод/вывод. |
| Задает дробную длину использование фильтра, чтобы интерпретировать входные данные. |
| Задает размер слова, примененный, чтобы интерпретировать входные данные. |
| Задает, как алгоритм фильтра интерпретирует результаты операций сложения включающие коэффициенты числителя. Можно изменить значение этого свойства после того, как вы установите |
| Содержит содействующие значения числителя для фильтра. |
| Устанавливает дробную длину, используемую, чтобы интерпретировать значение коэффициентов числителя. |
| Задает, как алгоритм фильтра интерпретирует результаты операций продукта включающие коэффициенты числителя. Доступный, чтобы быть измененным, когда вы устанавливаете |
| Определяет, как фильтр интерпретирует выходные данные фильтра. |
| Определяет размер слова, используемый для выходных данных. |
| Устанавливает режим, используемый, чтобы ответить на условия переполнения в вычислениях с фиксированной точкой. Выберите или из |
| Определяет, как фильтр обрабатывает вывод операций продукта. Выберите из полной точности ( |
| Задает размер слова, чтобы использовать для результатов операции умножения. Это свойство становится перезаписываемым (можно изменить значение), когда вы устанавливаете |
| Задает, сбросить ли состояния фильтра и память перед каждой операцией фильтрации. Позволяет вам решить, сохраняет ли ваш фильтр состояния от предыдущих выполнений фильтрации. |
| Устанавливает режим использование фильтра квантовать числовые значения, когда значения находятся между представимыми значениями для формата данных (слово и дробные длины).
Выбор, который вы делаете, влияет только на аккумулятор и выходную арифметику. Коэффициент и входная арифметика всегда вокруг. Наконец, продукты никогда не переполняются — они поддерживают полную точность. |
| Задает ли использование фильтра подписанные или коэффициенты фиксированной точки без знака. Только коэффициенты отражают эту установку свойства. |
| Установка автомасштабирующийся для состояний фильтра к |
| Когда вы устанавливаете |
| Это свойство содержит состояния фильтра прежде, во время, и после работы фильтра. Состояния действуют как память фильтра между фильтрацией выполнений или сеансов. |
| Устанавливает размер слова, используемый, чтобы представлять состояния фильтра. |
Создайте фильтр фиксированной точки путем определения прямой формы второго порядка II транспонированных структур фильтра для объекта dfilt
, и затем преобразования установки арифметики с двойной точностью на фиксированную точку.
b = [0.3 0.6 0.3]; a = [1 0 0.2]; hd = dfilt.df2t(b,a); % Convert filter to fixed-point set(hd,'arithmetic','fixed')
dfilt
| dfilt.df1
| dfilt.df1t
| dfilt.df2