scale

Масштабируйте секции второго порядка

Описание

scale(sysobj) масштабирует биквадратную Систему object™, sysobj, с помощью пикового масштабирования ответа величины (L-бесконечность, 'Linf'). Это масштабирование уменьшает возможность переполнения, когда объект фильтра действует в режиме вычислений с фиксированной точкой.

sysobjnew = scale(sysobj) генерирует новый Системный объект фильтра, sysobjnew, с масштабированными секциями второго порядка. Исходный Системный объект фильтра, sysobj, не изменяется.

scale(sysobj,pnorm) указывает, что норма раньше масштабировала фильтр. Переменная pnorm может быть или норма дискретного временного интервала или норма частотного диапазона. Допустимыми нормами временного интервала является 'l1', 'l2', и 'linf'. Допустимыми нормами частотного диапазона является 'L1', 'L2', и 'Linf'. Обратите внимание на то, что L2-норма равна l2-норме (теорема Парсевэла), но то же самое не верно для других норм.

Различные нормы могут быть упорядочены в терминах того, насколько строгий они следующие: 'l1' >= 'Linf' >= 'L2' = 'l2' >= 'L1' >= 'linf'.

Используя самое строгое масштабирование, 'l1', фильтр наименее подвержен переполнению, но также и имеет худшее отношение сигнал-шум. Linf-масштабирование является обычно используемым масштабированием на практике.

scale(sysobj,pnorm,opts) использует объект опций задать дополнительные масштабные коэффициенты вместо определения пар значения параметров. opts объект может быть создан с помощью scaleopts функция: opts = scaleopts(sysobj).

пример

scale(sysobj,pnorm,Name,Value) задает дополнительные масштабные коэффициенты через одним или несколькими Name,Value парные аргументы.

Примеры

свернуть все

Продемонстрируйте масштабирование Linf-нормы фильтра biquad с помощью scale функция.

Fs = 8000; Fcutoff = 2000;
[z,p,k] = butter(10,Fcutoff/(Fs/2)); [s,g] = zp2sos(z,p,k);
biquad = dsp.BiquadFilter('Structure', 'Direct form I', ...
    'SOSMatrix', s,'ScaleValues', g);
scale(biquad,'linf','scalevalueconstraint','none','maxscalevalue',2)

Входные параметры

свернуть все

Введите фильтр в виде одного из следующих Системных объектов:

Пример: biquad = dsp.BiquadFilter('Structure', 'Direct form I', ...'SOSMatrix', s,'ScaleValues', g);

Допустимые значения нормы временного интервала для pnorm 'l1', 'l2', и 'linf'. Допустимыми значениями нормы частотного диапазона является 'L1', 'L2', и 'Linf' . 'L2' норма равна 'l2' норма (теоремой Парсевэла), но эта эквивалентность не содержит для других норм — 'l1' различный как 'L1' и 'Linf' различный как 'linf'.

Нормы фильтра могут быть упорядочены в терминах того, насколько строгий они, можно следующим образом от самого строгого до наименьшего: 'l1', 'Linf', 'l2' ('L2'), 'linf'. Используя 'l1', самое строгое масштабирование, производит фильтр, который должен маловероятно переполниться, но имеет худшую эффективность отношения сигнал-шум. Значение по умолчанию, масштабирующее 'Linf' (значением по умолчанию) является обычно используемая норма масштабирования.

Можно создать fdopts.sosscaling объект, opts, использование scaleopts функция.

В следующей таблице перечислены свойства opts:

Параметр

Значение по умолчанию

Описание и допустимое значение

sosReorder

'auto'

Переупорядочьте раздел до масштабирования.

Допустимыми опциями является 'auto' (значение по умолчанию), 'none', 'up', 'down', 'lowpass', 'highpass', 'bandpass', и 'bandstop'.

MaxNumerator

2

Максимальное позволенное значение для коэффициентов числителя.

NumeratorConstraint

'none'

Задает, ли и как ограничить содействующие значения числителя. Опциями является 'none' (значение по умолчанию), 'unit', 'normalize', и 'po2'.

OverflowMode

'wrap'

Устанавливает способ, которым фильтр обрабатывает ситуации с арифметическим переполнением во время масштабирования. Допустимыми опциями является 'wrap' (значение по умолчанию), 'saturate', и 'satall'.

ScaleValueConstraint

'unit'

Задайте, ограничить ли значения шкалы фильтра, и как ограничить их. Допустимыми опциями является 'unit' (значение по умолчанию), 'none', и 'po2'.

MaxScaleValue

'Not used'

Максимальные позволенные значения шкалы. Фильтр применяет MaxScaleValue ограничьте только, когда вы установите ScaleValueConstraint к значению кроме unit. Установка MaxScaleValue к численному значению автоматически изменяет ScaleValueConstraint установка на none.

Пример: opts = scaleopts(biquad)

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: [z,p,k] = butter(10,2000/(8000/2)); [s,g] = zp2sos(z,p,k); biquad = dsp.BiquadFilter('Structure','Direct form I','SOSMatrix',s,'ScaleValues',g); scale(biquad,'linf','scalevalueconstraint','none','maxscalevalue',2)

Арифметический тип используется во время анализа в виде одного из 'double'единственный, или 'fixed'. Метод шкалы принимает фильтр двойной точности, когда арифметический вход не задан, и Системный объект фильтра находится в разблокированном состоянии. Если Системный объект заблокирован, функция выполняет анализ на основе заблокированного типа входных данных. Если 'Arithmetic' 'double' или 'single', значения по умолчанию используются для всех опций масштабирования, которые не заданы как вход к scale функция. Если 'Arithmetic' 'fixed', значения, используемые для масштабирующихся опций, установлены согласно настройкам в Системном объекте фильтра. Однако, если масштабирующаяся опция задана, который отличается от настроек в sysobj, эта опция используется для масштабирования целей, но не изменяет настройки в sysobj. Например, если вы не задаете 'OverflowMode' масштабируя опцию, scale метод принимает что 'OverflowMode' равно значению в OverflowAction свойство объекта фильтра. Если вы действительно задаете 'OverflowMode' масштабирование опции, затем scale функционируйте использует это значение режима переполнения независимо от значения в OverflowAction свойство Системного объекта.

Переупорядочьте разделы фильтра до применения масштабирования. Возможные варианты:

  • 'auto'

  • 'none'

  • 'up'

  • 'down'

  • 'lowpass'

  • 'highpass'

  • 'bandpass'

  • 'bandstop'

Автоматическое переупорядочение вступает в силу когда sysobj получен в результате из использования проекта fdesign. Разделы автоматически переупорядочиваются в зависимости от типа ответа проекта.

Максимальное позволенное значение для коэффициентов числителя в виде положительной скалярной величины.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Метод, чтобы ограничить содействующие значения числителя в виде одного из следующего:

  • 'none'

  • 'normalized'

  • 'po2'

  • 'unit'

Устанавливает способ, которым фильтр обрабатывает ситуации с арифметическим переполнением во время масштабирования. Если ваше устройство не имеет "сторожевые" разряды в наличии, и вы используете арифметику насыщения для фильтрации, используете 'satall' вместо 'saturate'. Значением по умолчанию является 'wrap'.

Задайте, ограничить ли значения шкалы фильтра, и как ограничить их. Выбор 'unit' поскольку ограничение отключает MaxScaleValue установка свойства. 'po2' ограничивает значения шкалы быть степенями 2, в то время как 'none' удаляет любое ограничение на значения шкалы. 'unit' значение по умолчанию.

Максимальные позволенные значения шкалы. Фильтр применяет MaxScaleValue ограничьте только, когда вы установите ScaleValueConstraint к значению кроме unit (настройка по умолчанию). Установка MaxScaleValue к любому численному значению автоматически изменяет ScaleValueConstraint установка на none.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Выходные аргументы

свернуть все

Масштабированный биквадратный объект фильтра, возвращенный как один из следующих Системных объектов:

Возвращенный объект содержит масштабированные секции второго порядка.

Ссылки

[1] Dehner, G.F. “Шумовое Оптимизированное Создание цифровых фильтров: Пример и Некоторые Новые Аспекты”. Обработка сигналов. Издание 83, Номер 8, 2003, стр 1565–1582.

Введенный в R2011a