Дискретное время, КИХ-фильтр прямой формы
hd = dfilt.dffir(b)
hd = dfilt.dffir
hd = dfilt.dffir(b)
возвращает дискретное время, объект фильтра конечного импульсного ответа (FIR) прямой формы hd
, с коэффициентами числителя b
.
Сделайте этот фильтр фиксированной точкой или фильтром с одинарной точностью путем изменения значения свойства Arithmetic
для фильтра hd
можно следующим образом:
Чтобы измениться на фильтрацию с одинарной точностью, войти
set(hd,'arithmetic','single');
Чтобы измениться на фильтрацию фиксированной точки, войти
set(hd,'arithmetic','fixed');
Для получения дополнительной информации о свойстве Arithmetic
, обратитесь к Арифметике.
hd = dfilt.dffir
возвращает значение по умолчанию, дискретное время, КИХ-объект фильтра прямой формы hd
, с b=1
. Этот фильтр передает вход до неизменного вывода.
Следующие данные показывают поток сигналов для КИХ-фильтра прямой формы, реализованного dfilt.dffir
. Чтобы помочь вам видеть, как фильтр обрабатывает коэффициенты, вход, и состояния фильтра, а также числовые операции, фигура включает местоположения объектов форматирования в потоке сигналов.
Чтобы помочь вам понять, где и как фильтр выполняет вычисления с фиксированной точкой во время фильтрации, данные показывают различные метки, сопоставленные с элементами данных и функциональными элементами в фильтре. Следующая таблица описывает каждую метку в потоке сигналов и связывает метку со свойствами фильтра, которые сопоставлены с ним.
Метки используют распространенный формат — префикс, сопровождаемый буквами “frmt” (формат). В этом использовании “frmt” указывает на размер слова и дробную длину, сопоставленную с частью фильтра, упомянутой префиксом.
Например, метка InputFrmt относится к размеру слова, и дробная длина раньше интерпретировала ввод данных к фильтру. Свойства формата InputWordLength
и InputFracLength
(как показано в таблице) хранят размер слова и дробную длину в битах. Или рассмотрите NumFrmt, который обращается к слову и дробным длинам (CoeffWordLength
, NumFracLength
) сопоставленный с представлением коэффициентов числителя фильтра.
Метка потока сигналов | Соответствующее свойство размера слова | Соответствующее дробное свойство длины | Related Properties |
---|---|---|---|
AccumFrmt |
|
| 'none' |
InputFrmt |
|
| 'none' |
NumFrmt |
|
|
|
OutputFrmt |
|
| 'none' |
ProductFrmt |
|
| 'none' |
Самый важный положение метки в схеме, которая идентифицирует, где формат применяется.
Как один пример, посмотрите на метку ProductFrmt, которая всегда следует за содействующим элементом умножения в потоке сигналов. Метка указывает, что коэффициенты оставляют элемент умножения с размером слова и дробной длиной сопоставленным с операциями продукта, которые включают коэффициенты. От рассмотрения таблицы вы видите, что ProductFrmt обращается к свойствам ProductFracLength
и ProductWordLength
, которые полностью задают содействующий формат после того, как умножают (или продукт) операции.
В этой таблице вы видите свойства, сопоставленные с КИХ-реализацией прямой формы объектов dfilt
.
Таблица приводит все свойства, которые может иметь фильтр. Многие свойства являются динамическими, означая, что они существуют только в ответ на настройки других свойств. Вы не можете видеть все перечисленные свойства все время. Чтобы просмотреть все свойства для фильтра в любое время, использовать
get(hd)
где hd
является фильтром.
Для получения дополнительной информации о свойствах этого фильтра или любого объекта dfilt
, обратитесь к Свойствам фильтра Фиксированной точки.
Имя | Значения | Описание |
---|---|---|
| Любое положительное или отрицательное целое число битов [30] | Указывает, что дробная длина раньше интерпретировала вывод данных аккумулятором. |
| Любое целое число битов [34] | Устанавливает размер слова, используемый, чтобы хранить данные в аккумуляторе. |
| зафиксированный для фильтров фиксированной точки | Установка этого к |
| [верный], ложный | Задает, выбирает ли фильтр автоматически длину правильной дроби, чтобы представлять коэффициенты фильтра без переполнения. Выключение этого путем устанавливания значения к |
| Любое целое число битов [16] | Задает размер слова, чтобы применяться к коэффициентам фильтра. |
| [FullPrecision], SpecifyPrecision | Средства управления, устанавливает ли фильтр автоматически выходное слово и дробные длины, слово продукта и дробные длины, и слово аккумулятора и дробные длины поддерживать лучшие результаты точности во время фильтрации. Значение по умолчанию, |
| Любое положительное или отрицательное целое число битов [15] | Задает дробную длину использование фильтра, чтобы интерпретировать входные данные. |
| Любое целое число битов [16] | Задает размер слова, примененный, чтобы интерпретировать входные данные. |
| Любое положительное или отрицательное целое число битов [ | Устанавливает дробную длину, используемую, чтобы интерпретировать коэффициенты числителя. |
| Любое положительное или отрицательное целое число битов [32] | Определяет, как фильтр интерпретирует выходные данные фильтра. Можно изменить значение |
| Любое целое число битов [39] | Определяет размер слова, используемый для выходных данных. Вы делаете это свойство доступным для редактирования установкой |
| насыщайте, [перенеситесь] | Устанавливает режим, используемый, чтобы ответить на условия переполнения в вычислениях с фиксированной точкой. Выберите или из |
| Любое положительное или отрицательное целое число битов [ | Задает дробную длину, чтобы использовать для результатов операции умножения. Это свойство становится перезаписываемым (можно изменить значение), когда вы устанавливаете |
| Любое целое число битов [32] | Задает размер слова, чтобы использовать для результатов операции умножения. Это свойство становится перезаписываемым (можно изменить значение), когда вы устанавливаете |
| [ | Устанавливает режим использование фильтра квантовать числовые значения, когда значения находятся между представимыми значениями для формата данных (слово и дробные длины).
Выбор, который вы делаете, влияет только на аккумулятор и выходную арифметику. Коэффициент и входная арифметика всегда вокруг. Наконец, продукты никогда не переполняются — они поддерживают полную точность. |
| [верный], ложный | Задает ли использование фильтра подписанные или коэффициенты фиксированной точки без знака. Только коэффициенты отражают эту установку свойства. |
| Объект | Содержит состояния фильтра прежде, во время, и после работы фильтра. Состояния действуют как память фильтра между фильтрацией выполнений или сеансов. Состояния используют объекты |
Задайте КИХ-структуру фильтра прямой формы второго порядка для объекта dfilt
hd
со следующим кодом, который создает фильтр в формате с двойной точностью и затем преобразовывает фильтр в операцию фиксированной точки:
b = [0.05 0.9 0.05]; hd = dfilt.dffir(b); % Create fixed-point filter hd.arithmetic='fixed'; % Change FilterInternals property to % SpecifyPrecision enabling other properties hd.FilterInternals='SpecifyPrecision';