шкала

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

Синтаксис

scale(biquad)
biquadnew = scale(biquad)
scale(biquad,pnorm)
scale(biquad,pnorm,opts)
scale(biquad,pnorm,Name,Value)

Описание

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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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', 'single' или '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 | логический

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

  • '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 | логический

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

свернуть все

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

Ссылки

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

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

Функции

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

Введенный в R2011a