Дискретное время, КИХ-фильтр прямой формы
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';