Дискретное время, прямая форма SOS я транспонировал фильтр
hd = dfilt.df1tsos(s)
hd = dfilt.df1tsos(b1,a1,b2,a2,...)
hd = dfilt.df1tsos(...,g)
hd = dfilt.df1tsos
hd = dfilt.df1tsos(s) возвращает дискретное время, раздел второго порядка, прямая форма I, транспонированный объект фильтра hd, с коэффициентами, данными в матрице s.
Сделайте этот фильтр фиксированной точкой или фильтром с одинарной точностью путем изменения значения свойства Arithmetic для фильтра hd можно следующим образом:
Чтобы измениться на фильтрацию с одинарной точностью, войти
set(hd,'arithmetic','single');
Чтобы измениться на фильтрацию фиксированной точки, войти
set(hd,'arithmetic','fixed');
Для получения дополнительной информации о свойстве Arithmetic, обратитесь к.
hd = dfilt.df1tsos(b1,a1,b2,a2,...) возвращает дискретное время, раздел второго порядка, прямая форма I, транспонированный объект фильтра hd, с коэффициентами для первого раздела, данного в b1 и векторах a1, для второго раздела, данного в b2 и векторах a2, и т.д.
hd = dfilt.df1tsos(...,g) включает вектор усиления g. Элементы g являются усилениями для каждого раздела. Максимальная длина g является количеством разделов плюс один. Если g не задан, все значение по умолчанию усилений одному.
hd = dfilt.df1tsos возвращает значение по умолчанию, дискретное время, раздел второго порядка, прямая форма I, транспонированный объект фильтра, hd. Этот фильтр передает вход до неизменного вывода.
Ведущий коэффициент знаменателя a(1) не может быть 0. Чтобы позволить вам изменять арифметические настройки к fixed или single, a(1) должен быть равен 1.
Следующие данные показывают поток сигналов для прямой формы, я транспонировал фильтр, реализованный с помощью разделов второго порядка dfilt.df1tsos. Чтобы помочь вам видеть, как фильтр обрабатывает коэффициенты, вход, и состояния фильтра, а также числовые операции, фигура включает местоположения объектов форматирования в потоке сигналов.

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