exponenta event banner

повторный заказ

Переупорядочить секции второго порядка биквадратического фильтра System object

Описание

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

пример

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

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

reorder(sysobj,numorder,denorder,svorder) независимо переупорядочивает значения масштаба объекта biquadratic filter System. Если 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. Переупорядочивание выполняется автоматически в первом фильтре. Во втором случае используйте команду reorder, чтобы указать новый порядок для сечений.

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

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');

Figure Filter Visualization Tool - Filter Coefficients contains objects of type uitoolbar, uimenu, uicontrol.

Снимите третью, четвертую и седьмую секции.

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

Figure Filter Visualization Tool - Filter Coefficients contains objects of type uitoolbar, uimenu, uicontrol.

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

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

Figure Filter Visualization Tool - Filter Coefficients contains objects of type uitoolbar, uimenu, uicontrol.

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

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

Figure Filter Visualization Tool - Filter Coefficients contains objects of type uitoolbar, uimenu, uicontrol.

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

свернуть все

Объект биквадратического фильтра, указанный как dsp.BiquadFilter или dsp.SOSFilter объекты.

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

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

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

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

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

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

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

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

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

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

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

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

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

Флаг направления полюса, указанный как:

  • 'up' - Первая секция фильтра содержит полюса, ближайшие к началу координат, а последняя секция содержит полюса, ближайшие к единичной окружности.

  • 'down' - Секции упорядочены в противоположном направлении. Нули всегда спарены с ближайшими к ним полюсами.

Параметры значения масштаба, указанные как:

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

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

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

Арифметический тип reorder предполагает, указано как одно из следующих:

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

  • 'single' - Функция предполагает один прецизионный фильтр.

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

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

свернуть все

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

См. также

| | | |

Представлен в R2011a