reorder

Перестройте разделы в фильтре SOS

Синтаксис

reorder(hs,order)
reorder(hs,numorder,denorder)
reorder(hs,numorder,denorder,svorder)
reorder(hs,filter_type)
reorder(hs,dir_flag)
reorder(hs,dir_flag,sv)
reorder(hs,...)
reorder(hs,...,Name,Value)

Описание

reorder(hs,order) перестраивает разделы фильтра hd использование вектора индексов, обеспеченных в order.

reorder(hs,numorder,denorder) переупорядочивает числитель и знаменатель отдельно с помощью векторов индексов в numorder и denorder.

reorder(hs,numorder,denorder,svorder) указывает, что значения шкалы могут быть независимо переупорядочены.

reorder(hs,filter_type) переупорядочивание hd в некотором роде подходящий для заданного типа фильтра. Этот режим переупорядочения может быть особенно полезным для реализаций фиксированной точки, где порядок разделов фильтра может значительно влиять на вашу производительность фильтра.

reorder(hs,dir_flag) задает перестраивает разделы согласно близости до начала координат полюсов разделов.

reorder(hs,dir_flag,sv) переупорядочивание масштабирует значения в дополнение к реорганизации разделов согласно близости источника полюса.

reorder(hs,...) перестраивает разделы Системы фильтра object™ hs согласно любому из предыдущих входных параметров.

reorder(hs,...,Name,Value) перестраивает разделы Системного объекта фильтра hs с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

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

свернуть все

dsp.BiquadFilter отфильтруйте Системный объект с одной из следующих структур фильтра:

СтруктураОписание
df1sosПрямая форма I объектов фильтра с секциями второго порядка.
df1tsosПрямая форма я транспонировал фильтр с секциями второго порядка.
df2sosПрямая форма II объектов фильтра с секциями второго порядка.
df2tsosПрямая форма II транспонированных фильтров с секциями второго порядка.

Вектор индексов раньше переупорядочивал разделы фильтра. order не должен содержать все индексы фильтра. Исключение одного или нескольких индексов раздела фильтра удаляет не использованные разделы из фильтра. Можно использовать логический массив, чтобы удалить разделы из фильтра, но не переупорядочить его.

Вектор индексов раньше переупорядочивал числитель. numorder и denorder должна быть та же длина.

Вектор индексов раньше переупорядочивал числитель. numorder и denorder должна быть та же длина.

Независимое переупорядочение значений шкалы. Когда svorder не задан, значения шкалы переупорядочиваются с числителем. Выходное значение шкалы всегда остается на конце, когда вы используете аргумент numorder переупорядочить значения шкалы.

Отфильтруйте тип. 'auto' опция и автоматическое упорядоченное расположение только применяются к фильтрам, что вы использовали fdesign создать. С 'auto' опция как входной параметр, reorder автоматически перестраивает разделы фильтра в зависимости от типа ответа спецификации проекта.

Флаг направления полюса. Когда dir_flag 'up', первый раздел фильтра содержит самые близкие началу координат полюса, и последний раздел содержит полюса, самые близкие к модульному кругу. Когда ir_flag 'down', разделы упорядочены в противоположном направлении. reorder всегда нули пар с полюсами, самыми близкими к ним.

Переупорядочьте значения шкалы согласно полюсам или нулям. По умолчанию значения шкалы не переупорядочиваются, когда вы используете dir_flag входной параметр.

Аргументы в виде пар имя-значение

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

Для фильтра Системный объект вводит только, задайте арифметику, используемую во время анализа. Когда вы задаете 'double' или 'single', функция выполняет дважды - или анализ с одинарной точностью. Когда вы задаете 'fixed' , арифметика изменяется в зависимости от установки CoefficientDataType свойство и заблокирован ли Системный объект или разблокирован.

 Детали для вычислений с фиксированной точкой

Когда вы не задаете арифметику, функция использует арифметику с двойной точностью, если Системный объект фильтра находится в разблокированном состоянии. Если Системный объект заблокирован, функция выполняет анализ на основе заблокированного типа входных данных.

Примеры

свернуть все

Способность перестроить порядок разделов в фильтре может быть мощным инструментом для управления процессом фильтра. Этот пример использует переупорядочивание, чтобы изменить разделы фильтра df2sos. Позвольте переупорядочиванию сделать переупорядочение автоматически в первом примере. Во втором используйте переупорядочивание, чтобы задать новый порядок для разделов.

Сначала используйте автоматическую опцию переупорядочения на фильтре lowpass.

d = fdesign.lowpass('n,f3db',15,0.75);
biquad = design(d,'butter','SystemObject',true);
biquadreorder = reorder(biquad,'auto');

Для другого примера использования переупорядочивания создайте SOS, просачиваются прямая форма II реализаций.

biquad2sos = design(d,'butter', 'FilterStructure', 'df2sos',...
    'SystemObject',true);
biquad2sosreorder = reorder(biquad2sos,[1 3:7 2 8]);
fvt = fvtool(biquad2sos,biquad2sosreorder,'analysis','coefficients');

Удалите третьи, четвертые, и седьмые разделы.

biquad2sosclone1 = clone(biquad2sos);
reorder(biquad2sosclone1, logical([1 1 0 0 1 1 0 1]));
setfilter(fvt, biquad2sosclone1);

Переместите первый фильтр в конец и удалите восьмой раздел.

biquad2sosclone2 = clone(biquad2sos);
reorder(biquad2sosclone2, [2:7 1]);
setfilter(fvt, biquad2sosclone2);

Переместите числитель и знаменатель независимо.

biquad2sosclone3 = clone(biquad2sos);
reorder(biquad2sosclone3, [1 3:8 2], (1:8));
setfilter(fvt, biquad2sosclone3);

Ссылки

Schlichthärle, Дитрих, основы цифровых фильтров и проект, Springer-Verlag Берлин Гейдельберг, 2000.

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

| |

Введенный в R2011a