Дискретное время, прямая форма SOS я фильтрую
hd = dfilt.df1sos(s)
hd = dfilt.df1sos(b1,a1,b2,a2,...)
hd = dfilt.df1sos(...,g)
hd = dfilt.df1sos
hd = dfilt.df1sos(s)
возвращает дискретное время, раздел второго порядка, прямая форма I объектов фильтра hd
, с коэффициентами, данными в матрице s
.
Сделайте этот фильтр фиксированной точкой или фильтром с одинарной точностью путем изменения значения свойства Arithmetic
для фильтра hd
можно следующим образом:
Чтобы измениться на фильтрацию с одинарной точностью, войти
set(hd,'arithmetic','single');
Чтобы измениться на фильтрацию фиксированной точки, войти
set(hd,'arithmetic','fixed');
Для получения дополнительной информации о свойстве Arithmetic
, обратитесь к Арифметике.
hd = dfilt.df1sos(b1,a1,b2,a2,...)
возвращает дискретное время, раздел второго порядка, прямая форма I объектов фильтра hd
, с коэффициентами для первого раздела, данного в b1
и векторах a1
, для второго раздела, данного в b2
и векторах a2
, и так далее.
hd = dfilt.df1sos(...,g)
включает вектор усиления g
. Элементы g
являются усилениями для каждого раздела. Максимальная длина g
является количеством разделов плюс один. Когда вы не задаете g
, все значение по умолчанию усилений одному.
hd = dfilt.df1sos
возвращает значение по умолчанию, дискретное время, раздел второго порядка, прямая форма I объектов фильтра, hd
. Этот фильтр передает вход до неизменного вывода.
Ведущий коэффициент знаменателя a(1)
не может быть 0. Чтобы позволить вам изменять арифметические настройки к fixed
или single
, a(1)
должен быть равен 1.
Следующие данные показывают поток сигналов для прямой формы, которую я фильтрую реализованный в разделах второго порядка dfilt.df1sos
. Чтобы помочь вам видеть, как фильтр обрабатывает коэффициенты, вход, и состояния фильтра, а также числовые операции, фигура включает местоположения объектов форматирования в потоке сигналов.
Чтобы помочь вам понять, где и как фильтр выполняет вычисления с фиксированной точкой во время фильтрации, данные показывают различные метки, сопоставленные с элементами данных и функциональными элементами в фильтре. Следующая таблица описывает каждую метку в потоке сигналов и связывает метку со свойствами фильтра, которые сопоставлены с ним.
Метки используют распространенный формат — префикс, сопровождаемый буквами “frmt” (формат). В этом использовании, “frmt “означает размер слова и дробную длину, сопоставленную с частью фильтра, упомянутой префиксом.
Например, метка InputFrmt относится к размеру слова, и дробная длина раньше интерпретировала ввод данных к фильтру. Свойства формата InputWordLength
и InputFracLength
(как показано в таблице) хранят размер слова и дробную длину в битах. Так же рассмотрите NumFrmt, который обращается к слову и дробным длинам (CoeffWordLength
, NumFracLength
) сопоставленный с представлением коэффициентов числителя фильтра.
Метка потока сигналов | Соответствующее свойство размера слова | Соответствующее дробное свойство длины | Related Properties |
---|---|---|---|
DenAccumFrmt |
|
|
|
DenFrmt |
|
|
|
DenProdFrmt |
|
|
|
DenStateFrmt |
|
|
|
InputFrmt |
|
| 'none' |
NumAccumFrmt |
|
|
|
NumFrmt |
|
|
|
NumProdFrmt |
|
|
|
NumStateFrmt |
|
|
|
OutputFrmt |
|
|
|
ScaleValueFrmt |
|
|
|
Самый важный положение метки в схеме, которая идентифицирует, где формат применяется.
Как один пример, посмотрите на метку DenProdFrmt, которая всегда следует за содействующим элементом умножения знаменателя в потоке сигналов. Метка указывает, что коэффициенты знаменателя оставляют элемент умножения с размером слова и дробной длиной сопоставленным с операциями продукта, которые включают коэффициенты знаменателя. От рассмотрения таблицы вы видите, что DenProdFrmt обращается к свойствам ProductWordLength
, DenProdFracLength
и ProductMode
, которые полностью задают формат знаменателя после, умножают (или продукт) операции.
В этой таблице вы видите свойства, сопоставленные с реализацией SOS прямой формы I объектов dfilt
.
Таблица приводит все свойства, которые может иметь фильтр. Многие свойства являются динамическими, означая, что они существуют только в ответ на настройки других свойств. Вы не можете видеть все перечисленные свойства все время. Чтобы просмотреть все свойства для фильтра в любое время, использовать
get(hd)
hd
является фильтром.Для получения дополнительной информации о свойствах этого фильтра или любого объекта dfilt
, обратитесь к Свойствам фильтра Фиксированной точки.
PropertyName | Краткое описание |
---|---|
| Определяет, как аккумулятор выходные параметры сохранил значения. Выберите из полной точности ( |
| Устанавливает размер слова, используемый, чтобы хранить данные в аккумуляторе/буфере. |
| Задает арифметику использование фильтра. Дает вам опции |
| Задает, бросить ли числовые данные к соответствующему формату аккумулятора (как показано в схемах потока сигналов) прежде, чем выполнить операции суммы. |
| Задает, выбирает ли фильтр автоматически длину правильной дроби, чтобы представлять коэффициенты фильтра без переполнения. Выключение этого путем устанавливания значения к |
| Задает размер слова, чтобы применяться к коэффициентам фильтра. |
| Указывает, что дробная длина, используемая, чтобы интерпретировать данные в аккумуляторе раньше, содержала результаты операций суммы. Можно изменить значение для этого свойства, когда вы устанавливаете |
| Установите дробную длину использование фильтра интерпретировать коэффициенты знаменателя. |
| Задает, как алгоритм фильтра интерпретирует результаты операций продукта включающие коэффициенты знаменателя. Можно изменить это значение свойства, когда вы устанавливаете |
| Указывает, что дробная длина раньше интерпретировала состояния, сопоставленные с коэффициентами знаменателя в фильтре. |
| Указывает, что размер слова раньше представлял состояния, сопоставленные с коэффициентами знаменателя в фильтре. |
| Описывает поток сигналов для объекта фильтра, включая все активные элементы, которые выполняют операции во время фильтрации — усиления, задержки, суммы, продукты и ввод/вывод. |
| Задает дробную длину использование фильтра, чтобы интерпретировать входные данные. |
| Задает размер слова, примененный, чтобы интерпретировать входные данные. |
| Задает, как алгоритм фильтра интерпретирует результаты операций сложения включающие коэффициенты числителя. Можно изменить значение этого свойства после того, как вы установите |
| Устанавливает дробную длину, используемую, чтобы интерпретировать значение коэффициентов числителя. |
| Указывает, что дробная длина раньше интерпретировала состояния, сопоставленные с содействующими операциями числителя в фильтре. |
| Указывает, что размер слова раньше интерпретировал состояния, сопоставленные с содействующими операциями числителя в фильтре. |
| Когда верный, фильтр пропускает масштабирование multiplication-one. Когда ложь, фильтр выполняет масштабирование multiplication-one. |
| Определяет, как фильтр интерпретирует выходные данные фильтра. Можно изменить значение |
| Устанавливает режим использование фильтра масштабировать отфильтрованные данные для вывода. У вас есть следующий выбор:
|
| Решает, что размер слова запросил выходные данные. |
| Устанавливает режим, используемый, чтобы ответить на условия переполнения в вычислениях с фиксированной точкой. Выберите или из |
| Определяет, как фильтр обрабатывает вывод операций продукта. Выберите из полной точности ( |
| Задает размер слова, чтобы использовать для результатов операции умножения. Это свойство становится перезаписываемым (можно изменить значение), когда вы устанавливаете |
| Задает, сбросить ли состояния фильтра и память перед каждой операцией фильтрации. Позволяет вам решить, сохраняет ли ваш фильтр состояния от предыдущих выполнений фильтрации. |
| Устанавливает режим использование фильтра квантовать числовые значения, когда значения находятся между представимыми значениями для формата данных (слово и дробные длины).
Выбор, который вы делаете, влияет только на аккумулятор и выходную арифметику. Коэффициент и входная арифметика всегда вокруг. Наконец, продукты никогда не переполняются — они поддерживают полную точность. |
| Масштабируйтесь значения работают с фильтрами SOS. Установка этого свойства управляет, как ваш фильтр интерпретирует значения шкалы путем установки дробной длины. Только доступный, когда вы отключаете |
| Масштабирование для объектов фильтра в фильтрах SOS. |
| Задает ли использование фильтра подписанные или коэффициенты фиксированной точки без знака. Только коэффициенты отражают эту установку свойства. |
| Содержит коэффициенты фильтра как значения свойств. Отображается матрица в формате [разделяет x тип данных коэффициентов/раздела]. Матрица SOS |
| Это свойство содержит состояния фильтра прежде, во время, и после работы фильтра. Состояния действуют как память фильтра между фильтрацией выполнений или сеансов. Состояния используют объекты |
| Устанавливает размер слова, используемый, чтобы представлять состояния фильтра. |
Задайте фиксированную точку, раздел второго порядка, объект I dfilt
прямой формы со следующим кодом:
b = [0.3 0.6 0.3]; a = [1 0 0.2]; hd = dfilt.df1sos(b,a); % Convert to fixed-point filter hd.arithmetic = 'fixed';