exponenta event banner

довесок

Взвешивающая функция с монотонным профилем усиления

Описание

makeweight является удобным способом определения форм петель, профилей целевого усиления или функций взвешивания для таких приложений, как синтез контроллера и настройка системы управления.

пример

W = makeweight(dcgain,[freq,mag],hfgain) создает вес W (ы) первого порядка непрерывного времени, удовлетворяющий этим ограничениям:

W (0) = dcgainW (Inf) = hfgain 'W (j⋅freq) | = mag.

Другими словами, выигрыш W проходит через mag на конечной частоте freq.

пример

W = makeweight(dcgain,[freq,mag],hfgain,Ts) создает дискретный временной вес W (z) первого порядка, удовлетворяющий этим ограничениям:

W (1) = dcgainW (− 1) = hfgain 'W (ej⋅freq⋅Ts) | = mag.

Другими словами, выигрыш W проходит через mag на частоте freq. Частота freq должно удовлетворять 0 < freq < π/Ts.

пример

W = makeweight(dcgain,[freq,mag],hfgain,Ts,N) использует NПередаточная функция с полюсами и нулями в шаблоне Баттерворта для соответствия ограничениям. Чем выше порядок Nчем круче переход от низкого к высокому коэффициенту усиления. Для создания непрерывной функции взвешивания более высокого порядка используйте Ts = 0.

пример

W = makeweight(dcgain,wc,hfgain,___) задает частоту пересечения коэффициентов усиления wc. Этот синтаксис эквивалентен параметру [freq,mag] кому [wc,1]. Этот синтаксис можно использовать с любой из предыдущих комбинаций входных аргументов для создания функции взвешивания непрерывного времени, дискретного времени или Butterworth.

Примеры

свернуть все

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

Например, создать взвешивающую функцию с коэффициентом усиления 40 дБ на низкой частоте, откатывающуюся до -20 дБ на высокой частоте. Укажите далее, что коэффициент усиления составляет около 10 дБ при 1 рад/с, поместив эти значения в вектор [freq,mag]. Укажите все коэффициенты усиления в абсолютных единицах.

Wl = makeweight(100,[1,3.16],0.1);

Создание весовой функции с коэффициентом усиления -10 дБ на низкой частоте, увеличивающейся до 40 дБ на высокой частоте. Задайте частоту пересечения 0 дБ 10 рад/с. Чтобы задать частоту пересечения 0 дБ, вместо вектора можно использовать частоту пересечения в качестве второго входного аргумента [freq,mag].

Wh = makeweight(0.316,10,100);

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

bodemag(Wl,Wh)
legend
grid on

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Wl, Wh.

Создайте профиль усиления, который скатывается с высокой частотой без сглаживания. Задайте коэффициент усиления 40 дБ на низкой частоте и частоту пересечения 10 рад/с.

W = makeweight(100,[10 1],0);

Задание высокочастотного усиления, равного 0, гарантирует, что частотная характеристика скатится на высоких частотах без выравнивания.

bodemag(W)
grid on

Figure contains an axes. The axes contains an object of type line. This object represents W.

Создание функций взвешивания дискретного времени путем задания низкочастотного усиления, высокочастотного усиления, величины усиления на некоторой промежуточной частоте и времени выборки.

Создайте весовую функцию со временем выборки 0,1 с. Задайте коэффициент усиления 40 дБ на низкой частоте, откатившись до -20 дБ на высокой частоте. Укажите далее, что коэффициент усиления составляет около 10 дБ при 0,01 рад/с. Обеспечьте все выигрыши в абсолютных единицах.

Wl = makeweight(100,[0.01,3.16],0.1,0.1);

Создание весовой функции с коэффициентом усиления -10 дБ на низкой частоте, увеличивающейся до 40 дБ на высокой частоте. Задайте частоту пересечения 0 дБ 2 рад/с и время выборки 0,1 с. Чтобы задать частоту пересечения 0 дБ, можно использовать частоту пересечения в качестве второго входного аргумента вместо вектора [freq,mag].

Wh = makeweight(0.316,2,100,0.1);

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

bodemag(Wl,Wh)
grid on

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Wl, Wh.

Высокочастотное нивелирование Wh искажается из-за близости его частоты кроссовера к частоте Найквиста.

По умолчанию makeweight создает функции взвешивания первого порядка. Если требуется более резкий переход между низкочастотным и высокочастотным усилениями, можно указать порядок с последним входным аргументом. Например, предположим, что вы хотите создать взвешивающую функцию с временем выборки 0,1. Функция имеет коэффициент усиления -10 дБ на низкой частоте, поднимаясь до 40 дБ на высокой частоте. Кроме того, коэффициент усиления проходит через 6 дБ со скоростью 1 рад/с. Для сравнения создайте функцию третьего и первого порядка с этими спецификациями.

W3 = makeweight(0.316,[1 2],100,0.1,3);
W1 = makeweight(0.316,[1 2],100,0.1);
bodemag(W3,W1)
legend('location','northwest')
grid on

Figure contains an axes. The axes contains 2 objects of type line. These objects represent W3, W1.

Для функции первого порядка высокочастотное нивелирование искажается из-за близости его частоты перехода к частоте Найквиста. Использование более резкого перехода более высокого порядка гарантирует, что функция выровнена до достижения частоты Найквиста.

Для создания функций непрерывного взвешивания более высокого порядка установите Ts = 0. Например, создайте функции взвешивания непрерывного времени с теми же характеристиками усиления, что и W1 и W3.

W3c = makeweight(0.316,[1 2],100,0,3);
W1c = makeweight(0.316,[1 2],100);
bodemag(W3c,W1c)
legend('location','northwest')
grid on

Figure contains an axes. The axes contains 2 objects of type line. These objects represent W3c, W1c.

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

свернуть все

Низкочастотное усиление весовой функции, определяемое как действительное скалярное значение. Выражайте усиление в абсолютных единицах. Например, чтобы задать низкочастотный коэффициент усиления 20 дБ, установите dcgain = 10.

Низкочастотное усиление, высокочастотное усиление и величина должны удовлетворять:

  • |dcgain| > mag > |hfgain| для низкочастотного веса

  • |dcgain| < mag < |hfgain| для высокопроходного веса

Целевая величина и соответствующая частота, заданная как двухэлементный вектор. Вы указываете, где коэффициент усиления W переходы между низкочастотными и высокочастотными значениями путем задания целевой величины на определенной частоте. Например, если задать [freq,mag] = [10,0.1], то величина W проходит через 0,1 (-10 дБ) при частоте 10 рад/с. Аналогично, настройка [freq,mag] = [5,1] задает частоту пересечения 0 дБ (единичный коэффициент усиления), равную 5 рад/с.

Низкочастотное усиление, высокочастотное усиление и величина должны удовлетворять:

  • |dcgain| > mag > |hfgain| для низкочастотного веса

  • |dcgain| < mag < |hfgain| для высокопроходного веса

Высокочастотное усиление весовой функции, определяемое как действительное скалярное значение. Выражайте усиление в абсолютных единицах. Например, чтобы задать высокочастотный коэффициент усиления -20 дБ, установите dcgain = 0.1.

Низкочастотное усиление, высокочастотное усиление и величина должны удовлетворять:

  • |dcgain| > mag > |hfgain| для низкочастотного веса

  • |dcgain| < mag < |hfgain| для высокопроходного веса

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

Настройка Ts = 0 создает взвешивающую функцию непрерывного времени. Это значение полезно, когда требуется создать функции непрерывного переноса времени более высокого порядка с помощью N входной аргумент. Пример см. в разделе Функции взвешивания более высокого порядка.

Порядок взвешивающей функции, определяемый как положительное целое число. makeweight использует NПередаточная функция th-го порядка с полюсами и нулями в шаблоне Баттерворта для соответствия заданным ограничениям усиления. Чем выше порядок Nчем круче переход от низкого к высокому коэффициенту усиления.

Частота пересечения весовой функции в радианах/с, заданная как положительное скалярное значение. Использование входного аргумента wc эквивалентно использованию [freq,mag] = [wc,1].

Для функций взвешивания дискретного времени частота пересечения должна удовлетворять wc*Ts < π.

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

свернуть все

Взвешивающая функция, возвращаемая как state-space (ss) модель. Для функций взвешивания непрерывного времени ответ W удовлетворяет следующим требованиям:

W (0) = dcgainW (Inf) = hfgain 'W (j⋅freq) | = mag.

Для функций взвешивания дискретного времени отклик W удовлетворяет следующим требованиям:

W (1) = dcgainW (− 1) = hfgain 'W (ej⋅freq⋅Ts) | = mag.

Представлен до R2006a