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