reorder

Переупорядочьте секции второго порядка биквадратного Системного объекта фильтра

Описание

reorder(sysobj,order) перестраивает разделы биквадратной Системы фильтра object™ использование вектора из индексов, обеспеченных в order.

пример

sysobjnew = reorder(sysobj,order) генерирует новый биквадратный Системный объект фильтра, который содержит переупорядоченные разделы. В этом случае, исходный фильтр sysobj не изменяется.

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

reorder(sysobj,numorder,denorder,svorder) независимо переупорядочивает значения шкалы биквадратного Системного объекта фильтра. Если svorder не задан, значения шкалы биквадратного фильтра переупорядочиваются таким же образом как числитель. Выходное значение шкалы всегда остается в конце и numorder используется, чтобы переупорядочить значения шкалы.

пример

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

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

reorder(sysobj,dir_flag,sv) переупорядочивает значения шкалы после переупорядочения полюсов когда sv установлен в 'poles', или после переупорядочения нулей, когда sv установлен в 'zeros'. Значения шкалы не переупорядочиваются при использовании dir_flag опция, если sv задан.

reorder(___,'Arithmetic',arithType) принимает, что арифметика фильтра равна arithType.

Примеры

свернуть все

Способность перестроить порядок разделов в фильтре может быть мощным инструментом для управления процессом создания фильтра. Этот пример использует переупорядочивание, чтобы изменить разделы фильтра 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);

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

свернуть все

Биквадратный объект фильтра в виде любого dsp.BiquadFilter или dsp.SOSFilter объекты.

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

Когда order вектор из logicals, функция удаляет разделы фильтра, которые соответствуют значениям индекса где order равно false.

Типы данных: double | logical

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

Когда numorder вектор из logicals, функция удаляет коэффициенты числителя, которые соответствуют значениям индекса где numorder равно false.

Типы данных: double | logical

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

Когда denorder вектор из logicals, функция удаляет коэффициенты знаменателя, которые соответствуют значениям индекса где denorder равно false.

Типы данных: double | logical

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

Когда svorder вектор из logicals, функция удаляет значения шкалы, которые соответствуют значениям индекса где svorder равно false.

Типы данных: double | logical

Отфильтруйте тип. Автоматическое переупорядочение только применяется когда sysobj был получен с помощью fdesign. С 'auto' опция как входной параметр, reorder автоматически перестраивает разделы фильтра в зависимости от типа ответа спецификации проекта (lowpass, highpass, и т.д.).

Флаг направления полюса в виде также:

  • 'up' – Первый раздел фильтра содержит самые близкие началу координат полюса, и последний раздел содержит полюса, самые близкие к модульному кругу.

  • 'down' – Разделы упорядочены в противоположном направлении. Нули всегда соединяются с полюсами, самыми близкими к ним.

Масштабируйте опции значения в виде также:

  • 'poles' – Масштабируйтесь значения переупорядочиваются после переупорядочения полюсов.

  • 'zeros' – Масштабируйтесь значения переупорядочиваются после переупорядочения нулей.

Значения шкалы не переупорядочиваются при использовании dir_flag опция, если sv задан.

Арифметика вводит reorder функция принимает в виде одного из следующего:

  • 'double' – Функция принимает фильтр двойной точности, когда арифметический вход не задан, и Системный объект фильтра находится в разблокированном состоянии.

  • 'single' – Функция принимает фильтр одинарной точности.

  • 'fixed' – Действие переполнения, используемое в операции переупорядочивания, установлено в действие, заданное в Системном объекте фильтра.

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

свернуть все

Биквадратный объект фильтра с переупорядоченными секциями второго порядка, возвращенными как dsp.BiquadFilter или dsp.SOSFilter объект. Матрицы SOS и соответствующие значения шкалы в выходном объекте согласно reorder аргументы работают на входе sysobj.

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

| | | |

Введенный в R2011a