© К.Ю. Поляков, 2009
SεX (s) = (C −1)(C* −1) SX .
Здесь и далее для сокращения записи у функций переменной s опущен аргумент, а звездочка (верхний индекс) обозначает замену s на − s . Если же нет полезного сигнала, спектральная плотность ошибки вычисляется по формуле
SεN (s) = C C*SN .
Когда действуют оба сигнала, но они статистически независимы, спектральная плотность ошибки равна сумме приведенных выше «отдельных» спектров:
Sε (s) = SεX + SεN = (C −1)(C* −1)SX +CC*SN . |
(12) |
Можно сгруппировать слагаемые немного по-другому
Sε (s) = CC* (SX + SN ) −CSX −C*SX + SX .
Выражение SXN (s) = SX + SN – это спектральная плотность смеси сигнала и шума. Поэтому можно построить соответствующий формирующий фильтр Ψ(s) , все нули и полюса которого находятся в левой полуплоскости:
SX + SN = Ψ(s)Ψ(−s) . |
(13) |
Эта операция называется спектральной факторизацией. Тогда выражение для спектра ошибки можно записать в виде
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S |
X |
|
S |
X |
|
|
|
|
|
|
|
S |
(s) = CC*ΨΨ* −CS |
X |
−C*S |
X |
+ S |
X |
= СΨ − |
|
С*Ψ* − |
|
|
+ S |
, |
(14) |
|||||||||
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
ε |
|
|
|
|
|
|
|
|
|
|
Ψ* |
Ψ |
0 |
|
|
|||||||
где S |
(s) = S |
X |
− |
SX SX |
= S |
X |
− |
SX SX |
= |
SX SN |
. Заметим, что |
|
|
|
|
|
|
|
||||||||
|
SX + SN |
SX + SN |
|
|
|
|
|
|
|
|||||||||||||||||
0 |
|
|
ΨΨ* |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
1)S0 (s) не зависит от выбора фильтра;
2)S0 (s) можно рассматривать как некоторую спектральную плотность, поэтому она всегда неотрицательна на мнимой оси, где проводится интегрирование (при s = jω );
3)выражение Z (s)Z (−s) тоже всегда неотрицательно на мнимой оси, поскольку при подстановке s = jω представляет собой квадрат амплитудной частотной характеристики; в на-
шем случае Z (s) = CΨ − ΨSX* .
Таким образом, спектральная плотность ошибки (14) – это сумма двух неотрицательных величин, одна из которых не зависит от выбора фильтра. Поэтому лучшее возможное решение – выбрать фильтр из условия Z (s) = 0 , то есть
C(s) = |
SX |
= |
SX |
. |
(15) |
ΨΨ* |
|
||||
|
|
SX + SN |
|
||
Обычно полезный сигнал – низкочастотный, а помеха – высокочастотная. Их этой формулы следует, что на тех частотах, где SX (ω) >> SN (ω) (сигнал значительно мощнее помехи), усиле-
ние фильтра близко к единице (помеху можно не учитывать). В то же время частоты, где SN (ω) >> SX (ω) (помеха мощнее сигнала) подавляются, так как коэффициент усиления фильтра
(15) стремится к нулю.
Заметим, что передаточная функция фильтра (15) содержит полюса как слева, так и справа от мнимой оси. Импульсная характеристика такого фильтра не будет равна нулю при t < 0 , то есть, фильтр должен использовать будущие значения входного сигнала. Поэтому при обработке
41
© К.Ю. Поляков, 2009
в реальном времени его невозможно реализовать практически. Такой фильтр называют опти-
мальным физически нереализуемым фильтром. Он имеет «право на жизнь» только тогда, когда обрабатывается предварительно записанный сигнал, и для каждого момента времени известны все его прошлые и будущие значения.
В прикладных задачах чаще всего требуется построить оптимальный физически реализуемый фильтр, передаточная функция которого содержит полюса только в левой полуплоскости. При этом мы сужаем множество допустимых решений, поэтому такой фильтр заведомо будет работать не лучше, чем фильтр (15).
Доказано13, что оптимальным будет фильтр, при котором произведение CΨ равно устой-
чивой части |
SX |
, обозначаемой как |
|
SX |
|
. Это значит, что нужно выполнить сепарацию (рас- |
|
|
|||||||
* |
|||||||
* |
|||||||
|
Ψ |
Ψ |
+ |
||||
щепление) этой функции на два слагаемых, устойчивое (с полюсами только в левой полуплоскости) и неустойчивое (все полюса – в правой полуплоскости):
|
|
|
|
S |
X |
S |
X |
|
|
|
|
|
S |
X |
|
. |
(16) |
||||||
|
|
|
|
|
= |
|
|
|
+ |
|
|
|
|||||||||||
|
|
|
|
|
* |
|
* |
|
|
|
* |
||||||||||||
|
|
|
|
Ψ |
Ψ |
+ |
|
|
|
|
Ψ |
|
− |
|
|||||||||
Неустойчивая часть |
SX |
|
должна быть строго правильной функцией (степень ее числителя |
||||||||||||||||||||
* |
|||||||||||||||||||||||
Ψ |
− |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
меньше степени знаменателя). Условие CΨ = |
S |
X |
|
|
дает |
|
|
||||||||||||||||
|
|
|
|
|
|
||||||||||||||||||
|
* |
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
Ψ |
|
|
+ |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
C(s) = |
1 |
|
S |
X |
|
. |
|
(17) |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
Ψ |
|
|
* |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
Ψ + |
|
|
|
||||||||||
Эта формула определяет оптимальный физически реализуемый фильтр Винера.
Для вычисления дисперсии ошибки нужно для полученной функции C(s) найти спектральную плотность (12) и вычислить интеграл (11). В среде MATLAB существует и другой способ: факторизовать полученную спектральную плотность ошибки
Sε (s) = Fε (s) Fε (−s) ,
а затем вычислить (с помощью функции norm) норму устойчивой передаточной функции Fε (s) . Эта норма представляет собой СКВО выхода системы при действии на ее вход единич-
ного белого шума, то есть, Dε .
Пусть, например, спектральная плотность полезного сигнала имеет вид SX (ω) = ω21+1 , а
помеха – белый шум с интенсивностью 1, то есть, SN (ω) =1 . Переходя к переменной s = jω , находим оптимальный физически нереализуемый фильтр (15):
C(s) = |
S |
X |
= |
1 |
|
|
−s2 +1 |
= |
1 |
. |
|
SX + SN |
−s2 +1 |
− s2 + 2 |
− s2 + 2 |
||||||||
|
|
|
|
|
|||||||
Соответствующая ему дисперсия ошибки равна
|
1 |
∞ S S |
|
1 |
∞ 1 |
|||
D0 = |
|
∫0 |
X N |
dω = |
|
∫0 |
|
dω = 0,354 . |
π |
SX + SN |
π |
ω2 + 2 |
|||||
Теперь построим физически реализуемый фильтр. Выполняем факторизацию (13)
13 Это решение предложили Х. Боде и К. Шеннон.
42
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
© К.Ю. Поляков, 2009 |
|
|
S |
X |
+ S |
N |
= |
−s2 |
+2 |
= ΨΨ |
* |
Ψ(s) = |
s + |
|
2 |
, |
|
||||||||||
|
|
− s2 |
+1 |
|
|
s +1 |
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
а затем сепарацию (16) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SX |
= |
|
1 |
|
|
|
− s +1 = |
|
|
|
1 |
|
|
2) |
= |
s |
k |
1 |
+ |
|
k |
, |
||||
Ψ* |
|
− s2 +1 |
|
− s + |
2 |
(s +1)(−s + |
|
+ |
|
− s + |
2 |
|||||||||||||||
где k = 2 −1. По формуле (17) находим оптимальный фильтр: |
|
|
|
|
|
|||||||||||||||||||||
|
|
|
C(s) |
= |
|
1 |
S |
|
= |
s +1 |
|
|
k |
= |
|
k |
|
|
. |
|
|
|||||
|
|
|
|
|
|
|
X* |
s + |
|
2 |
s +1 |
s + 2 |
|
|
||||||||||||
|
|
|
|
|
|
|
Ψ |
Ψ + |
|
|
|
|
|
|
|
|||||||||||
Подставляя эту функцию в формулу для спектра ошибки (12), после сокращений получаем
Sε (s) = |
2(2 − 2) |
(s + 2)(−s + 2) . |
Вычисление дисперсии ошибки дает Dε = 0,414 > D0 . Видим, что в данном случае проигрыш по
сравнению с оптимальным физически нереализуемым фильтром небольшой. Это связано с тем, что мощность помехи значительна в сравнении с мощностью сигнала, поэтому эффективность того и другого фильтров невысока.
При очень больших помехах усиление оптимального фильтра будет уменьшаться (вплоть до нуля). Это значит, что сигнал выделить практически невозможно и фильтр просто «давит» помеху.
5.2.3.Функционал общего вида
Вэтом пункте мы рассмотри задачу оптимизации в более общей форме для того, чтобы далее использовать полученные результаты для других аналогичных по сути задач.
Ввыражении (12) можно выделить неизвестную передаточную функцию C(s) и «все остальное», записав его в общем виде:
X (s) = ACC* − BC − B*C* + E , |
(18) |
где, B(s) и E(s) – некоторые функции, причем A(s) = A(−s) и E(s) = E(−s) . Требуется найти устойчивую передаточную функцию C(s) , которая обеспечивает минимум функционала
j∞
I = 1 ∫X (s) ds . (19)
2πj − j∞
Функция A(s) представляет собой некоторый спектр, для которого можно выполнить спектральную факторизацию, аналогичную (13):
A(s) = ΨΨ* , |
(20) |
где у функцииΨ(s) все нули (корни числителя) и полюса (корни знаменателя) имеют отрицательные вещественные части. Тогда выражение для спектра ошибки можно представить в виде
|
|
|
|
X (s) = ΨΨ*CC* − BC − B*C* + E = ZZ* + E , |
|||
|
|
|
|
|
|
0 |
|
где |
Z (s) = CΨ − |
B* |
и E |
(s) = E − |
BB |
. Заметим, что E не зависит от выбора фильтра, а выра- |
|
Ψ* |
A |
||||||
|
|
0 |
|
0 |
|||
жение ZZ * неотрицательно на мнимой оси (квадрат амплитудной частотной характеристики). Поэтому лучшее, что можно сделать – обеспечить Z (s) = 0 , что дает оптимальный физически
нереализуемый фильтр
43
© К.Ю. Поляков, 2009
C(s) = B* = B* .
ΨΨ* A
Для построения оптимального физически реализуемого фильтра выполним сепарацию
B |
* |
|
B |
* |
|
B |
* |
, |
||
|
= |
|
|
+ |
|
|
||||
Ψ |
* |
|
* |
|
* |
|||||
|
|
Ψ + |
|
Ψ − |
|
|||||
где первое слагаемое соответствует всем устойчивым полюсам, а второе – строго правильная функция – всем неустойчивым. Оптимальный фильтр вычисляется по формуле
C(s) = 1 B* . Ψ Ψ* +
5.3. Оптимальное управление в замкнутых системах
Расчет оптимального регулятора для замкнутых систем (систем управления с обратной связью) выполняется почти так же, как и синтез оптимальных фильтров. Однако нужно учитывать две особенности:
1)регулятор должен обеспечивать устойчивость замкнутой системы (в задаче фильтрации обычно требуется устойчивость самого фильтра);
2)уменьшение дисперсии ошибки, как правило, достигается за счет увеличения мощности управления, которая ограничена в реальных задачах; например, угол перекладки руля судна не может быть больше 30-35°.
Рассмотрим систему стабилизации судна на курсе в условиях морского волнения.
|
|
|
|
|
ξ |
|
Fw (s) |
w |
|
||
|
y |
регулятор |
привод |
|
|
|
ϕ |
||||
|
|
|
|
||||||||
|
|
|
|
|
|
||||||
заданный ϕ0 + |
|
|
u |
|
δ |
|
|
ωz |
1 |
||
|
C(s) |
H (s) |
P1 |
(s) |
|
||||||
курс |
|
|
|
|
|
s |
|
||||
– |
|
|
|
|
|
|
|
|
|
|
|
ϕˆ |
|
|
|
датчик |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
G(s) |
|
|
|
|
|
|
m
Модель судна (обведена штриховой линией) состоит из двух блоков с передаточными функциями P1(s) и P2 (s) =1/ s (интегрирующее звено). Истинный курс ϕ измеряется датчиком с пе-
редаточной функцией G(s) . Для компенсации измеренной ошибки y =ϕ0 −ϕˆ регулятор C(s) выдает на привод (с передаточной функцией H (s) ) управляющий сигнал u , который преобра-
зуется в угол поворота руля δ . Заметим, что сама ошибка не измеряется, вместо нее регулятор получает сигнал y , который можно назвать оценкой ошибки.
На систему действуют два случайных сигнала: возмущение w , вызванное морским волнением и имеющее спектральную плотность Sw (ω) , и шум измерений m . Для моделирования
возмущения используется формирующий фильтр Fw (s) (такой, что Sw (ω) = Fw (s) Fw (−s) ), на вход которого поступает единичный белый шум ξ . Далее мы будем считать, что ϕ0 = 0 и все случайные сигналы – центрированные.
44
© К.Ю. Поляков, 2009
Какова же цель управления? Очевидно, что нужно сделать минимальной дисперсию Dε ошибки ε =ϕ −ϕ0 =ϕ (при ϕ0 = 0 ). Это может быть обеспечено только с помощью управления,
то есть, за счет увеличения активности руля. В то же время, постоянные «дергания» руля крайне нежелательны, поэтому нужно ограничить дисперсию Du (мощность) сигнала управления u .
Обычно в таких случаях для решения задачи оптимизации составляют единый критерий
I = D + k 2 D → min . |
(21) |
|
ε |
u u |
|
где ku2 – неотрицательный весовой коэффициент. Задача состоит в том, чтобы выбрать передаточную функцию регулятора C(s) , обеспечивающую минимум критерия (21).
Величина ku2 позволяет ограничить сигнал управления. Если этого не делать, то есть принять ku2 = 0 , мощность управления в оптимальной системе практически всегда будет неограниченно расти, что неприемлемо.
Вычисление дисперсий ошибки и управления выполним через их спектральные плотности. Чтобы упростить выводы, пока не будем учитывать шум измерений. Тогда
|
I = |
1 |
j∫∞(Wϕ Wϕ* + ku2 Wu Wu* )ds , |
|
|
|||||||||
|
|
|
|
|||||||||||
|
|
2πj − j∞ |
|
|
|
|
|
|
|
|
|
|||
где Wϕ (s) и Wu (s) – передаточные функции от входа ξ |
(белого шума) к углу рыскания ϕ и |
|||||||||||||
сигналу управления u . Используя правила преобразования структурных схем, находим |
||||||||||||||
|
C |
|
|
|
|
|
|
|
|
C |
|
|
||
Wϕ (s) = P2 Fw − |
|
PHGP2 Fw , |
Wu (s) = − |
|
GP2 Fw . |
|||||||||
1+CHPG |
1 +CHPG |
|||||||||||||
где P(s) = P1(s) P2 (s) . Здесь от выбора регулятора C(s) зависит только функция |
||||||||||||||
|
|
|
~ |
|
|
C |
|
|
|
|
|
|
|
|
|
|
|
|
C(s) = |
|
, |
|
|
|
|
(22) |
|||
|
|
|
|
1 +CHPG |
|
|
|
|
||||||
поэтому спектральные плотности угла рыскания и управления можно вычислить как |
||||||||||||||
Sϕ (s) = (1 − PHGC )(1 − P |
H G C |
)P2 P2 FwFw , |
Su (s) = CC GG |
P2 P2 |
FwFw . |
|||||||||
~ |
* |
* * ~* |
|
* |
* |
|
~ ~* * |
* |
* |
|||||
После простых преобразований, критерий качества (21) можно записать в виде (19), где
~ ~* |
~ |
* ~* |
+ E . |
X (s) = ACC |
− BC |
− B C |
Это значит, что подынтегральное выражение имеет вид (18), где вместо C(s)
(23)
~
фигурирует C(s) ,
а функции A(s) , B(s) и E(s) известны (конечно, они отличаются от тех, что были в задаче
фильтрации). При этом сразу возникает вопрос: нельзя ли использовать здесь тот же способ оптимизации, который применяется для построения фильтра Винера?
~
Несложно показать, что C(s) – это в самом деле передаточная функция замкнутой системы от y к u , то есть, для устойчивости системы она должна быть устойчива, как и фильтр Ви-
~
нера. Тогда можно было бы сначала найти оптимальную устойчивую функцию C(s) как оптимальный фильтр Винера, а затем выразить передаточную функцию регулятора C(s) из (22).
Однако такой метод «проходит» только тогда, когда сам объект устойчив. В общем случае (если объект может быть неустойчивым) приходится использовать различные «хитрости», чтобы свести задачу оптимизации замкнутой системы к задаче Винера и при этом гарантировать устойчивость системы. По существу, сначала строится вспомогательный регулятор, который стабилизирует объект, а затем используется методика синтеза оптимального фильтра Винера.
45