scale

Масштабируйте секции второго порядка dsp.BiquadFilter Системный объект

Описание

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

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

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

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

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

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

пример

scale(biquad,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)

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

свернуть все

Введите фильтр, заданный как dsp.BiquadFilter Системный объект.

Пример: 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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', значения, используемые в масштабирующихся опциях, установлены согласно настройкам в Системном объекте фильтра, biquad. Однако, если масштабирующаяся опция задана, который отличается от настроек в biquad, эта опция используется в масштабировании целей, но не изменяет настройки в biquad. Например, если вы не задаете 'OverflowMode' масштабируя опцию, scale метод принимает что 'OverflowMode' равно значению в OverflowAction свойство Системного объекта, biquad. Если вы действительно задаете 'OverflowMode' масштабирование опции, затем scale функционируйте использует это значение режима переполнения независимо от значения в OverflowAction свойство Системного объекта.

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

  • 'auto'

  • 'none'

  • 'up'

  • 'down'

  • 'lowpass'

  • 'highpass'

  • 'bandpass'

  • 'bandstop'

Автоматическое переупорядочение вступает в силу когда biquad получен в результате из проекта с помощью 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

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

свернуть все

Масштабируемый biquad объект фильтра, возвращенный как dsp.BiquadFilter Системный объект. Этот Системный объект содержит масштабируемые секции второго порядка.

Ссылки

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

Смотрите также

Функции

Системные объекты

Введенный в R2011a