Дискретное время, SOS, прямая форма II фильтров
hd = dfilt.df2sos(s)
hd = dfilt.df2sos(b1,a1,b2,a2,...)
hd = dfilt.df2sos(...,g)
hd = dfilt.df2sos
hd = dfilt.df2sos(s)
возвращает дискретное время, секцию второго порядка, прямая форма II объектов фильтра hd
, с коэффициентами, данными в s
матрица.
Сделайте этот фильтр фиксированной точкой или фильтром с одинарной точностью путем изменения значения Arithmetic
свойство для фильтра hd
можно следующим образом:
Чтобы превратиться в фильтрацию с одинарной точностью, войти
set(hd,'arithmetic','single');
Чтобы превратиться в фильтрацию фиксированной точки, войти
set(hd,'arithmetic','fixed');
Для получения дополнительной информации о свойстве Arithmetic
, обратитесь к Арифметике.
hd = dfilt.df2sos(b1,a1,b2,a2,...)
возвращает дискретное время, секцию второго порядка, прямая форма II объектов, hd
, с коэффициентами для первого раздела, данного в b1
и a1
векторы, для второго раздела, данного в b2
и a2
векторы, и т.д.
hd = dfilt.df2sos(...,g)
включает вектор усиления g
. Элементы g
усиления для каждого раздела. Максимальная длина g
количество разделов плюс один. Если g
не задан, все значение по умолчанию усилений одному.
hd = dfilt.df2sos
возвращает значение по умолчанию, дискретное время, секция второго порядка, прямая форма II объектов фильтра, hd
. Этот фильтр передает вход до неизменного выхода.
Ведущий коэффициент знаменателя a(1)
не может быть 0. Позволить вам изменять арифметические настройки к fixed
или single
, a(1)
должно быть равно 1.
Фигура ниже показов поток сигналов для прямой формы II фильтров реализована с секциями второго порядка dfilt.df2sos
. Чтобы помочь вам видеть, как фильтр обрабатывает коэффициенты, вход, и состояния фильтра, а также числовые операции, фигура включает местоположения объектов форматирования в потоке сигналов.
Чтобы помочь вам изучить, где и как фильтр выполняет вычисления с фиксированной точкой во время фильтрации, рисунок показывает различные метки, сопоставленные с элементами данных и функциональными элементами в фильтре. Следующая таблица описывает каждую метку в потоке сигналов и связывает метку со свойствами фильтра, которые сопоставлены с ним.
Метки используют распространенный формат — префикс, сопровождаемый буквами “frmt” (формат). В этом использовании “frmt” означает размер слова и дробную длину, сопоставленную с частью фильтра, упомянутой префиксом.
Например, метка InputFrmt относится к размеру слова, и дробная длина раньше интерпретировала ввод данных к фильтру. frmt свойства InputWordLength
и InputFracLength
(как показано в таблице), хранят размер слова и дробную длину в битах. Или рассмотрите NumFrmt, который обращается к слову и дробным длинам (CoeffWordLength
, NumFracLength
) сопоставленный с представлением коэффициентов числителя фильтра.
Метка потока сигналов | Соответствующее свойство размера слова | Соответствующее дробное свойство длины | Related Properties |
---|---|---|---|
DenAccumFrmt |
|
|
|
DenFrmt |
|
|
|
DenProdFrmt |
|
|
|
InputFrmt |
|
| 'none' |
NumAccumFrmt |
|
|
|
NumFrmt |
|
|
|
NumProdFrmt |
|
|
|
OutputFrmt |
|
|
|
ScaleValueFrmat |
|
|
|
SectionInputFormt |
|
|
|
SectionOutputFrmt |
|
|
|
StateFrmt |
|
|
|
Самый важный положение метки в схеме, которая идентифицирует, где формат применяется.
Как один пример, посмотрите на метку DenProdFrmt, которая всегда следует за содействующим элементом умножения знаменателя в потоке сигналов. Метка указывает, что коэффициенты знаменателя оставляют элемент умножения с размером слова и дробной длиной сопоставленным с операциями продукта, которые включают коэффициенты знаменателя. От рассмотрения таблицы вы видите, что DenProdFrmt обращается к свойствам ProdWordLength
, ProductMode
и DenProdFracLength
это полностью задает формат знаменателя после того, как умножат (или продукт) операции.
В этой таблице вы видите свойства, сопоставленные с реализацией секции второго порядка прямой формы II dfilt
объекты.
Таблица приводит все свойства, которые может иметь фильтр. Многие свойства являются динамическими, означая, что они существуют только в ответ на настройки других свойств. Вы не можете видеть все перечисленные свойства все время. Чтобы просмотреть все свойства для фильтра в любое время, использовать
get(hd)
где hd
фильтр.
Для получения дополнительной информации о свойствах этого фильтра или любого dfilt
возразите, обратитесь к Свойствам фильтра Фиксированной точки.
PropertyName | Краткое описание |
---|---|
| Определяет, как аккумулятор выходные параметры сохранил значения. Выберите из полной точности ( |
| Устанавливает размер слова, используемый, чтобы хранить данные в аккумуляторе/буфере. |
| Задает арифметику использование фильтра. Дает вам опции |
| Задает, бросить ли числовые данные к соответствующему формату аккумулятора (как показано в схемах потока сигналов) прежде, чем выполнить операции суммы. |
| Задает, выбирает ли фильтр автоматически длину правильной дроби, чтобы представлять коэффициенты фильтра без переполнения. Выключение этого путем устанавливания значения к |
| Задает размер слова, чтобы применяться к коэффициентам фильтра. |
| Указывает, что дробная длина, используемая, чтобы интерпретировать данные в аккумуляторе раньше, содержала результаты операций суммы. Можно изменить значение для этого свойства, когда вы устанавливаете |
| Установите дробную длину использование фильтра интерпретировать коэффициенты знаменателя. |
| Задает, как алгоритм фильтра интерпретирует результаты операций продукта включающие коэффициенты знаменателя. Можно изменить это значение свойства, когда вы устанавливаете |
| Описывает поток сигналов для объекта фильтра, включая все активные элементы, которые выполняют операции во время фильтрации — усиления, задержки, суммы, продукты и ввод/вывод. |
| Задает дробную длину использование фильтра, чтобы интерпретировать входные данные. |
| Задает размер слова, примененный, чтобы интерпретировать входные данные. |
| Задает, как алгоритм фильтра интерпретирует результаты операций сложения включающие коэффициенты числителя. Можно изменить значение этого свойства после того, как вы установите |
| Устанавливает дробную длину, используемую, чтобы интерпретировать значение коэффициентов числителя. |
| Задает, как алгоритм фильтра интерпретирует результаты операций продукта включающие коэффициенты числителя. Доступный, чтобы быть измененным, когда вы устанавливаете |
| Когда верный, фильтр пропускает масштабирование multiplication-one. Когда ложь, фильтр выполняет масштабирование multiplication-one. |
| Определяет, как фильтр интерпретирует выходные данные фильтра. Можно изменить значение |
| Устанавливает режим использование фильтра масштабировать отфильтрованные данные для выхода. У вас есть следующий выбор:
|
| Определяет размер слова, используемый в выходных данных. |
| Устанавливает режим, используемый, чтобы ответить на условия переполнения в вычислениях с фиксированной точкой. Выберите из любого |
| Определяет, как фильтр обрабатывает выход операций продукта. Выберите из полной точности ( |
| Задает размер слова, чтобы использовать в результатах операции умножения. Это свойство становится перезаписываемым (можно изменить значение), когда вы устанавливаете |
| Задает, сбросить ли состояния фильтра и память перед каждой операцией фильтрации. Позволяет вам решить, сохраняет ли ваш фильтр состояния от предыдущих запусков фильтрации. |
| Устанавливает режим использование фильтра квантовать числовые значения, когда значения находятся между представимыми значениями для формата данных (слово и дробные длины).
Выбор, который вы делаете, влияет только на аккумулятор и выходную арифметику. Коэффициент и входная арифметика всегда вокруг. Наконец, продукты никогда не переполняются — они обеспечивают полную точность. |
| Масштабируйтесь значения работают с фильтрами SOS. Установка этого свойства управляет, как ваш фильтр интерпретирует значения шкалы путем установки дробной длины. Только доступный, когда вы отключаете |
| Масштабирование для объектов фильтра в фильтрах SOS. |
| Говорит фильтр, установить ли формат входных данных этапа минимизировать вхождение условий переполнения. |
| Позволяет вы установить дробную длину для раздела вводите в фильтрах SOS, если вы устанавливаете |
| Позволяет вы установить размер слова для раздела вводите в фильтрах SOS, если вы устанавливаете |
| Говорит фильтр, установить ли формат выходных данных раздела минимизировать вхождение условий переполнения. |
| Позволяет вам установить дробную длину для раздела выходные параметры в фильтрах SOS, если вы устанавливаете |
| Позволяет вам установить размер слова для раздела выходные параметры в фильтрах SOS, если вы устанавливаете |
| Задает ли использование фильтра подписанные или коэффициенты фиксированной точки без знака. Только коэффициенты отражают эту установку свойства. |
| Содержит коэффициенты фильтра как значения свойств. Отображается матрица в формате [разделяет x тип данных коэффициентов/раздела]. |
| Когда вы устанавливаете |
| Это свойство содержит состояния фильтра прежде, во время, и после работы фильтра. Состояния действуют как память фильтра между фильтрацией запусков или сеансов. |
| Устанавливает размер слова, используемый, чтобы представлять состояния фильтра. |
Задайте секцию второго порядка, прямая форма II dfilt
объект для Фильтра Баттерворта, преобразованного в секции второго порядка, со следующим кодом:
[z,p,k] = butter(30,0.5); [s,g] = zp2sos(z,p,k); hd = dfilt.df2sos(s,g); % Convert filter to fixed-point hd.arithmetic='fixed';