Вы находитесь на странице: 1из 257

Дискретные системы автоматического управления

Андрей Масленников

Москва, 2019
Темы лекций
1. Дискретные системы.
1.1. Математические основы дискретных систем.
1.2. Дискретные системы.
1.3. Н-Д и Д-Н преобразования.
2. Математическое описание дискретных систем.
2.1. Решетчатые функции и разностные уравнения.
2.2. Математическое описание дискретных систем.
2.3. Математическое описание систем с дискретизацией данных.
3. Анализ и синтез дискретных систем.
3.1. Анализ дискретных систем.
3.2. Синтез дискретных систем.
4. Оценка вектора состояния в дискретных системах.
4.1. Задача оценки вектора состояния.
4.2. Наблюдатели Люенбергера.
4.3. Оптимальные наблюдатели (Фильтры Калмана).
1 / 256
Дискретные системы
Сигналы
Аналоговый сигнал
Изменение физической величины (например, напряжения).
Непрерывный сигнал
Представление аналогового сигнала как непрерывной функции, име-
ющей непрерывное множество возможных значений.
Цифровой сигнал
Последовательность цифровых значений в вычислителе.
Импульсный сигнал
Аналоговый сигнал являющийся последовательностью импульсов.
Дискретный сигнал
Представление цифрового и импульсного сигналов, как дискретной
функции, имеющей дискретное множество возможных значений.

3 / 256
Сигналы
Аналоговый и цифровой сигналы

4 / 256
Сигналы
Математическая модель цифрового сигнала
“Математическая” дискретизация:
s(k T) = s(0) δ(t) + s(T) δ(t − T) + . . . + s(nT) δ(t − nT)
X n X n
= s(kT) δ(t − kT) = s[k] δ(t − kT)
k=0 k=0

где:
T - период дискретизации [с];
δ(t − kT) - дельта-функция Дирака со сдвигом на kT;
fd = 1/T - частота дискретизации [Гц].

“Математическая” дискретизация - некорректный термин, его суть в


математической имитации процесса физической дискретизации сигнала

5 / 256
Дискретное преобразование Лапласа

Дискретное преобразование Лапласа (сформулировано Цыпкиным)


Преобразование Лапласа от импульсной функции следующего вида:

X
x(kT) = x(kT) δ(t − kT)
k=0

и определяется как:
Z∞ ∞
X
−sT
x(s) = e x(kT) δ(t − kT) dt
0 k=0


X Z∞ ∞
X
−sT
= x(kT) e δ(t − kT) dt = x(kT) e −skT
k=0 0 k=0

6 / 256
Z-преобразование

Z-преобразование (сформулировано Джури)


Дискретное преобразование Лапласа с заменой e sT на z.

Одностороннее Z-преобразование:
  X∞
x(z) = Ld x(kT) = x[k] z−k

z = e sT

k=0

Двустороннее Z-преобразование:
  X∞
x(z) = Ld x(kT) = x[k] z−k

z = e sT

k=−∞

zk означает задержку (k < 0) или опережение (k > 0) на k тактов

7 / 256
Z-преобразование
Определение
Z-преобразование
Свёртывание исходного сигнала, заданного последовательностью ве-
щественных чисел во временной области, в аналитическую функцию
комплексной частоты.

Одностороннее Z-преобразование:
  ∞
X
x(z) = Z x[k] = x[k] z−k
k=0

Двустороннее Z-преобразование:
  ∞
X
x(z) = Z x[k] = x[k] z−k
k=−∞

8 / 256
Z-преобразование
Обратное Z-преобразование
Обратное Z-преобразование:
  I
−1 1
x[k] = Z x(z) = x(z)z−1 dz
2π
C

где:
C - контур охватывающий область сходимости x(z).

Эквивалентно, при z = r e  ϕ :
π
k Z
 
r
x[k] = Z −1 x(z) = x r e  ϕ e  ϕ k dϕ


−π

9 / 256
Z-преобразование
Свойства Z-преобразования
• линейность:     
Z α x[k] + β y[k] = α Z x[k] + β Z y[k]

• Z-преобразование функции со сдвигом по времени:


   
−m
Z x[k − m] = z Z x[k]

• Z-преобразование свертки двух функций:


     
Z x[k] ∗ y[k] = Z x[k] Z y[k]

• Z-преобразование разности первого порядка:


   
−1

Z x[k] − x[k − 1] = 1 − z Z x[k]

10 / 256
Z-преобразование
Свойства Z-преобразования
• Теорема о начальном значении:
x[0] = lim x(z)
z−→∞

Только для реализуемых систем


• Теорема о конечном значении:
x[∞] = lim (z − 1) x(z)
z−→1

Если все корни (z − 1) x(z) внутри круга единичного радиуса

11 / 256
Z-преобразование
Сходимость Z-преобразования
Круг сходимости
Область точек комплексной плоскости для которых Z-преобразование,
как степенной ряд, сходится, т.е.:
(

)
X
D= Z: x[k] z−k < ∞ , z ∈ C


k=−∞


X
Другими словами, круг сходимости степенного ряда x[k] (z − zk0 )
k=0
это круг вида:
n o
D= Z : z − z0 < R , z∈C


в котором степенной ряд абсолютно сходится (при z − z0 < R), а

вне его (при z − z0 > R) расходится.

12 / 256
Z-преобразование
Пример. Сходимость Z-преобразования
Пример #1.
x[k] = 0.5k
. . . , 0.5−3 , 0.5−2 , 0.5−1 , 1.0, 0.51 , 0.52 , 0.53 , . . .

x[k] =
x(z) −→ ∞

Пример #2.
x[k] = 0.5k 1(t)
. . . , 0.0, 0.0, 0.0, 1.0, 0.51 , 0.52 , 0.53 , . . .

x[k] =
∞ ∞ ∞  k
X
−k
X
k −k
X 0.5 1
x(z) = x[k] z = 0.5 z = =
z 1 − 0.5 z−1
k=0 k=0 k=0

13 / 256
Z-преобразование
Пример. Сходимость Z-преобразования
Пример #2. Продолжение.
∞ ∞ ∞  k
X
−k
X
k −k
X 0.5 1
x(z) = x[k] z = 0.5 z = =
z 1 − 0.5 z−1
k=0 k=0 k=0

где последнее равенство получается с использованием свойства бесконеч-


ной геометрической прогрессии:

X a
a rk =
1−r
k=0

Таким образом, сходимость будет обеспечена при |z| > 0.5 или

0.5 z−1 < 1

14 / 256
Минимальный полином
Нормированный полином:
Нормированный полином - это полином, в котором коэффициент ар-
гумента в старшей степени равен единице, т.е.:
p(x) = xn + an−1 xn−1 + . . . + a0

или
p(x) = 1 + a1 x−1 + . . . + an x−n

Характеристический полином матрицы An × n :



p(λ) = det λ In − An × n

Теорема Кэли-Гамильтона
Для An × n всегда найдется аннулирующий полином p(λ) такой, что
p(An × n ) = 0n × n

15 / 256
Минимальный полином
Минимальный полином µA (λ) матрицы An × n
Это аннулирующий полином матрицы An × n наименьшего порядка, у
которого коэффициент при старшей степени равен единице (monic
polynomial).

Свойства минимального полинома:


• аннулирующий полином делится на минимальный без остатка;
• для каждой матрицы An × n минимальный полином единственен;
• собственные значения матрицы An × n - корни µA (λ), т.е.
Y
p(λ) = (x − λi ) = xn + an−1 xn−1 + . . . + a0
i

где
 
λi (An × n ) == λi = sol p(x) = 0

16 / 256
Динамические системы

Непрерывные системы
Непрерывные системы представляют собой объекты или процессы,
происходящие в окружающем нас мире. Математическое описание
непрерывных систем строится на различных видах дифференциаль-
ных уравнений.
Дискретные системы
Системы, в которых изменение состояния объекта или процесса нель-
зя назвать непрерывным (как правило, обязательно присутствует дис-
кретность по времени), являются дискретными. Математическое опи-
сание таких систем основывается на разностных уравнениях.

17 / 256
Дискретные системы

Виды дискретных систем:


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

Три типа элементов дискретных систем:


• дискретные (вход и выход - дискретны);
(в большей степени относится к цифровым системам)
• дискретно-непрерывные (вход - дискретен, выход - непрерывен);
(экстраполятор в импульсных системах, ЦАП в цифровых)
• непрерывно-дискретные (вход - непрерывен, выход - дискретен).
(квантователь в импульсных системах, АЦП в цифровых)

18 / 256
Дискретные системы

Импульсные системы
Системы, в которых присутствует хотя бы один импульсный элемент,
входной и/или выходной сигнал которого представляет собой после-
довательность импульсов, полученных в результате, например, АИМ,
ШИМ, ЧИМ или ФИМ, являются импульсными системами. Информа-
ция заключена в магнитуде импульсов.
Цифровые системы
Системы, в которых информация заключена в числах, хранящихся в
памяти вычислителя, называются цифровыми.
Cистемы с дискретизацией данных (sampled data system)
Системы, в которых управление непрерывным объектом осуществля-
ется через цифровую систему. Оцифровка сигналов осуществляется
аналогово-цифровыми преобразователями, а восстановление непре-
рывного сигнала - цифро-аналоговыми преобразователями.
19 / 256
Дискретные системы
Импульсные системы
Физический характер сигналов
Импульсный сигнал по своей физической природе - аналоговый, но
математически (в контексте ЦОС) является дискретным, т.к. измене-
ние уровня напряжения (амплитуды, как информационного парамет-
ра) не является непрерывным.
Откуда берется дискретность в импульсных системах?
В импульсных системах информация заложена в амплитуде импуль-
сов, а не в форме импульсного сигнала. Как следствие, рассматри-
вать динамику системы можно учитывая только значения амплитуд
импульсов, а не форму всего импульсного сигнала.
Импульсная система
Система, по своей физической сути, является аналоговой, но мате-
матически рассматривается как дискретная.

20 / 256
Виды Н-Д и Д-Н преобразований
В импульсных системах
Квантователь
Электронное устройство, осуществляющее преобразование (кванто-
вание) непрерывного сигнала в дискретный (физический импульсный
сигнал).
Экстраполятор
Электронное устройство, формирующее непрерывный сигнал ступен-
чатого вида, используя только текущее значение дискретного (физи-
ческого импульсного сигнала) сигнала.

21 / 256
Виды Н-Д и Д-Н преобразований
В цифровых системах
Аналого-цифровой преобразователь
Электронное цифровое устройство, осуществляющее преобразова-
ние непрерывного сигнала в дискретный (цифровой). В общем слу-
чае, АЦП могут работать как по принципу квантования по уровню, так
и по принципу квантования по времени и по уровню (дискретизация).
Выходом АЦП в конкретный момент времени является цифровое зна-
чение, соответствующее уровню непрерывного сигнала в этот момент
времени.
Цифро-аналоговый преобразователь
Электронное цифровое устройство, осуществляющее преобразова-
ние дискретного (цифрового) сигнала в непрерывный. Выходом ЦАП,
как правило, является непрерывный сигнал ступенчатого вида, маг-
нитуда которого на некотором интервале времени соответствует циф-
ровому значению, заданному в начале этого интервала.

22 / 256
Квантование непрерывных сигналов

Квантование
Преобразование непрерывного сигнала в дискретный (импульсный).

Виды квантования:
• квантование по времени;
• квантование по уровню;
• квантование по времени и по уровню.

23 / 256
Квантование непрерывных сигналов
Квантование по времени
Квантование по времени
На выходе квантователя в моменты времени t = kT (кратные T) фор-
мируются импульсы длительностью τ и амплитудной, равной вели-
чине входного непрерывного сигнала в текущий момент времени t.

24 / 256
Квантование непрерывных сигналов
Квантование по уровню
Квантование по уровню
На выходе квантователя формируются импульсы длительностью τ и
соответствующей амплитудой в моменты времени, когда входной сиг-
нал принимает значения кратные шагу квантования по уровню H.

25 / 256
Квантование непрерывных сигналов
Квантование по времени и по уровню
Квантование по времени и по уровню
На выходе квантователя в моменты времени t = kT (кратные T)
формируются импульсы длительностью τ и амплитудой кратной шагу
квантования по уровню H, ближайшей к величине входного сигнала.

26 / 256
Квантование непрерывных сигналов
Нелинейная характеристика квантователя по уровню
Характеристика квантователя по уровню имеет вид:

Ошибка квантования:
δy/2

27 / 256
Восстановление непрерывных сигналов

Восстановление
Преобразование дискретного (импульсного) сигнала в непрерывный.

Основные виды методов восстановления:


• экстраполятор нулевого порядка (Zero-Order Hold);
• экстраполятор первого порядка (First-Order Hold):
• экстраполятор первого порядка;
• экстраполятор первого порядка с запаздыванием;
• экстраполятор первого порядка с прогнозом;
• экспоненциальный экстраполятор;
• экстраполятор второго порядка.

28 / 256
Восстановление непрерывных сигналов
Экстраполятор нулевого порядка
Экстраполятор нулевого порядка (Zero-Order Hold)
Формирует непрерывный сигнал ступенчатого вида, используя только
текущее значение дискретного сигнала.

Импульсная характеристика:
hzoh (t) = 1(t) − 1(t − T)

Передаточная функция:
1 − e −T s
 
Wzoh (s) = L hzoh (t) =
s

29 / 256
Восстановление непрерывных сигналов
Экстраполятор нулевого порядка

30 / 256
Восстановление непрерывных сигналов
Экстраполяторы первого порядка
Экстраполятор первого порядка (First-Order Hold)
Формирует непрерывный сигнал, используя линейную аппроксима-
цию, по двум соседним значениям дискретного сигнала.
Экстраполятор первого порядка с запаздыванием (Delayed FOH)
Восстановление сигнала на интервале [kT , (k + 1)T] осуществляется
по значениям двух точек интервала [(k − 1)T , kT] , т.е. с задержкой.
Экстраполятор первого порядка с прогнозом (Predictive FOH)
Восстановление сигнала на интервале [kT , (k + 1)T] осуществляет-
ся с наклоном кривой на интервале [(k − 1)T , kT], что приводит к
появлению “зубцов”.

31 / 256
Восстановление непрерывных сигналов
Экстраполятор первого порядка
Сигнал на выходе экстраполятора:
t − kT  
y(t) = y(kT) + y (k + 1)T
T
Импульсная характеристика:
 
1 1− t , t < T

hfoh (t) = T T
0, в др. случаях

32 / 256
Восстановление непрерывных сигналов
Экстраполятор первого порядка

33 / 256
Восстановление непрерывных сигналов
Экстраполятор первого порядка с запаздыванием
Сигнал на выходе экстраполятора:
  t − kT h    i
y(t) = y (k − 1)T + y (k − 1)T − y (k − 2)T
T
Импульсная характеристика:
  
 1 1 − |t − T| , |t − T| < T

hfoh (t) = T T

0 , в др. случаях

34 / 256
Восстановление непрерывных сигналов
Экстраполятор первого порядка с запаздыванием

35 / 256
Восстановление непрерывных сигналов
Экстраполятор первого порядка с прогнозом
Сигнал на выходе экстраполятора:
t − kT h  i
y(t) = y(kT) + y(kT) − y (k − 1)T
T
Импульсная характеристика:
  
1 t
1+ , 06t<T



T  T


hfoh (t) = 1 1 − t
, T 6 t < 2T



 T T

0 , в др. случаях

36 / 256
Восстановление непрерывных сигналов
Экстраполятор первого порядка с прогнозом
Таблица для построения графика:
t, c y[k − 1] y[k] y[k] − y[k − 1] ŷ[k + 1]
0.00 . . . 0.25 – 0.2500 0.0 0.2500
0.25 . . . 0.50 0.2500 0.9571 0.7071 1.6642
0.50 . . . 0.75 0.9571 1.2500 0.2929 1.5429
0.75 . . . 1.00 0.2500 0.9571 -0.2929 0.6642
1.00 . . . 1.25 0.9571 0.2500 -0.7071 -0.4571
1.25 . . . 1.50 0.2500 -0.4571 -0.7071 -1.1642
1.50 . . . 1.75 -0.4571 -0.7500 -0.2929 -1.0429
1.75 . . . 2.00 -0.7500 -0.4571 0.2929 -0.1642
2.00 . . . 2.25 -0.4571 0.2500 0.7071 0.9571

37 / 256
Восстановление непрерывных сигналов
Экстраполятор первого порядка с прогнозом

38 / 256
Восстановление непрерывных сигналов
Импульсные характеристики h(t) экстраполяторов первого порядка

Экстраполятор первого порядка (базовый) физически не реализуем в


динамических системах

39 / 256
Восстановление непрерывных сигналов
Математическая модель импульса
При τ → 0 импульс аппроксимируется дельта-функцией Дирака:


u(t) = u(t) δ(t − kT)

t = kT

Дельта-функция Дирака физически не реализуема, однако очень удобна


для математического описания дискретного сигнала.
а весь дискретный сигнал представляется как сумма:
X∞
u(kT) = u(t) δ(t − kT)
k=0

Для этого необходимо, чтобы τ  T и τ  τmin ,


где τmin минимальная постоянная времени последующей системы W(s).

40 / 256
Восстановление непрерывных сигналов
Математическая модель импульса
Представим квантователь:
<тут должна быть картинка>

в следующем виде:
<тут должна быть картинка>

В данном случае квантование по времени описывается идеальной дельта-


функцией Дирака, а формирующее устройство Wf (s) “расширяет” идеаль-
ный импульс до длительности τ .

41 / 256
Восстановление непрерывных сигналов
Математическая модель импульса
Импульсная характеристика формирующего устройства:
hf (t) = 1(t) − 1(t − τ )

<тут должна быть картинка>

Передаточная функция формирующего устройства:


1 1 −τ s 1 − e −τ s
 
Wf (s) = L hf (t) = − e =
s s s

42 / 256
Аналого-цифровые преобразователи

Аналого-цифровой преобразователь
Электронное цифровое устройство, осуществляющее преобразова-
ние непрерывного сигнала в дискретный (цифровой), как правило в
двоичный код.

Основные характеристики:
• диапазон входных значений;
• частота дискретизации;
• разрядность двоичного АЦП;
• разрешение двоичного АЦП;
• ошибка квантования;
• шум квантования;
• апертурная погрешность (джиттер).

43 / 256
Аналого-цифровые преобразователи
Характеристики АЦП
Диапазон входных значений
Диапазон допустимых значений напряжения поступающих на вход
АЦП. Зачастую, перед АЦП устанавливается усилитель мощности.
Частота дискретизации АЦП
Частота выдаваемых АЦП цифровых значений.
Разрядность двоичного АЦП
Количество разрядов n формируемого двоичного кода, что опреде-
ляется количеством уровней квантования N цифрового сигнала. Со-
ответственно бывают 8-битные АЦП, 16-битные АЦП и т.д.

Влияние величины разрядности:


• чем больше разрядность тем меньше частота дискретизации;
• чем больше разрядность тем выше точность.

44 / 256
Аналого-цифровые преобразователи
Характеристики АЦП
Младший (LSB) / Старший (MSB) бит
MSB LSB
8 7 6 5 4 3 2 1
27 26 25 24 23 22 21 20

Разрешение двоичного АЦП


Величина входного напряжения, которая соответствует одному уров-
ню квантования. Другими словами, это физическая величина, которая
соответствует значению младшего (LSB) бита числа.
Umax − Umin
Q=
2n

45 / 256
Аналого-цифровые преобразователи
Характеристики АЦП
Ошибка квантования
Аналогично ошибке квантования в импульсных системах, ошибка кван-
тования в цифровых системах определяется как половина интервала
входного напряжения между двумя соседними уровнями квантования,
т.е. Q/2, хотя для дискретных системы термин ошибка квантования
имеет более широкое значение.
Шум квантования
Может трактоваться как “практическая” ошибка квантования, т.е.
мгновенное значение U округляется до соответствующего уровня кван-
тования, а отбрасываемая составляющая носит случайный характер,
поэтому и оценивают шум квантования.
SQNR = 20 log10 2n = 6.02 n [дБ]


46 / 256
Аналого-цифровые преобразователи
Характеристики АЦП
Апертурная погрешность (джиттер)
Ввиду искажения по времени фронта синхро-сигнала (смещение им-
пульса по времени - clock jitter), данные оцифровываются не через
равные промежутки с интервалом T, в то время как мы подразуме-
ваем, что через равные. Например для сигнала:
x(t) = A sin(2π f0 t)

ошибка оцифровки связанная с джиттером:


E 6 x0 (t) ∆ t 6 2π f0 A ∆ t

Очевидно, что при увеличении частоты f0 апертурная погрешность


будет возрастать, следовательно допустимое значение “дрожания”
фронта синхроимпульса определим как:
1
∆t < n
2 π f0
47 / 256
Аналого-цифровые преобразователи
Характеристики АЦП

На примере диапазона входного сигнала ±10 В, f0 = 44.4 кГц


n N Q ∆t
8 256 78.43 мВ 28.2 нс
10 1 024 19.55 мВ 7.05 нс
12 4 096 4.88 мВ 1.76 нс
14 16 384 1.22 мВ 441 пс
16 65 536 305.18 мкВ 110 пс
18 262 144 76.29 мкВ 27.5 пс
20 1 048 576 19.07 мкВ 6.88 пс
22 4 194 304 4.77 мкВ 1.72 пс
24 16 777 216 1.19 мкВ 430 фс
32 4 294 967 296 4.66 нВ 1.68 ас

48 / 256
Аналого-цифровые преобразователи
Классификация
• АЦП импульсно-кодовой модуляции;
• АЦП прямого преобразования (параллельные);
• АЦП последовательного приближения;
(часто применяются на практике)
• интегрирующие АЦП;
• сигма-дельта АЦП.
(часто применяются на практике)

49 / 256
Аналого-цифровые преобразователи
Импульсно-кодовая модуляция
Импульсно-кодовая модуляция (PCM)
Непрерывный сигнал преобразуется в цифровой последовательным
выполнением трех операций:
• квантование по времени;
• квантование по уровню;
• кодирование
(преобразование магнитуды сигнала в набор бит)

Модификации:
• дифференциальная (дельта) ИКМ (DPCM);
(кодируется разница соседних значений сигнала)
• адаптивная ДИКМ (ADPCM).
(переменный шаг квантования)

50 / 256
Аналого-цифровые преобразователи
Импульсно-кодовая модуляция

51 / 256
Аналого-цифровые преобразователи
Компаратор
Компаратор
Электронное устройство сравнения. На выходе компаратора форми-
руется уровень напряжение Uout , соответствующий логическому “0”
или “1” по следующему закону:

 0,
 Uin < Uref
Uout = 1, Uin > Uref

n/a, Uin = Uref

52 / 256
Аналого-цифровые преобразователи
АЦП прямого преобразования (Flash ADC)
АЦП прямого преобразования (параллельные)
Является основой для более сложных схем аналого-цифрового пре-
образования. Механизм работы состоит из нескольких этапов:

• На первом этапе входное напряжение подается на параллель-


но включенные компараторы, пороговое напряжение к которым
подводится различное (падение напряжения на каждом рези-
сторе обеспечивает соответствующие уровни квантования).
• Выходной сигнал компаратора поступает на корректирующий
механизм, который позволяет скорректировать ложное сраба-
тывание компаратора (выбивающееся из показаний соседей).
• На заключительном этапе формируется последовательность бит
полученного цифрового кода.

53 / 256
Аналого-цифровые преобразователи
АЦП прямого преобразования (Flash ADC)

54 / 256
Аналого-цифровые преобразователи
Интегрирующие АЦП
Интегрирующие АЦП
Пилообразный Uref линейно нарастает, в это же время идет счет вре-
мени (счет импульсов) tout . Когда Uref станет равным Uin срабатывает
компаратор, счет импульсов заканчивается, значение на счетчике пе-
редается на выход АЦП.

55 / 256
Аналого-цифровые преобразователи
Интегрирующие АЦП

56 / 256
Аналого-цифровые преобразователи
АЦП последовательного приближения (SAR ADC)
АЦП последовательного приближения
Uin компаратором сравнивается с Uref , изначально Uref соответству-
ет середине диапазона измерений. Выход компаратора запоминается
регистром последовательного приближения (SAR) на позиции соот-
ветствующего бита. Выход SAR поступает на ЦАП, который форми-
рует новое Uref . Этот процесс происходит циклично n раз формируя
все n разрядов выхода АЦП.

57 / 256
Аналого-цифровые преобразователи
АЦП последовательного приближения (SAR ADC)

58 / 256
Аналого-цифровые преобразователи
АЦП последовательного приближения (SAR ADC)

59 / 256
Аналого-цифровые преобразователи
Сигма-дельта АЦП (Sigma-delta ADC или Σ∆ ADC)
Сигма-дельта АЦП
Из входного напряжения вычитается ±Uref , затем полученная раз-
ность попадает на интегратор. По сути, на вход интегратора посту-
пает последовательность импульсов положительной или отрицатель-
ной полярности. Последующим компаратором напряжение на выходе
интегратора сравнивается с нулем, и результат попадает на однобит-
ный ЦАП, который формирует ±Uref для следующего шага. По сути,
сигма-дельта АЦП - следящая система, которая следит за подавае-
мым на вход Uin . Получаемая битовая последовательность попадает
на усредняющий ФНЧ, который снижает частоту следования отсчетов
путем их прореживания (децимация).

60 / 256
Аналого-цифровые преобразователи
Сигма-дельта АЦП первого порядка

61 / 256
Аналого-цифровые преобразователи
Сигма-дельта АЦП первого порядка

62 / 256
Аналого-цифровые преобразователи
Сигма-дельта АЦП второго порядка

63 / 256
Цифро-аналоговые преобразователи

Цифро-аналоговый преобразователь
Электронное устройство, преобразующее цифровой сигнал в непре-
рывный (аналоговый).

Основные виды ЦАП:


• Широтно-импульсный модулятор;
• Дельта-сигма ЦАП (ЦАП передискретизации);
(похож на ШИМ)
• ЦАП взвешенного типа;
• ЦАП лестничного типа (R-2R);

64 / 256
Цифро-аналоговые преобразователи
Дельта-сигма ЦАП

65 / 256
Цифро-аналоговые преобразователи
ЦАП взвешенного типа

66 / 256
Цифро-аналоговые преобразователи
ЦАП лестничного типа

67 / 256
Математическое описание дискретных систем
Математическое описание дискретных систем

Математическое описание дискретных систем может быть:


• в виде разностных уравнений;
(наиболее полная и адекватная модель)
• в виде структурных схем;
(графическая интерпретация)
• в переменных вход–выход;
(только линейные стационарные детерминированные системы)
• в переменных состояния;
(через матрицы A, B, C, D, только линейные системы)

69 / 256
Решетчатые функции

Решетчатая функция
Функция, значения которой определены в моменты времени kT.


f[k] = f(t)

t = kT

70 / 256
Решетчатые функции
Обратная и прямая разности первого и второго порядков
Обратная разность первого порядка:
∇ f[k] = f[k] − f[k − 1]

Прямая разность первого порядка:


∆ f[k] = f[k + 1] − f[k]

Обратная разность второго порядка:


∇2 f[k] = ∇ f[k] − ∇ f[k − 1] = f[k] − 2 f[k − 1] + f[k − 2]

Прямая разность второго порядка:


∆2 f[k] = ∆ f[k + 1] − ∆ f[k] = f[k + 2] − 2 f[k + 1] + f[k]

71 / 256
Решетчатые функции
Обратна и прямая разности n-го порядка
Обратная разность n-го порядка:
∇n f[k] = ∇n−1 f[k] − ∇n−1 f[k − 1]

Прямая разность n-го порядка:


∆n f[k] = ∆n−1 f[k + 1] − ∆n−1 f[k]

Вычисление обратной разности n-го порядка:


n
X n!
n
∇ f[k] = (−1)v C vn f[k − v] , C vn =
v! (n − v)!
v=0

Вычисление прямой разности n-го порядка:


X n
n
∆ f[k] = (−1)v C vn f[k + n − v]
v=0

72 / 256
Решетчатые функции
Неполная и полная сумма решетчатой функции
Неполная сумма:
k−1
X k
X
σ0 [k] = f[i] = f[k − v]
i=0 v=1

Полная сумма:
k
X k
X
σ[k] = σ0 [k] + f[k] = f[k − v] + f[k] = f[v]
v=1 v=0

Прямая/обратная разности являются аналогом производной


Неполная/полная суммы являются аналогом интеграла
Разностные уравнения являются аналогом дифференциальных

73 / 256
Решетчатые функции
Пример
Для решетчатой функции посчитать значения конечных разностей:

k f[k] ∆ f[k] ∆2 f[k] ∆3 f[k] ∆4 f[k]


1 1.3 2.4 -1.8 0.2 2.6
2 3.7 0.6 -1.6 2.8 –
3 4.3 -1.0 1.2 – –
4 3.3 0.2 – – –
5 3.5 – – – –
74 / 256
Разностные уравнения
Форма записи разностных уравнений через обратные разности
В виде разностной схемы:
α0 ∇n f[k] + α1 ∇n−1 f[k] + . . . + αn f[k] = 0

В каноническом виде:
a0 f[k] + a1 f[k − 1] + . . . + an f[k − n] = 0

где
r
X
r−i r−i (n − i)!
an−r = (−1)n−r αi Cn−i , C n−i =
(r − i)! (n − r)!
i=0

Вычисляем f[k] по известным f[k − 1], f[k − 2], . . . , f[k − n]

75 / 256
Разностные уравнения
Форма записи разностных уравнений через прямые разности
В виде разностной схемы:
αn ∆n f[k] + αn−1 ∆n−1 f[k] + . . . + α0 f[k] = 0

В каноническом виде:
an f[k + n] + an−1 f[k + n − 1] + . . . + a0 f[k] = 0

где
r
X (n − i)!
an−r = (−1)r−i αi C r−i
n−i , C r−i
n−i =
(r − i)! (m − r)!
i=0

Вычисляем f[k + n] по известным f[k + n − 1], f[k + n − 2], . . . , f[k]

76 / 256
Разностные уравнения
Виды разностных уравнений
Однородные:
a0 y[k] + a1 y[k − 1] + . . . + an y[k − n] = 0

an y[k + n] + an−1 y[k + n − 1] + . . . + a0 y[k] = 0

Неоднородные:
a0 y[k] + a1 y[k − 1] + . . . + an y[k − n] =
= c0 u[k] + c1 u[k − 1] + . . . + cm u[k − m]

an y[k + n] + an−1 y[k + n − 1] + . . . + a0 y[k] =


= cm u[k + m] + cm−1 u[k + m − 1] + . . . + c0 u[k]

77 / 256
Разностные уравнения
Решение разностных уравнений в общем виде
Решение разностного уравнения в общем виде:
y[k] = γ1 λ1 + γ2 λ2 + . . . + γn λn

где λi - корни характеристического уравнения


an λn + an−1 λn−1 + . . . + a0 = 0

а γ1 , γ2 , . . . , γn - произвольные постоянные.

Условие затухающего решения:



λi < 1 , i = 1, 2, . . . , n

Решение можно получить через дискретное преобразование Лапласа


(аналогично решению задачи Коши для непрерывного случая)

78 / 256
Разностные уравнения
Решение разностных уравнений через Z-преобразование
Дано уравнение (правая часть - известна в явном виде):
an y[k + n] + . . . + a0 y[k] = cm u[k + m] + . . . + c0 u[k]

Находим Z-преобразование от левой и правой частей уравнения:


   
Z an y[k + n] + . . . + a0 y[k] = Z cm u[k + m] + . . . + c0 u[k]

Используем следующие замены:


 
Z x[k] = x(z)
 
Z x[k + 1] = z x(z) − z x[0]
 
Z x[k + 2] = z2 x(z) − z2 x[0] − z x[1]

79 / 256
Разностные уравнения
Решение разностных уравнений через Z-преобразование
Получим алгебраическое уравнение вида:
y(z) Q(z) = P(z) u(z)

Выражаем y(z):
P(z)
y(z) = u(z)
Q(z)
Раскладываем на простейшие дроби и вычисляем коэффициенты:
A B C
y(z) = + + + ...
z z − 1 (z − 1)2
Применяем к каждой дроби обратное Z-преобразование:
     
−1 A −1 B −1 C
y[k] = Z +Z +Z + ...
z z−1 (z − 1)2
Для Z-преобразования есть таблицы, как для преобразования Лапласа
80 / 256
Разностные уравнения
Решение разностных уравнений. Случай нулевых начальных условий
Дано разностное уравнение:
y[k + 2] − 5 y[k + 1] + 6 y[k] = 1

Применим Z-преобразование получим:


z
z2 y(z) − 5 z y(z) + 6 y(z) =
z−1
Выразим y(z):
z 1
y(z) =
z − 1 z − 5z + 6
2

Раскладываем на простейшие дроби и вычисляем коэффициенты:


z
y(z) =
(z − 1)(z − 2)(z − 3)
0.5 2 1.5
= − +
z−1 z−2 z−3
81 / 256
Разностные уравнения
Решение разностных уравнений. Случай нулевых начальных условий
Применяем к каждой дроби обратное Z-преобразование:
     
−1 0.5 −1 2 −1 1.5
y[k] = Z −Z +Z
z−1 z−2 z−3
Из таблицы:
   
−1 0.5 −1 1
Z = 0.5 · Z = 0.5 · 1k = 0.5
z−1 z−1
 
2
Z −1 = 2k
z−2
   
1.5 3
Z −1 = 0.5 · Z −1
= 0.5 · 3k
z−3 z−3
Получим решение:
y[k] = 0.5 − 2k + 0.5 · 3k

82 / 256
Разностные уравнения
Решение разностных уравнений. Случай ненулевых начальных условий
Дано разностное уравнение:
y[k + 2] + 4 y[k + 1] + 3 y[k] = 1

Начальные условия:
y[0] = 1
y[1] = 1
Используем следующие замены:
 
Z y[k] = y(z)
 
Z y[k + 1] = z y(z) − z y[0] = z y(z) − z
 
Z y[k + 2] = z2 y(z) − z2 y[0] − z y[1] = z2 y(z) − z2 − z

83 / 256
Разностные уравнения
Решение разностных уравнений. Случай ненулевых начальных условий
Уравнение примет следующий вид:
z
z2 y(z) − z2 − z + 4 z y(z) − z

+ 3 y(z) =
z−1
Приведя к дробному виду получим:
z3 + 4 z2 − 4 z
y(z) =
(z − 1)(z + 1)(z + 3)
Представим в виде простейших дробей:
1 7 21
y(z) = 1 + − −
8 (z − 1) 4 (z + 1) 8 (z + 3)
Используя обратное Z-преобразование получим решение:
1 7 7
y[k] = + · (−1)k − · (−3)k
8 4 8

84 / 256
Описание дискретных систем в переменных вход–выход
Переход от решетчатой функции к передаточной
Решетчатая функция:


f[k] = f(t)

t = kT

что в контексте импульсной системы эквивалентно:




u[k] = u(t)

t = kT

где u[k] входной сигнал импульсной системы.


W(z) и W(z−1 ) как отношения выходного сигнала y(z) к входному u(z)
есть передаточные функции импульсной системы

85 / 256
Описание дискретных систем в переменных вход–выход
Для разностных уравнений, записанных через обратные разности
Разностное уравнение в общем виде:
a0 y[k] + a1 y[k − 1] + . . . + an y[k − n] =
= c0 u[k] + c1 u[k − 1] + . . . + cm u[k − m]

Используя Z-преобразование:
a0 + a1 z−1 + . . . + an z−n y(z) = c0 + c1 z−1 + . . . + cm z−m u(z)
 

Решение запишем в виде:


y(z) = W(z−1 ) u(z)

где
C(z−1 ) c0 + c1 z−1 + . . . + cm z−m
W(z−1 ) = =
A(z−1 ) a0 + a1 z−1 + . . . + an z−n

86 / 256
Описание дискретных систем в переменных вход–выход
Для разностных уравнений, записанных через прямые разности
Разностное уравнение в общем виде:
am y[k + n] + an−1 y[k + n − 1] + . . . + a0 y[k] =
= cm u[k + m] + cm−1 u[k + m − 1] + . . . + c0 u[k]

Используя Z-преобразование:
an zn + an−1 zn−1 + . . . + a0 y(z) = cm zm + cm−1 zm−1 + . . . + c0
 
u(z)

Решение запишем в виде:


y(z) = W(z) u(z)

где
C(z) cm zm + cm−1 zm−1 + . . . + c0
W(z) = =
A(z) an zn + an−1 zn−1 + . . . + a0

87 / 256
Описание дискретных систем в переменных вход–выход
Приведенные передаточные функции
Приведенные передаточные функции
Приведенными передаточными функциями называются те, у которых
коэффициент при z в старшей степени в полиноме знаменателя равен
единице, т.е.:
c0 + c1 z−1 + . . . + cm z−m
W(z−1 ) =
1 + a1 z−1 + . . . + an z−n
где
ai = ai /a0 , ci = ci /a0

и:
cm zm + cm−1 zm−1 + . . . + c0
W(z) =
zn + an−1 zn−1 + . . . + a0
где
ai = ai /an , ci = ci /an
88 / 256
Описание дискретных систем в переменных вход–выход
Пример
Для заданного в конечных разностях уравнения:
2 ∆4 y[k] = 0.5 ∆2 u[k]

• привести уравнение к рекуррентному виду;


• записать W(z), считая u[k] входом, а y[k] выходом;
• из W(z) получить W(z−1 );
• записать приведенные W(z) и W(z−1 ).

Распишем конечные разности:


∆4 y[k] = y[k + 4] − 4 y[k + 3] + 6 y[k + 2] − 4 y[k + 1] + y[k]
∆2 u[k] = u[k + 2] − 2 u[k + 1] + u[k]

89 / 256
Описание дискретных систем в переменных вход–выход
Пример
Конечные разности в рекуррентном виде:
∆4 y[k] = y[k + 4] − 4 y[k + 3] + 6 y[k + 2] − 4 y[k + 1] + y[k]
∆2 u[k] = u[k + 2] − 2 u[k + 1] + u[k]
Подставив в заданное уравнение получим:
2 y[k + 4] − 8 y[k + 3] + 12 y[k + 2] − 8 y[k + 1] + 2 y[k] =
= 0.5 u[k + 2] − u[k + 1] + 0.5 u[k]
Учитывая, что:
 
Z y[k + i] = y(z) zi

После применение Z-преобразования получим:


2 y(z) z4 − 8 y(z) z3 + 12 y(z) z2 − 8 y(z) z1 + 2 y(z) =
= 0.5 u(z) z2 − u(z) z1 + 0.5 u(z)
90 / 256
Описание дискретных систем в переменных вход–выход
Пример
После применение Z-преобразования получим:
2 y(z) z4 − 8 y(z) z3 + 12 y(z) z2 − 8 y(z) z1 + 2 y(z) =
= 0.5 u(z) z2 − u(z) z1 + 0.5 u(z)

Выразим y(z) и u(z):


y(z) 2 z4 − 8 z3 + 12 z2 − 8 z1 + 2 = u(z) 0.5 z2 − z1 + 0.5
 

Определим W(z) как отношение y(z) к u(z):


y(z) 0.5 z2 − z1 + 0.5
W(z) = =
u(z) 2 z4 − 8 z3 + 12 z2 − 8 z1 + 2

91 / 256
Описание дискретных систем в переменных вход–выход
Пример
Полученная W(z):
y(z) 0.5 z2 − z1 + 0.5
W(z) = =
u(z) 2 z4 − 8 z3 + 12 z2 − 8 z1 + 2
Определим приведенную W(z) разделив на a4 = 2:
y(z)/2.0 0.25 z2 − 0.5 z1 + 0.25
W(z) = = 4
u(z)/2.0 z − 4 z3 + 6 z2 − 4 z1 + 1

Определим W(z−1 ) умножив W(z) на z−4 :


0.25 z2 − 0.5 z1 + 0.25 z−4

−1 y(z) z−4
W(z ) = = 
u(z) z−4 z4 − 4 z3 + 6 z2 − 4 z1 + 1 z−4
0.25 z−2 − 0.5 z−3 + 0.25 z−4
=
1 − 4 z−1 + 6 z−2 − 4 z−3 + z−4

92 / 256
Описание дискретных систем в переменных вход–выход

Передаточная функция W(z−1 ):


y(z) c0 + c1 z−1 + . . . + cm z−m
W(z−1 ) = =
u(z) 1 + a1 z−1 + . . . + an z−n
Передаточная функция W(z):
y(z) cm zm + cm−1 zm−1 + . . . + c0
W(z) = =
u(z) zn + an−1 zn−1 + . . . + a0
где:
u(z) - входной сигнал;
y(z) - выходной сигнал.

Передаточные функции W(z−1 ) и W(z) приведенные

93 / 256
Описание дискретных систем в переменных вход–выход
Реализуемые и нереализуемые системы
Передаточная функция W(z):
cm zm + cm−1 zm−1 + . . . + c0
W(z) =
zn + an−1 zn−1 + . . . + a0
Порядок передаточной функции:
zm
= zm−n = zφ
zn
Нереализуемые системы
При φ > 0 динамика системы зависит от значений дискретного сиг-
нала в будущем времени. Такие системы физически нереализуемы.
Реализуемые системы
При φ 6 0 динамика системы зависит только от значений дискрет-
ного сигнала до текущего момента времени (включительно). Такие
системы физически реализуемы.
94 / 256
Описание дискретных систем в виде структурных схем
Элементарные преобразования передаточных функций
Последовательное соединение:
Y
W(z) = Wi (z)
i

Параллельное соединение:
X
W(z) = Wi (z)
i

Соединение с обратной связью:


Wol (z)
W(z) =
1 ∓ Wcl (z) Wol (z)
где:
Wol (z) - передаточная функция прямой цепи;
Wcl (z) - передаточная функция обратной связи.

95 / 256
Описание дискретных систем в виде структурных схем
Пример
Для заданной структурной схемы:
<тут должна быть картинка>

• записать передаточную функцию W(z−1 );


• записать по W(z−1 ) разностное уравнение в рекуррентном виде.

96 / 256
Описание дискретных систем в виде структурных схем
Пример
Запишем отдельные элементы:
W1 (z−1 ) = b1 z−1
W2 (z−1 ) = b2 z−1
W1 b1 z−1 b1 z−1
W3 (z−1 ) = = =
1 + W1 (z) W2 (z) 1 + b1 z−1 b2 z−1 1 + b1 b2 z−2
W4 (z−1 ) = 1
W5 (z−1 ) = b3 z−1
W6 (z−1 ) = W4 (z) + W5 (z) = 1 + b3 z−1
b1 z−1 b1 z−1 + b1 b3 z−2
W(z−1 ) = W3 (z) W6 (z) = −1

1 + b 3 z =
1 + b1 b2 z−2 1 + b1 b2 z−2

97 / 256
Описание дискретных систем в виде структурных схем
Пример
Полученная передаточная функция W(z−1 ):
y(z) b1 z−1 + b1 b3 z−2
W(z−1 ) = =
u(z) 1 + b1 b2 z−2

Перепишем соотношение относительно y(z−1 ) и u(z−1 ):


1 + b1 b2 z−2 y(z) = b1 z−1 + b1 b3 z−2 u(z)
 

y(z) + b1 b2 y(z) z−2 = b1 u(z) z−1 + b1 b3 u(z) z−2


Учитывая, что:
 
−1 −i
Z y(z) z = y[k − i]

Получим разностное уравнение в рекуррентном виде:


y[k] + b1 b2 y[k − 2] = b1 u[k − 1] + b1 b3 u[k − 2]

98 / 256
Описание дискретных систем в переменных состояния
Переход к переменным состояния от переменных вход–выход (скалярный случай)
Введем вспомогательную переменную e(z):
y(z) (cm zm + cm−1 zm−1 + . . . + c0 ) e(z)
W(z) = = ·
u(z) (zn + an−1 zn−1 + . . . + a0 ) e(z)
Полиномы числителя и знаменателя запишем как:
y(z) = (cm zm + cm−1 zm−1 + . . . + c0 ) e(z)
u(z) = (zn + an−1 zn−1 + . . . + a0 ) e(z)

Из свойств Z-преобразования:
e(z) = e(k)
z e(z) = e(k + 1)
···
n
z e(z) = e(k + n)

99 / 256
Описание дискретных систем в переменных состояния
Переход к переменным состояния от переменных вход–выход (скалярный случай)
Определим переменные состояния xi (k) как:
x1 (k) = e(k)
x2 (k) = x1 (k + 1) = e(k + 1)
x3 (k) = x2 (k + 1) = x1 (k + 2) = e(k + 2)
···
xn (k) = xn−1 (k + 1) = e(k + (n − 1))

Выразим величины xi (k + 1) через xi−1 (k):


x1 (k + 1) = x2 (k)
x2 (k + 1) = x3 (k)
···
xn−1 (k + 1) = xn (k)
xn (k + 1) = −a0 x1 (k) − a1 x2 (k) − . . . − an−1 xn (k) + u(k)

100 / 256
Описание дискретных систем в переменных состояния
Переход к переменным состояния от переменных вход–выход (скалярный случай)
В матричном виде:
      
x1 (k + 1) 0 1 0 ··· 0 x1 (k) 0
 x (k + 1)   0
 2   0 1 ··· 0   x2 (k)   0 
   

··· = ···   · · ·  + · · · u(k)
      

      
xn−1 (k + 1)  0 0 ··· 1  xn−1 (k)  0 
xn (k + 1) −a0 −a1 −a2 · · · −an−1 xn (k) 1
В сокращенном виде:
x(k + 1) = A x(k) + B u(k)

Уравнение состояния описывает динамику системы

101 / 256
Описание дискретных систем в переменных состояния
Переход к переменным состояния от переменных вход–выход (скалярный случай)
Возвращаясь к записи полинома числителя передаточной функции:
y(z) = (cm zm + cm−1 zm−1 + . . . + c0 ) e(z)

Уравнения выхода в общем виде:


h i
y(k) = c0 c1 c2 · · · cn−1

В сокращенном виде:
y(k) = C x(k)

Уравнение выхода представляет собой модель измерений


Если m < n, то элементы cm , cm+1 , . . . , cn приравниваются к нулю

102 / 256
Описание дискретных систем в переменных состояния
Форма записи в переменных состояния в общем виде
Полная форма записи системы в переменных состояния:
(
x(k + 1) = A(k) x(k) + B(k) u(k) + ω(k)
y(k) = C(k) x(k) + D(k) u(k) + υ(k)
где:
x ∈ Rn - вектор состояния;
u ∈ Rp - вектор входных сигналов;
y ∈ Rq - вектор выходных сигналов системы;
ω ∈ Rpω - вектор входных шумов;
υ ∈ Rqυ - вектор измерительных шумов;
A ∈ Rn × n - матрица состояния;
B ∈ Rn × p - матрица входа;
C ∈ Rq × n - матрица выхода;
D ∈ Rq × p - матрица прямого (feed-forward) управления.
103 / 256
Описание дискретных систем в переменных состояния
Переход к описанию в переменных вход–выход
Форма записи системы в переменных состояния:
(
x(k + 1) = A x(k) + B u(k)
y(k) = C x(k) + D u(k)

Применив Z-преобразование к уравнению состояния получим:


z x(z) − z x(0) = A x(z) + B u(z)

z I − A x(z) = z x(0) + B u(z)

Выразив x(z) получим:


−1 −1
x(z) = zI − A z x(0) + zI − A B u(z)

При нулевых начальных условиях и y(z) = C x(z) получим:


y(z) −1
W(z) = = C zI − A B
u(z)

104 / 256
Описание дискретных систем в переменных состояния
Получение решения x(k)
Уравнение состояния:
x(1) = A x(0) + B u(0)
x(2) = A x(1) + B u(1)

= A A x(0) + B u(0) + B u(1)
= A2 x(0) + A B u(0) + B u(1)
x(3) = A x(2) + B u(2)
= A A2 x(0) + A B u(0) + B u(1)

+ B u(2)
= A3 x(0) + A2 B u(0) + A B u(1) + B u(2)
···
k−1
X
k
x(k) = A x(0) + Ak−1−i B u(i)
i=0

105 / 256
Описание дискретных систем в переменных состояния
Получение решения x(k)
Решение в общем виде в момент времени k:
k−1
X
k
x(k) = A x(0) + Ak−1−i B u(i)
i=0

Фундаментальная матрица решений (матрица перехода):


Φ(k) = Ak

Решение системы в момент времени k:



 k−1
X
x(k) = Φ(k) x(0) + Φ(k − 1 − i) B u(i)





i=0
 k−1
X

y(k) = C Φ(k) x(0) +


 C Φ(k − 1 − i) B u(i) + D u(k)
i=0

106 / 256
Описание дискретных систем в переменных состояния
Получение решения x(k)
Нестационарные системы:
(
x(k + 1) = A(k) x(k) + B(k) u(k) + G ω(k)
y(k) = C(k) x(k) + D(k) u(k) + H υ(k)

Решение системы в момент времени k:



2+k0

 X



x(k) = Φ(k, k0 ) x(k0 ) + Φ(3 + k0 , i + 1) B(i) u(i)
 i=k0

 k−1
X

y(k) = C(k) Φ(k, k ) x(k ) + C(k) Φ(k, i + 1) B(i) u(i) + D(k) u(k)



 0 0

i=k0

В нестационарных системах матрицы A, B, C и D изменяются в процессе


функционирования системы

107 / 256
Описание дискретных систем в переменных состояния
Фундаментальная матрица решений
Свойства (стационарные системы):
Φ(0) = I
Φ(k1 + k2 ) = Ak1 +k2 = Ak1 Ak2 = Φ(k1 ) Φ(k2 )
−1
Φ(−k) = A−k = Ak = Φ−1 (k)

Свойства (нестационарные системы):


Φ(k0 , k0 ) = I
Φ(k2 , k0 ) = Φ(k2 , k1 ) Φ(k1 , k0 )
Φ(k1 , k2 ) = Φ(k2 , k1 )−1
k−1
Y
Φ(k, k0 ) = A(k − 1) A(k − 2) · · · A(k0 ) = A(i) , k > k0
i=k0

108 / 256
Описание дискретных систем в переменных состояния
Множество реализаций в переменных состояния
Применяя линейное преобразование с невырожденной T:
η = Tx

Форма записи системы в переменных состояния примет вид:


(
η(k + 1) = T A T−1 η(k) + T B u(k)
y(k) = C T−1 η(k) + D u(k)

Матрица перехода:
Φ(k) = T Ak T−1

Получение различных реализаций:


η=T x 
A, B, C, D −−−→ T A T−1 , T B, C T−1 , D


Канонические формы - реализации с определенной структурой

109 / 256
Описание дискретных систем в переменных состояния
Каноническая форма Жордана
Если матрица A может быть приведена к диагональному виду, то:
A = E−1 Λ E
E A E−1 = Λ
 
λ1 0
Λ=
 ... 

0 λn
h i
E = v1 · · · vn

где:
λi - собственные значения матрицы A;
vi - соответствующие собственные вектора.

110 / 256
Описание дискретных систем в переменных состояния
Каноническая форма Жордана
Вид матриц:
   
J1 0 · · · 0 b0
0 J · · · 0  b2  h i
2
A = . . . , B= , C = c0 c2 · · · cn−1
   
 .. .. .. ..
0  . 
0 0 ··· Jv bn−1

где Ji - Жорданов блок с собственными значения матрицы λi (A)


 
λi 1 · · · 0
0 λ ··· 0
i
Ji =  . . .
 
 .. .. .. 1 

0 0 · · · λi

111 / 256
Описание дискретных систем в переменных состояния
Каноническая форма управляемости (форма Фробениуса)
Каноническая форма управляемости
Каноническая форма следующего вида:
   
0 1 ··· 0 0
 0 0 ··· 0 
0
  h i
A= .  , B = . , C = c0 c1 · · · cm−1

 .. .. ..  .. 
. . 1 
−a0 −a1 · · · −an−1 1
которая существует, если C имеет полный ранг, а следовательно,
полученная система полностью управляема.
h i
C = B A B A2 B · · · An−1 B

112 / 256
Описание дискретных систем в переменных состояния
Каноническая форма управляемости (форма Фробениуса)
Получение канонической формы управляемости:
η=T x
{A, B, C, D} −−−→ {T A T−1 , T B, C T−1 , D}
−1
T = C Hc
h i
C = B A B A2 B · · · An−1 B
 
a1 · · · an−1 1
 .. ... 
Hc =  . 1 0


an−1 1 0 0
1 0 0 0
Yn
h(z) = (z − pi ) = zn + an−1 zn−1 + . . . + a1 z1 + . . . + a0
i=1

113 / 256
Описание дискретных систем в переменных состояния
Каноническая форма наблюдаемости
Каноническая форма наблюдаемости
Каноническая форма следующего вида:
   
0 · · · 0 −a0 b0
 1 · · · 0 −a   b  h i
1   1
A = . . , B= . , C = 1 0 ··· 0
 
. . .
. .
.  ..
. . . .  
0 · · · 1 −an−1 bn−1
которая существует, если O имеет полный ранг, а следовательно,
полученная система полностью наблюдаема.
 
C
 CA 
 
O =  CA 2
 
 
 ··· 
C An−1
114 / 256
Описание дискретных систем в переменных состояния
Каноническая форма наблюдаемости
Получение канонической формы наблюдаемости:
η=T x
{A, B, C, D} −−−→ {T A T−1 , T B, C T−1 , D}
T = Ho O
 
C
 CA 
 
O =  CA  2
 
 
 ··· 
C An−1
Ho = H>
c

115 / 256
Описание дискретных систем в переменных состояния
Другие виды реализаций
Минимальная реализация:
Реализация {A, B, C, D} в которой матрица A, а следовательно и век-
тор состояния, имеют наименьший размер.
Балансная реализация:
Реализация {A, B, C, D} граммианы управляемости и наблюдаемости
равны и диагональны.

116 / 256
Описание дискретных систем в переменных состояния
Виды систем
Стохастические(системы:
x(k + 1) = A(k) x(k) + B(k) u(k) + G ω(k)
y(k) = C(k) x(k) + D(k) u(k) + H υ(k)

Детерминированные системы:
(
x(k + 1) = A(k) x(k) + B(k) u(k)
y(k) = C(k) x(k) + D(k) u(k)

В детерминированных системах нет входных и измерительных шумов


Могут быть как стационарными, так и нестационарными

117 / 256
Описание дискретных систем в переменных состояния
Автономная система
Стационарная система в пространстве состояний:
(
x(k + 1) = A x(k) + B u(k)
y(k) = C x(k)

Закон управления:
u(k) = −F x(k)

Автономная система примет вид:


( 
x(k + 1) = A x(k) − B Fx(k) = A − B F x(k)
y(k) = C x(k)

118 / 256
Описание дискретных систем в переменных состояния
Система регулирования
Закон управления:
u(k) = F x(k)

Сигнал ошибки e(k) (рассогласования):


e(k) = r(k) − u(k) = r(k) − F x(k)

Система регулирования примет вид:


( 
x(k + 1) = A x(k) − B e(k) = A − B F x(k) + B r(k)
y(k) = C x(k)

119 / 256
Описание дискретных систем в переменных состояния
Системы с обратной связью в переменных вход–выход
Передаточная функция:
−1
W(z) = C z I − A + B F B

Критерий устойчивости:

λi z I − A + BF < 1

Полином знаменателя:
Yn
α(z) = (z − pi ) = αn zn + αn−1 zn−1 + . . . + α0
i=0

где pi - полюса системы.


Дискретные системы с обратной связью в переменных вход–выход
зачастую называются БИХ (IIR) фильтрами

120 / 256
Системы с дискретизацией данных

Cистемы с дискретизацией данных (sampled data system)


Системы, в которых управление непрерывным объектом осуществля-
ется через цифровую систему. Оцифровка сигналов осуществляется
аналогово-цифровыми преобразователями, а восстановление непре-
рывного сигнала - цифро-аналоговыми преобразователями.

Для анализа и синтеза подобных систем нужно:


• представить непрерывную часть ее дискретным эквивалентом;
• представить дискретную часть ее непрерывным эквивалентом.

Т.к. управление формируется в цифре, то непрерывная часть


представляется ее дискретным эквивалентом

121 / 256
Системы с дискретизацией данных
Получение эквивалентных дискретных и непрерывных систем
Методы получения эквивалентной дискретной системы:
• методы отображения дифференциалов:
• метод правых прямоугольников
• метод левых прямоугольников
• метод трапеций;
(метод аппроксимации Тастина)
• метод инвариантности импульсной характеристики;
(стандартное Z-преобразование)
• метод согласованного Z-преобразования;
(полюса непрерывной системы в полюса дискретной)
• эквивалентная запись в переменных состояния.

122 / 256
Системы с дискретизацией данных
Получение эквивалентных дискретных и непрерывных систем
Первая производная через конечные разности:
dx(t) ∆x x[k + 1] − x[k]
≈ =
dt T T
dx(t) ∇x x[k] − x[k − 1]
≈ =
dt T T
Вторая производная через конечные разности:
d2 x(t) ∆2 x x[k + 2] − 2 x[k + 1] + x[k]
≈ =
dt 2 T T
d2 x(t) ∇2 x x[k] − 2 x[k − 1] + x[k − 2]
≈ =
dt2 T T

Производная выражается как через прямые так и обратные разности

123 / 256
Системы с дискретизацией данных
Получение эквивалентных дискретных и непрерывных систем
Аппроксимация
производной (по сути, методами интегрирования):
dx(t) x[k + 1] − x[k]
≈ правые прямоугольники
dt T

t = tk
dx(t) x[k + 1] − x[k]
≈ левые прямоугольники
dt T

t = tk+1

Применяя преобразование Лапласа и Z-преобразование:


z−1
s ← правые прямоугольники
T
z−1
sz ← левые прямоугольники
T

124 / 256
Системы с дискретизацией данных
Получение эквивалентных дискретных и непрерывных систем
Аппроксимация производной (по сути, методом трапеций):

dx(t) dx(t)
+ x[k + 1] − x[k] x[k + 1] − x[k]
dt dt

t = tk t = tk+1 +
= T T
2 2
x[k + 1] − x[k]
=
T
Применяя преобразование Лапласа и Z-преобразование:
s + sz z−1 1 − Ts/2
← →z=
2 T 1 + Ts/2

Преобразование по правилу трапеций - аппроксимация Тастина, где


дискретная система устойчива ТТТ когда устойчива непрерывная

125 / 256
Системы с дискретизацией данных
Получение эквивалентных дискретных и непрерывных систем
Упростив получим выражения:

s→z z→s

z−1 правые
s ← z = sT + 1
T прямоугольники

z−1 левые 1
s ← z =
Tz прямоугольники 1 − Ts
2 z−1 1 + Ts/2
s ← трапеции z =
T z+1 1 − Ts/2

126 / 256
Системы с дискретизацией данных
Метод аппроксимации Тастина
Используем следующую замену:
 
2 (z − 1)
W(z) = W(s) =W

2 (z − 1) T (z + 1)
s=

T (z + 1)
при
3
2 (1 − z−1 )
  
1 2 z−1 1 z−1 2 (z − 1)
s = ln(z) = + + ... ≈ ≈
T T z+1 3 z+1 T (z + 1) T (1 + z−1 )

При аппроксимации Тастина АЧХ и ФЧХ непрерывной и эквивалентной


дискретной системы идентичны, но могут быть смещены по частотам

127 / 256
Системы с дискретизацией данных
Метод аппроксимации Тастина. Пример
Получение эквивалентной дискретной системы (при T = 0.01):
2 (z − 1)
+1
s+1
T (z + 1)
W(z) = 2 = 

s + 12 s + 32 2 (z − 1) 2

s= 2 (z − 1) 2 (z − 1)
T (z + 1) + 12 + 32
T (z + 1) T (z + 1)

(2T + 2T 2 ) z2 + 2T 2 z + T 2 − 2T
=
(4 + 24T + 32T 2 ) z2 + (64T 2 − 8) z + 4 − 24T + 32T 2

0.0202 z2 + 2.0 × 10−4 z − 0.0199


=
4.2432 z2 − 7.9936 z + 3.7632
0.00471 z2 + 4.7134 × 10−5 z − 0.00469
=
z2 − 1.8839 z + 0.8869

128 / 256
Системы с дискретизацией данных
Метод аппроксимации Тастина
Используем следующую замену:
 
2 + sT
W(s) = W(z) =W

2 + sT 2 − sT
z=

2 − sT
где
e +sT/2 1 + sT/2 2 + sT
z = e sT ≈ −sT/2 ≈ ≈
e 1 − sT/2 2 − sT

129 / 256
Системы с дискретизацией данных
Метод аппроксимации Тастина. Пример
Получение непрерывной системы:

0.00471 z2 + 4.7134 × 10−5 z − 0.00469
W(s) =

z2 − 1.8839 z + 0.8869 2 + sT

z=

2 − sT
   
2 + sT 2 −5 2 + sT
0.00471 + 4.7134 × 10 − 0.00469
2 − sT 2 − sT
=  2  
2 + sT 2 + sT
− 1.8839 + 0.8869
2 − sT 2 − sT

s+1
=
s2 + 12 s + 32

130 / 256
Системы с дискретизацией данных
Метод инвариантности импульсной характеристики
Метод инвариантности импульсной характеристики
В основе метода лежит идея, что импульсная характеристика непре-
рывной системы и эквивалентной дискретной системы должны совпа-
дать. Метод также носит названия стандартного Z-преобразования.

Передаточная функция непрерывной системы:



N
X ci
W(s) = , где ci = W(s) (s + di )

s + di
s = −di

i

Эквивалентная дискретная система:



W ω

W(z) =  Wd (z)
ωT
Wd e

где Wd (z) получена заменой полюсов, а ω = 1 рад/с.


131 / 256
Системы с дискретизацией данных
Метод инвариантности импульсной характеристики
Импульсные характеристики непрерывной и дискретной систем:
N
X N
X
−di t
h(t) = ci e u(t) , h(kT) = ci e −di kT u(kT)
i=1 i=1

Передаточная функция дискретной системы:


X∞ X∞ XN
−k
W(z) = h(kT) z = ci z−k e −di kT
k=0 k=0 i=1
N ∞ N
X X k X ci
= ci z−1 e −di T =
i=1 k=0 i=1
1 − z−1 e −di T

Замена действительных полюсов:


1 1

s + di 1 − z e −di T
−1

132 / 256
Системы с дискретизацией данных
Метод инвариантности импульсной характеристики. Пример
Разложим передаточную функцию в виде простых дробей:
s+1
W(s) = 2
s + 12 s + 32
(s + 1)(s + 4) s+1
c1 = W(s) (s + 4) = = = −0.75

(s + 4)(s + 8) s+8

s = −4


(s + 1)(s + 8) s + 1
c2 = W(s) (s + 8) = = = 1.75
(s + 4)(s + 8) s+4

s = −8
s+1 s+1
W(s) = =
s2 + 12 s + 32 (s + 4)(s + 8)
c1 c2 −0.75 1.75
= + = +
s + d1 s + d2 s+4 s+8

133 / 256
Системы с дискретизацией данных
Метод инвариантности импульсной характеристики. Пример
Замена действительных полюсов:
−0.75 1.75
Wd (z) = −1 −4T
+
1−z e 1 − z−1 e −8T
−0.75 1.75
= −1
+
1 − 0.9608 z 1 − 0.9231 z−1
1 − 0.989 z−1 z2 − 0.989 z
= =
1 − 1.884 z−1 + 0.8869 z−2 z2 − 1.884 z + 0.8869
Получение эквивалентной дискретной системы:

W ω

0.009004 z2 − 0.008906 z
W(z) =  Wd (z) = 0.0090 Wd (z) = z2 − 1.884 z − 0.8869

Wd e ωT

В MATLAB Wd получается более высокого порядка, чем есть на самом


деле, чтобы это обойти надо к ней применить функцию minreal
134 / 256
Системы с дискретизацией данных
Метод инвариантности импульсной характеристики
Замена комплексных полюсов:
ci c∗i (ci + c∗i ) s + ci di∗ + c∗i di
+ = 2
s + di s + di∗ s + (di + di∗ ) s + di di∗
и при
ci = gi ±  hi , d i = σ i ±  Ωi

получим
(ci + c∗i ) s + ci di∗ + c∗i di 2 gi s + 2 (σi gi + Ωi hi )
∗ ∗
=
s2 + (di + di ) s + di di s2 + 2 σi s + (σi2 + Ω2i )
Заменяя в каждом слагаемом комплексные полюса получим:
2 gi − z−1 e −σi T 2 gi cos(Ωi T) − 2 hi sin(Ωi T)
 
ci c∗i
+ →
s + di s + di∗ 1 − 2 z−1 e −σi T cos(Ωi T) + z−2 e −2 σi T

135 / 256
Системы с дискретизацией данных
Метод инвариантности импульсной характеристики. Пример
Разложим передаточную функцию в виде простых дробей:
s+1 s+1
W(s) = 2 =
s + 2s + 2 (s + 1 − )(s + 1 + )

s + 1
c1 = W(s)(s + 1 − ) = = 0.5
s+1+

s = −(1 − )

∗ s + 1
c1 = W(s)(s + 1 + ) = = 0.5
s+1−

s = −(1 + )
s+1 c1 c∗1 0.5 0.5
W(s) = = + ∗
= +
s2 + 2 s + 2 s + d1 s + d1 s+1− s+1+

136 / 256
Системы с дискретизацией данных
Метод инвариантности импульсной характеристики. Пример
Замена комплексных полюсов:
0.5 0.5
Wd (z) = +
s+1− s+1+

2 gi − z−1 e −σi T 2 gi cos(Ωi T) − 2 hi sin(Ωi T)


 
=
1 − 2 z−1 e −σi T cos(Ωi T) + z−2 e −2 σi T
при g1 = 0.5 , h1 = 0.0 , σ1 = 1.0 , Ω1 = 1.0
1 − 0.99 z−1 z2 − 0.99 z
= =
1 − 1.98 z−1 + 0.9802 z−2 z2 − 1.98 z + 0.9802
Получение эквивалентной дискретной системы:

W ω

0.01 z2 − 0.0099 z
W(z) =  d W (z) = 0.0099 W d (z) =
Wd e ωT z2 − 1.98 z + 0.9802

137 / 256
Системы с дискретизацией данных
Метод согласованного Z-преобразования
Метод согласованного Z-преобразования
Непосредственное отображение нулей и полюсов непрерывной систе-
мы в нули и полюса эквивалентной дискретной системы.

Передаточная функция непрерывной системы:


m
, n
Y Y
W(s) = (s + qi ) (s + pj )
i=1 j=1

Эквивалентная дискретная система:



W ω

W(z) =  Wd (z)
Wd e ωT

где Wd (z) получена заменой нулей и полюсов, а ω = 1 рад/с.

138 / 256
Системы с дискретизацией данных
Метод согласованного Z-преобразования
Замена действительных нулей и полюсов:
s + ai → 1 − z−1 e −ai T

Замена комплексных нулей и полюсов:


1 − z−1 e −(ai − bi ) T 1 − z−1 e −(ai + bi ) T
 
(s + ai −  bi )(s + ai +  bi ) →
→ 1 − z−1 e −ai T e −bi  T + e bi  T + z−2 e −2 ai T


→ 1 − 2 z−1 e −ai T cos(bi T) + z−2 e −2 ai T

Метод не всегда применим, несмотря на простоту


(например, если нули непрерывной системы соответствуют
частотам больше частоты Найквиста)

139 / 256
Системы с дискретизацией данных
Метод согласованного Z-преобразования. Пример
Замена действительных нулей и полюсов:
s+1 s+1 1 − z−1 e −1T
Wd (z) = 2 = =
s + 12 s + 32 (s + 4)(s + 8) (1 − z−1 e −4T )(1 − z−1 e −8T )

1 − e −1T z−1
=
1 − (e −4T + e −8T ) z−1 − e −4T e −8T z−2

1 − 0.99 z−1 z2 − 0.99 z


= =
1 − 1.8839 z−1 − 0.8869 z−2 z2 − 1.8839 z − 0.8869

Получение эквивалентной дискретной системы:



W ω

0.009468 z2 − 0.009374 z
W(z) =  d W (z) = 0.0095 Wd (z) =
Wd e ωT z2 − 1.8839 z − 0.8869

140 / 256
Системы с дискретизацией данных
Метод согласованного Z-преобразования. Пример
Замена действительных нулей и комплексных полюсов:
s+1 s+1
Wd (z) = 2 =
s + 2s + 2 (s + 1 + 1)(s + 1 − 1)
1 − z−1 e −1T
=  
1 − 2 z−1 e −1T cos(1T) + z−2 e −2T

1 − 0.99 z−1 z2 − 0.99 z


= =
1 − 1.98 z−1 + 0.9802 z−2 z2 − 1.98 z + 0.9802

Получение эквивалентной дискретной системы:



W ω

0.00995 z2 − 0.009851 z
W(z) =  d W (z) = 0.01 W d (z) =
Wd e ωT z2 − 1.98 z + 0.9802

141 / 256
Системы с дискретизацией данных
Эквивалентная дискретная система в переменных состояния
Непрерывная система:
(
ẋ(t) = A x(t) + B u(t) + ω(t)
y(t) = C x(t) + D u(t) + υ(t)
где
ω(t) ∼ N (0, Q)
υ(t) ∼ N (0, R)
Эквивалентная дискретная система:
(
x(k + 1) = Ad x(k) + Bd u(k) + ω(k)
y(k) = Cd x(k) + Dd u(k) + υ(k)
где
ω(k) ∼ N (0, Qd )
υ(k) ∼ N (0, Rd )
142 / 256
Системы с дискретизацией данных
Эквивалентная дискретная система в переменных состояния
Допущения:
• входной и выходные сигналы квантуются по времени;
• υ интегрируем.
Решение дифференциального уравнения:
Zt
x(t) = e −At x(0) + e −Aτ B u(τ ) dτ
τ =0
−At
при Φ(t) = e
Zt
x(t) = Φ(t) x(0) + Φ(t − τ ) B u(τ ) dτ
τ =0

где:
Φ(t) - фундаментальная матрица решений (переходная матрица).
143 / 256
Системы с дискретизацией данных
Эквивалентная дискретная система в переменных состояния
Считаем что входной сигнал постоянен на шаге квантования:
u(t) = u(kT0 ) на интервале kT0 6 t < (k + 1)T0

Уравнение состояния на интервале kT0 6 t < (k + 1)T0 :


Zt
x(t) = Φ(t − kT0 ) x(kT0 ) + u(kT0 ) Φ(t − τ ) B dτ
τ =0

В момент времени t = (k + 1)T0 состояние:


(k+1)T0
Z
 
x (k + 1)T0 = Φ(T0 ) x(kT0 ) + u(kT0 ) Φ (k + 1)T0 − τ B dτ
kT0

144 / 256
Системы с дискретизацией данных
Эквивалентная дискретная система в переменных состояния
Проведя замену q = (k + 1)T0 − τ получим:
ZT0
x(k + 1) = Φ(T0 ) x(k) + u(k) Φ(q) B dq
0

В итоге получим соответствие:


ZT0
Ad = Φ(T0 ) = e AT0 Bd = Φ(q) dq
0
Cd = C Dd = D
ZT0
1
Qd = Φ(q) Q Φ> (q) dq Rd = R
T
0

145 / 256
Системы с дискретизацией данных
Эквивалентная дискретная система в переменных состояния. Пример
Передаточная функция с действительными полюсами:
s+1
W(s) = 2
s + 12 s + 32
В переменных состояния:
" # " #
−12 −32 0.8854 −0.3017
A= Ad =
1 0 0.009427 0.9985
" # " #
1 0.009427
B= Bd =
0 4.713 × 10−5
h i h i
C= 1 1 Cd = 1 1
h i h i
D= 0 Dd = 0

146 / 256
Системы с дискретизацией данных
Эквивалентная дискретная система в переменных состояния. Пример
Передаточная функция с комплексными полюсами:
s+1
W(s) = 2
s + 2s + 2
В переменных состояния:
" # " #
−2 −2 0.9801 −0.0198
A= Ad =
1 0 0.0099 0.9999
" # " #
1 0.0099
B= Bd =
0 4.967 × 10−5
h i h i
C= 1 1 Cd = 1 1
h i h i
D= 0 Dd = 0

147 / 256
Математическое описание дискретных систем
Полезные функции в Mathworks MATLAB
tf2ss - получение формы записи системы в переменных состояния
из передаточной функции;
ss2tf - получение формы записи системы в виде передаточной
функции из пространства состояний;
tfdata - получение векторов с коэффициентами полинома числите-
ля и знаменателя передаточной функции;
c2d - получение эквивалентной дискретной системы;
d2c - получение эквивалентной непрерывной системы;
zpk - задание передаточной функции по значениям нулей, по-
люсов и коэффициента усиления;
minreal - редуцирование модели путем сокращения нулей и полюсов
системы близких по значению.

148 / 256
Анализ и синтез дискретных систем
Частотные характеристики непрерывных систем

Частотная характеристика
Частотная характеристикиа W(ω) это реакция системы на гармони-
ческое x(t) = cos(ωt) входное воздействие с нулевыми начальными
условиями, и аналитически может быть записана как:


W(ω) = W(s)

s = ω

Численно представляет собой вектор комплексных значений, соот-


ветствующих заданному вектору частот ω:
W(ω) = U(ω) +  V(ω)

Хотим получить аналогичное и для дискретных систем

150 / 256
Частотные характеристики дискретных систем
Дискретные сигналы
Вещественная гармоническая последовательность:


x[k] = x(t) = cos(ωt + φ)

t = kT t = kT

= cos(ω kT + φ)
= cos(Ω k + φ)
где:
Ω = ω T - дискретная частота.

Комплексная гармоническая последовательность:


x[k] = e Ω k = cos(Ω k) +  sin(Ω k)

151 / 256
Частотные характеристики дискретных систем

Переходим к частотной характеристики следующей заменой:




= W e ωT = W e Ω
 
W(z)

z = e ωT

Частотная характеристики (дискретнойсистемы)


Частотная характеристикиа W e Ω это реакция системы на дис-
кретное гармоническое входное (x[k] = cos(Ω k) или x[k] = e Ω k ) воз-
действие с нулевыми начальными условиями, и аналитически может
быть записана как:

Ω

W e = W(z)

z = e Ω

152 / 256
Частотные характеристики дискретных систем

АЧХ и ФЧХ: 
Ω
АЧХ : W e


ФЧХ : φ = ∠ W e Ω


Выход системы для x[k] = cos(Ω k):


  
Ω
y[k] = W e cos Ω k + φ

Выход системы области для x[k] = e Ω k :


 
y[k] = W e Ω e Ω k e  φ = W e Ω e Ω k+ φ

АЧХ и ФЧХ, ЛАФЧХ (диаграмма Боде), АФЧХ (годограф Найквиста)


вычисляются аналогично случаю непрерывных систем

Что же изменится с заменой ω на Ω?


153 / 256
Частотные характеристики дискретных систем
Дискретная частота Ω
Аргумент частотной характеристики с Ω + 2π m:
e  (Ω+2π m) = e  Ω e  2π m = e Ω

Аргумент e Ω частотной характеристики периодичен с периодом 2π,


Ω
 Ω
 
соответственно W e , W e и ∠ W e Ω также периодичны.
Аргумент частотной характеристики с π ± Ω:
 
e  (π+Ω) = e  π e  Ω = −1 cos(Ω) +  sin(Ω)
 
 (π−Ω)  π − Ω
e =e e = −1 cos(−Ω) +  sin(−Ω)
 
= −1 cos(Ω) −  sin(Ω)

Дискретная частота Ω симметричная относительно π,


и ее значения уникальны на интервале 0 . . . π.
154 / 256
Частотные характеристики дискретных систем
Дискретная частота Ω
Справедливы следующие неравенства:
0 6 Ω < π
0 6 ωT < π
0 6 ω < π/T
0 6 ω < fs π
0 6 2πf < fs π
0 6 f < fN = fs /2
где:
fs = 1/T - частота дискретизации (Гц);
fN = fs /2 - частота Найквиста (Гц).

Дискретная частота Ω определена (в Гц) до частоты Найквиста fN ,


все частотные характеристики определены также до частоты Найквиста.

155 / 256
Частотные характеристики дискретных систем
Сравнение непрерывных и дискретных систем

Непрерывные Дискретные

ω непрерывна Ω = ωT дискретна

Ω определена от 0 до +∞,
ω определена от 0 до +∞ периодична с периодом 2π,
симметрична относительно π
 
Частотная характеристика W ω Частотная характеристика W e Ω
определена от 0 до +∞ определена от 0 до π (fN Гц)

 ЗАЧАСТУЮ  (ПОЧТИ ВСЕГДА)


Ω ω
W e обозначают W e , понимая, что ω дискретная частота

Синтез дискретных систем в частотной области, т.е.


подбор регулятора по желаемой ЛАХ, по сути, невозможен

156 / 256
Устойчивость дискретных систем

Физический смысл устойчивости дискретных систем


Устойчивость цифровых систем не связана с физической целостно-
стью рассматриваемой системы. Устойчивость в цифровых системах
стоит понимать как отсутствие стремления численного значения вы-
хода системы к значениям ± ∞.
Устойчивость дискретных систем
Критерии оценки устойчивости цифровых систем во многом схожи с
критериями для непрерывных систем, однако в отличии от непрерыв-
ных систем в рассчет должен приниматься период дискретизации.

Критерии устойчивости дискретных систем:


• критерий Джури (алгебраический);
• критерий устойчивости для систем в переменных состояния;
• критерий Найквиста (частотный).

157 / 256
Устойчивость дискретных систем
Основная идея
Передаточная функция:
m
, n n
Y Y X ci z
W(z) = K (z + qi ) (z + pj ) =
i
z − pi
i=1 j=1

Ряд:
n
 X  n   n
−1 ci z X
−1 z X
Z = ci Z = ci (pi )k
i
z − pi i
z − pi i

Сходится при условии:



pi < 1

Другими словами, полюса цифровой системы (в общем случае


комплексные) должны лежать в круге единичного радиуса

158 / 256
Устойчивость дискретных систем
Критерий Джури
Критерий Джури
Полином D(z) = an zn + an−1 z−1 + . . . + a0 не будет иметь корней за
кругом единичного радиуса, при выполнении следующих условий:
D(1) > 0
(−1)n D(−1) > 0
|a0 | < an
|b0 | > |bn−1 |
|c0 | > |cn−2 |
..
.
|g0 | > |g2 |

Цифровая система с полиномом знаменателя D(z) = 0 будет устойчива

159 / 256
Устойчивость дискретных систем
Критерий Джури
Для критерия Джури формируется следующая таблица:
z0 z1 z2 z3 ··· zn−1 zn n
a0 a1 a2 a3 ··· an−1 an 1
an an−1 an−2 an−3 ··· a1 a0 2
b0 b1 b2 b3 ··· bn−1 2
bn−1 bn−2 bn−3 bn−4 ··· b0 3
c0 c1 c2 c3 ··· 3
cn−2 cn−3 cn−4 cn−5 ··· 4
.. .. .. .. ..
. . . . .
g0 g1 g2 n

Для системы второго порядка будет только одна строчка


Повышение порядка на единицу добавляет сразу две строки
160 / 256
Устойчивость дискретных систем
Критерий Джури
Расчет коэффициентов:

a0 an−i

bi =
an ai

b0 bn−i−1

ci =
bn−1 bi

c0 cn−i−2

di =
cn−2 ci
···
и т.д.

161 / 256
Устойчивость дискретных систем
Определение устойчивости по критерию Джури
Для заданного D(z) оценить устойчивость по критерию Джури
D(z) = z3 − 1.8 z2 + 1.05 z − 0.2

Проверяем первые три пункта критерия:


D(1) = 1 − 1.8 + 1.05 − 0.2 = 0.05 > 0 X
3
(−1) D(−1) = −(−1 − 1.8 − 1.05 − 0.2) = 4.05 > 0 X
|a0 | = 0.2 < a3 = 1 X

z0 z1 z2 z3
-0.2 1.05 -1.8 1.0
1.0 -1.8 1.05 -0.2
b0 b1 b2

162 / 256
Устойчивость дискретных систем
Определение устойчивости по критерию Джури
Вычисляем коэффициенты bi :

−0.2 1.0 −0.2 −1.8

b0 = = −0.96, b1 = = 1.59,
1.0 −0.2 1.0 1.05

−0.2 1.05

b2 = = −0.69
1.0 −1.8

Получим итоговую таблицу таблицу:


z0 z1 z2 z3
-0.2 1.05 -1.8 1.0
1.0 -1.8 1.05 -0.2
-0.96 1.59 -0.69
-0.69 1.59 -0.96
0.45 -0.43
163 / 256
Устойчивость дискретных систем
Определение устойчивости по критерию Джури
Все необходимые критерии выполняются:
D(1) = 1 − 1.8 + 1.05 − 0.2 = 0.05 > 0 X
(−1)3 D(−1) = −(−1 − 1.8 − 1.05 − 0.2) = 4.05 > 0 X
|a0 | = 0.2 < a3 = 1 X
|b0 | = 0.96 > |b2 | = 0.69 X
|c0 | = 0.45 > |c1 | = 0.43 X

система устойчива
Полином знаменателя передаточной функции можно перезаписать:
D(z) = (z − 0.5)2 (z − 0.8)

164 / 256
Устойчивость дискретных систем
Определение допустимого значения F
Для заданной G(z):
0.368 z + 0.264
G(z) =
z2 − 1.368 z + 0.368
Определить допустимые значения коэффициента усиления F в цепи от-
рицательной обратной связи, при которых замкнутая цифровая система
останется устойчивой.

Полином знаменателя передаточной функции замкнутой системы:


D(z) = z2 + (0.368 F − 1.368) z + (0.368 + 0.264 F)

Формируем таблицу:
z0 z1 z2
0.368 + 0.264 F 0.368 F − 1.368 1.0

165 / 256
Устойчивость дискретных систем
Определение допустимого значения F
Проверяем первые три пункта критерия Джури:
D(1) = 1 + 0.368 F − 1.368 + 0.368 + 0.264 F = 0.632 F > 0
⇒F>0
(−1)2 D(−1) = 1 − 0.368 F + 1.368 + 0.368 + 0.264 F > 0
2.736
⇒F< = 26.3 ⇒ F < 26.3
0.104
|a0 | < a2 = 0.368 + 0.264 F < 1
0.632
⇒F< = 2.39 ⇒ F < 2.39
0.264

система будет устойчива при 0 < F < 2.39

166 / 256
Устойчивость дискретных систем
Критерий устойчивости для системы в переменных состояния
Критерий устойчивости
Дискретная система, заданная в переменных состояния, будет устой-
чивой, если собственные значения матрицы состояния по модулю бу-
дут меньше единицы, т.е. будут находиться в круге единичного ради-
уса, т.е.

λi A < 1

167 / 256
Устойчивость дискретных систем
Критерий Найквиста
Критерий Найквиста
По аналогии с непрерывными системами критерий Найквиста позво-
ляет определить устойчивость дискретной замкнутой системы (с от-
рицательной обратной связью) по устойчивости цифровой разомкну-
той системы.

Замкнутая дискретная система будет устойчива при условии, что ко-


личество охватов N годографом Найквиста точки (-1, 0) в положи-
тельном направлении (против часовой стрелки) будет равно разности
между нулями Z-и полюсами P разомкнутой системы, находящимися
за кругом единичного радиуса.
N =Z−P

168 / 256
Синтез дискретных систем
Управляемость системы по Калману
Полная управляемость (Controllability):
Способность системы оказывать влияние на все элементы вектора
состояния. Другими словами, это способность системы с помощью
закона управления u(k) перейти из состояния x(0) в состояние x(N).
Неполная управляемость (Stabilizability):
Неполную управляемость можно назвать стабилизируемостью, т.е.
способностью системы с помощью закона управления u(k) приве-
сти систему в устойчивое состояние. Другими словами, все элементы
вектора состояния, которые не управляемы обязательно должны быть
устойчивы.

169 / 256
Синтез дискретных систем
Управляемость системы по Калману
Изменение вектора состояния:
x(1) = A x(0) + B u(0)
x(2) = A x(1) + B u(1) = A2 x(0) + A B u(0) + B u(1)
···
x(N) = AN x(0) + AN−1 B u(0) + AN−2 B u(1) + . . . + B u(N − 1)
 
u(N − 1)
i u(N − 2)
 
h
= AN x(0) + B A B A2 B · · · AN−1 B u(N − 3)
 
| {z } ··· 


C
u(0)

Матрица C называется матрицей управляемости

170 / 256
Синтез дискретных систем
Управляемость системы по Калману
Уравнение состояния для момента N:
x(N) = AN x(0) + C u

Перепишем уравнение состояния для момента N:


C u = x(N) − AN x(0)

для решения которого необходимо, чтобы rank (C) = n.

Критерий управляемости по Калману:


Система или пара (A, B) называется управляемой, если:
rank (C) = n .

171 / 256
Синтез дискретных систем
Модальное управление
Модальное управление
Управление, при котором формируемый закон управления влияет на
каждую моду (каждый элемент вектора состояния) системы. Цель
управления сформировать систему с обратной связью с полюсами
pd , определяющими желаемую динамику системы, что достигается
путем выбора (расчета) коэффициентов F при законе управления:
h i
u(k) = −F x(k) = − f0 · · · fn−2 fn−1 x(k) .

Методы решения задачи:


• прямой метод;
(только для канонической формы управления) ;
• с использованием формулы Аккермана.

172 / 256
Синтез дискретных систем
Модальное управление. Прямой метод
Автономная система в канонической форме управления:
   
0 1 ··· 0 0
··· · · ·
   
x(k + 1) =   x(k) +   u(k)
 
 0 0 ··· 1  0
−a0 −a1 · · · −an−1 1

При законе управления u(k) = −F x(k):


   
0 1 ··· 0 0
··· · · · 
   h i
x(k + 1) =   x(k) −   f0 · · · fn−2 fn−1 x(k)
 
 0 0 ··· 1  0
−a0 −a1 · · · −an−1 1

173 / 256
Синтез дискретных систем
Модальное управление. Прямой метод
Матрица A − B F примет вид:
 
0 1 ··· 0
···
 
A − BF = 
 

 0 0 ··· 1 
−(a0 + f0 ) −(a1 + f1 ) · · · −(an−1 + fn−1 )
Полином знаменателя замкнутой системы:
α(z) = zn + (an−1 + fn−1 ) zn−1 + . . . + (a0 + f0 )
= zn + αn−1 zn−1 + . . . + α0
при αi = ai + fi

174 / 256
Синтез дискретных систем
Модальное управление. Прямой метод
Полином знаменателя замкнутой системы:
α(z) = zn + αn−1 zn−1 + . . . + α0 = 0
при αi = ai + fi

Пусть имеется набор желаемых полюсов pdi , для которого:


n−1
Y
β(z) = (z − pdi ) = zn + βn−1 zn−1 + . . . + β0 = 0
i=1

Тогда элементы вектора F определяются как:


βi = αi = ai + fi
=⇒ fi = βi − ai

175 / 256
Синтез дискретных систем
Модальное управление. Формула Аккермана
Пусть имеется набор желаемых полюсов pdi , для которого:
n−1
Y
β(z) = (z − pdi ) = zn + βn−1 zn−1 + . . . + β0
i=0

По формуле Аккермана F определяется как:


h ih i−1
F = 0 0 . . . 1 B A B . . . An−1 B γ(A)

где:
γ(A) = An + βn−1 An−1 + . . . + β0 I

Модальное, как и другие виды управления, требует знания полного


вектора состояния x, чего на практике нет

176 / 256
Синтез дискретных систем
Модальное управление. Прямой метод. Пример
Задана автономная система:
( 
x(k + 1) = A − B F x(k)
,
y(k) = C x(k)
   
0 1 0 0
A = 0 0 1  , B = 0 ,
   
2 −1 1 1

Текущие полюса полюса системы:


h i
p0 = 1.3532 −0.1766 + 1.2028 −0.1766 − 1.2028

Желаемые полюса замкнутой системы:


h i
pd = 0.2 0.5 0.7

177 / 256
Синтез дискретных систем
Модальное управление. Прямой метод. Пример
Полином знаменателя замкнутой системы:
α(z) = z3 + (a2 + f2 ) z2 + (a1 + f1 ) z + (a0 + f0 )
= z3 + (−1 + f2 ) z2 + (1 + f1 ) z + (−2 + f0 )

Желаемые полюса замкнутой системы:


h i
pd = 0.2 0.5 0.7

Полином знаменателя замкнутой системы c желаемыми полюсами:


m−1
Y
β(z) = (z − pdi ) = (z − 0.2) (z − 0.5) (z − 0.7)
i=1
= z3 − 1.4 z2 + 0.59 z − 0.07

178 / 256
Синтез дискретных систем
Модальное управление. Прямой метод. Пример
Полученные полиномы:
α(z) = z3 + (−1 + f2 ) z2 + (1 + f1 ) z + (−2 + f0 )
β(z) = z3 − 1.4 z2 + 0.59 z − 0.07
Рассчитываем F как:
 >  >  >  >
f0 β0 − a0 −0.07 − (−2) 1.93
F = f1  =  β1 − a1  =  0.59 − 1  = −0.41
       
f2 β2 − a2 −1.4 − (−1) −0.4

Матрица A − B F примет вид:


 
0 1 0
A − BF =  0 0 1
 
0.07 −0.59 1.4

179 / 256
Синтез дискретных систем
Модальное управление. Формула Аккермана. Пример
По формуле Аккермана F определяется как:
h ih i−1
F = 0 0 ... 1 B AB ... A B n−1 γ(A)

Для той же системы получим:


     
0 0 1
B = 0 , A B =  1  , A2 B =  1  .
     
1 1 0

Соответственно:    
h i 0 0 1 h i−1 1 −1 1
B A B A2 B = 0 1 1  , B A B A2 B = −1 1 0 .
   

1 1 0 1 0 0

180 / 256
Синтез дискретных систем
Модальное управление. Формула Аккермана. Пример
Желаемые полюса замкнутой системы:
h i
pd = 0.2 0.5 0.7

Полином знаменателя замкнутой системы c желаемыми полюсами:


m−1
Y
β(z) = (z − pdi ) = z3 − 1.4 z2 + 0.59 z − 0.07
i=1

Полином γ(A) получим как:


 
1.93 −0.41 −0.4
γ(A) = A3 − 1.4 A2 + 0.59 A1 − 0.07 I =  −0.8 2.33 −0.81
 
−1.62 0.01 1.52

181 / 256
Синтез дискретных систем
Модальное управление. Формула Аккермана. Пример
По формуле Аккермана F определим как:
h ih i−1
F = 0 0 ... 1 B AB ... A B n−1 γ(A)
h ih i−1
= 0 0 1 B A B A2 B γ(A)
  
h i 1 −1 1 1.93 −0.41 −0.4
= 0 0 1 −1 1 0  −0.8 2.33 −0.81
  
1 0 0 −1.62 0.01 1.52
h i
= 1.93 −0.41 −0.4

182 / 256
Синтез дискретных систем
Финитное и терминальное управление
Финитное управление
Это управление, цель которого заключается в переводе системы из
заданного начального состояния x(0) в заданное конечное состояние
x(kf ) за ограниченное (но не заданное) время kf .
Терминальное управление
Это управление, цель которого заключается в переводе системы из
заданного начального состояния x(0) в заданное конечное состояние
x(N) в заданный момент времени kf = N.

183 / 256
Синтез дискретных систем
Финитное управление
Финитное управление
Сформулировано Бутковским, как управление цель которого заклю-
чается в переводе системы из заданного начального состояния в за-
данное конечное состояние за ограниченное время.

По сути, цель управления - быстродействие.

Финитное управление по другому называют управлением с конечным


временем регулирования. Управление достигается за счет сведения
к нулю собственных значений матрицы A − B F за kf тактов, т.е.
i
A − B F = 0 , для i > kf ,

где:
imin - минимальное время регулирования.

184 / 256
Синтез дискретных систем
Финитное управление
Финитное управление по состоянию
При таком управлении система возвращается в нулевое состояние из
произвольного исходного x(0):
i
x(k) = A − B F x(0) == 0 .

Финитное управление по выходной переменной


Решается аналогичная задача финитному управлению по состоянию,
но используется значения выхода системы y(k).

Недостатком финитного управления является


существенное |u| ↑ и |x| ↑ при T → 0,
что физически может быть не реализуемо (особенно управление)

185 / 256
Синтез дискретных систем
Финитное управление. Пример
Задана автономная система:
( 
x(k + 1) = A − B F x(k)
,
y(k) = C x(k)
     
0 1 0 0 h i 0 1 0
A = 0 0 1  , B = 0 , F = 2 −1 1 , A−BF = 0 0 1  .
     
2 −1 1 1 0 0 0

Начальные условия:
 
x01
x(0) = x02  .
 
x03

186 / 256
Синтез дискретных систем
Финитное управление. Пример
При управлении по состоянию:
 h i>
x(1) = A − B F x(0) = x02 x03 0
 h i>
x(2) = A − B F x(1) = x03 0 0
 h i>
x(3) = A − B F x(2) = 0 0 0

Независимо от x(0) управление завершается за imin = 3 такта

При управлении по выходной переменной:


h i
C = 0 1 0 , y(0) = x02 , y(1) = x03 , y(2) = 0

Управление завершается за imin = 2 такта

187 / 256
Синтез дискретных систем
Оптимальное управление
Оптимальное управление
Задачей оптимального управления является формирование управля-
ющего воздействия, например, определение F в u(k) = −F x(k), пу-
тем минимизации некоторой целевой функции J:
    kf  
X
min J x, u = V x(kf ) + L x, u ,
u
k=0

с некоторыми (возможными) ограничениями:


x(k) = g (x, u) ,

где:
kf - конечный (терминальный) момент времени;
L(·) - интегральная оценка “затрат”;
V(·) - терминальная оценка “затрат”.
188 / 256
Синтез дискретных систем
Оптимальное управление
Обобщенная функция потерь:
    kf  
X
min J x, u = V x(kf ) + L x, u
u
k=0

Некоторые виды оптимального управления:


• kf → ∞, V(·) = 0: infinite-horizon control;
• kf = N, V(·) 6= 0: finite-horizon control;
• при заданных kf = N = const и x(kf ): терминальное управление;
• L(·) и V(·) квадратичные, система детерминированная: линейно-квадратичн
управление (LQR);
• L(·) и V(·) квадратичные, система стохастическая: линейно-квадратично
гауссовское управление (LQGR).

189 / 256
Синтез дискретных систем
Линейно-квадратичное управление
Линейно-квадратичное регулирование по состоянию
Метод формирования оптимального закона управления u(k) = −F x(k)
путем минимизации целевой функции следующего вида:

J = x> (kf ) Q x(kf )


kf  
X
+ x> (k) Q x(k) + u> (k) R u(k) + 2 x> (k) N u(k)
k=0

где:
Q - весовая матрица состояния системы;
R - весовая матрица состояния управления;
N - весовая матрица корреляции состояния и управления.

В зависимости от задачи составляющие J могут не использоваться


190 / 256
Синтез дискретных систем
Линейно-квадратичное управление
Виды линейно-квадратичного управления:
• kf → ∞, x> (kf ) Q x(kf ) = 0: infinite-horizon control;
• kf = N, V(·) 6= 0: finite-horizon control;
Infinite-horizon
Управление вычисляется на неограниченном по времени интервале:
X∞  
J= x> (k) Q x(k) + u> (k) R u(k)
k=0

Finite-horizon
Управление вычисляется фиксированном по времени интервале:
N−1 
X 
>
J = x (N) Q x(N) + x> (k) Q x(k) + u> (k) R u(k)
k=0

191 / 256
Синтез дискретных систем
Линейно-квадратичное управление
Линейно-квадратичное регулирование по выходной переменной
При отсутствии информации о x(k) построить LQR можно по до-
ступным измерениям y(k) = C x(k) следующим образом (покажем на
примере infinite-horizon управления):
X∞  
J= y> (k) Qy y(k) + u> (k) R u(k)
k=0
∞ 
X 
= x> (k) C> Qy C x(k) + u> (k) R u(k)
k=0

где:
Qy - весовая матрица выхода системы.

Аналогично и для finite-horizon управления


Отсюда очевиден один из вариантов выбора Q = C> Qy C
192 / 256
Синтез дискретных систем
Линейно-квадратичное управление
Физический смысл минимизации:
J = x> (kf ) Q x(kf )
kf  
X
+ x> (k) Q x(k) + u> (k )R u(k) + 2 x> (k) N u(k)
k=0

• минимизация x> (k) Q x(k) - минимизация энергии состояния;


• минимизация u> (k) R u(k) - минимизация энергии управления;
• минимизация x> (k) N u(k) - балансировка величины управления и со-
стояния системы.

193 / 256
Синтез дискретных систем
Линейно-квадратичное управление. Решение задачи infinite-horizon управления
Минимизируя целевую функцию:
∞ 
X 
> >
J= x (k) Q x(k) + u (k) R u(k)
k=0

Определим F как:
 
> > −1
F= R+B P B B> P A

P - решение алгебраического уравнения Риккати (ARE):


 
> > >
P = Q + A P A + A P B R + B P B −1 B> P A

P  0, симметричная матрица
>
При добавлении x (k) N u(k) вид уравнения Риккати усложняется

194 / 256
Синтез дискретных систем
Линейно-квадратичное управление. Решение задачи finite-horizon управления
Минимизируя целевую функцию:
N−1 
X 
>
J = x (N) Q x(N) + x> (k) Q x(k) + u> (k) R u(k)
k=0

Определим F как:
 −1
> >
F= R + B P (k + 1) B B> P(k + 1) A

P - решение алгебраического уравнения Риккати (ARE):


 −1
> > >
P(k + 1) = Q + A P(k) A + A P(k) B R + B P(k) B B> P(k) A

PN = Q по условию управления
u(N) не определена, т.к. x(N) = A x(N − 1) + B u(N − 1)

195 / 256
Оценка вектора состояния в дискретных системах
Оценка вектора состояния в дискретных системах
Наблюдаемость системы по Калману
Полная наблюдаемость (Observability):
Способность системы определить значение вектора состояния x(0)
по имеющимся N измерениям y(0), y(1), . . ., y(N). С практической
точки зрения речь идет об оценке вектора состояния x(k).
Неполная наблюдаемость (Detectability):
Неполную наблюдаемость можно назвать детектируемостью, т.е. спо-
собностью системы определить элементы вектора состояния x(0),
которые непосредственно не измеряются. Другими словами, все эле-
менты вектора состояния системы, которые не измеряются непосред-
ственно, обязательно должны быть наблюдаемы.

197 / 256
Оценка вектора состояния в дискретных системах
Наблюдаемость системы по Калману
Изменение выхода системы:
y(0) = C x(0)
y(1) = C x(1) = C A x(0)
···
y(N − 1) = C x(N − 1) = C AN−1 x(0)
что в векторном виде с N измерениями:
   
y(0) C
 y(1)   C A 
   
 =  x(0)
 ···   ··· 
y(N − 1) C AN−1
| {z }
O
Матрица O называется матрицей наблюдаемости
198 / 256
Оценка вектора состояния в дискретных системах
Наблюдаемость системы по Калману
Полученное матричное уравнение:
y = O x(0)

Требуемое решение:
x(0) = O −1 y

для решения которого необходимо, чтобы rank (O) = n.

Критерий наблюдаемости по Калману:


Система или пара (A, C) называется наблюдаемой, если:
rank (O) = n .

199 / 256
Наблюдатели Люенбергера

Наблюдатель
Динамическая система, описываемая той же реализацией {A, B, C, D}
что и исходная система, которая используется для оценки x̂(k) (опре-
деления значений) вектора состояния исходной системы x(k).

Основные виды наблюдателей Люенбергера:


• полный наблюдатель порядка n (full-order observer);
• апериодический наблюдатель (deadbeat observer);
• наблюдатель по текущему измерению (current observer);
• редуцированный наблюдатель (reduced-order observer);
• оптимальный наблюдатель (фильтр Калмана) (Kalman Filter);
• гибридный фильтр Калмана (hybrid Kalman filter).

200 / 256
Наблюдатели Люенбергера
Полный наблюдатель
Полный наблюдатель
Полный наблюдатель - это динамическая система порядка n, равного
порядку исходной системы:
(
x(k + 1) = A x(k) + B u(k)
y(k) = C x(k) + D u(k)

Размер вектора состояния системы вместе с наблюдателем в данном


случае равен 2 n, что вычислительно не эффективно, т.к. оцениваться
будут все элементы вектора состояния, даже те, которые измеряются
напрямую.

201 / 256
Наблюдатели Люенбергера
Полный наблюдатель. Получение записи системы с наблюдателем
Динамика системы:
(
x(k + 1) = A x(k) + B u(k)
y(k) = C x(k) + D u(k)

Формируем динамику наблюдателя следующим образом:


( 
x̂(k + 1) = A x̂(k) + B u(k) + L y(k) − ŷ(k)
ŷ(k) = C x̂(k) + D u(k)
где:
x̂ - оценка вектора состояния;
ŷ - выход наблюдателя (т.к. x̂ - оценка, то и выход будет оценкой);
L - коэффициенты усиления наблюдателя.

Нужно получить описание всей системы вместе с наблюдателем


202 / 256
Наблюдатели Люенбергера
Полный наблюдатель. Получение записи системы с наблюдателем

По аналогии с наблюдателем для непрерывных систем


запишем динамику всей системы через x(k + 1) и e(k + 1)
Ошибка оценки:
e(k) = x(k) − x̂(k)
e(k + 1) = x(k + 1) − x̂(k + 1)

Запишем динамику ошибки e(k + 1) учитывая, что:


x(k + 1) = A x(k) + B u(k)

x̂(k + 1) = A x̂(k) + B u(k) + L y(k) − ŷ(k)
y(k) = C x(k) + D u(k)
ŷ(k) = C x̂(k) + D u(k)
u(k) = −F x̂(k)

203 / 256
Наблюдатели Люенбергера
Полный наблюдатель. Структурная схема системы с наблюдателем

204 / 256
Наблюдатели Люенбергера
Полный наблюдатель. Получение записи системы с наблюдателем
Уравнения состояния системы и наблюдателя:
x(k + 1) = A x(k) + B u(k)

x̂(k + 1) = A x̂(k) + B u(k) + L y(k) − ŷ(k)

Динамика ошибки:
e(k + 1) = x(k + 1) − x̂(k + 1)

= A x(k) + B u(k) − A x̂(k) − B u(k) − L y(k) − ŷ(k)
= A x(k) − B Fx̂(k) − A x̂(k) + B F x̂(k)

− L C x(k) + D u(k) − C x̂(k) − D u(k)
 
= A − LC x(k) − x̂(k)

= A − L C e(k)

205 / 256
Наблюдатели Люенбергера
Полный наблюдатель. Получение записи системы с наблюдателем
Динамика системы с наблюдателем описывается:
x(k + 1) = A x(k) − B F x̂(k)

e(k + 1) = A − L C e(k)

Запишем динамику системы через x(k) и e(k), исключив x̂(k)


Сделаем следующую замену:
x̂(k) = x(k) − e(k)

Уравнение для x(k + 1) примет вид:


x(k + 1) = A x(k) + B u(k) = A x(k) − B F x̂(k)

= A x(k) − B F x(k) − e(k)

= A − B F x(k) + B F e(k)

206 / 256
Наблюдатели Люенбергера
Полный наблюдатель. Получение записи системы с наблюдателем
Таким образом, уравнения состояния системы с наблюдателем:

x(k + 1) = A − B F x(k) + B F e(k)

e(k + 1) = A − L C e(k)

Выход системы с наблюдателем:


y(k) = C x(k) + D u(k)

Динамика системы с наблюдателем:


" # " #" #
 x(k + 1) A − B F B F x(k)
 =
e(k + 1) 0 A − L C e(k)


y(k) = C x(k) + D u(k)

207 / 256
Наблюдатели Люенбергера
Полный наблюдатель. Принцип разделения
Уравнение состояния системы с наблюдателем:
" # " #" #
x(k + 1) A − BF BF x(k)
=
e(k + 1) 0 A − L C e(k)

Характеристический полином:

z I − A + B F −B F

= zI − A + BF zI − A + LC


0 z I − A + L C | {z } | {z }
система наблюдатель

Определитель может быть разделен на два определителя,


что иллюстрирует, что наблюдатель не влияет на динамику системы

208 / 256
Наблюдатели Люенбергера
Апериодический наблюдатель
Апериодический наблюдатель
Если пара (A, C) наблюдаема, то можно сформировать такой L, что:

λi A − L C = 0 ,

откуда следует, что для kf < n:


kf
e(k + 1) = A − LC e(k) == 0 .

Минимальное kf зависит от размера наибольшего блока Жордана в


соответствующей канонической форме матрицы A − L C.

Апериодический наблюдатель, по своей сути,


является динамической системой с финитным управлением,
или это полный наблюдатель с финитным управлением

209 / 256
Наблюдатели Люенбергера
Наблюдатель по текущему измерению
Наблюдатель по текущему измерению
В ранее рассмотренных видах наблюдателей оценка x̂(k) формиру-
ется на основе измерений до y(k − 1) включительно. В наблюдателе
по текущему измерению оценка x̂(k) формируется на основе измере-
ний до y(k) включительно, что реализуется за счет предварительной
оценки x̄(k) и последующей коррекции x̂(k):
x̄(k + 1) = A x̂(k) + B u

x̂(k + 1) = x̄(k + 1) + Lc y(k + 1) − ȳ(k + 1)
где:
Lc - матрица наблюдателя по текущему измерению;

Реализация такого наблюдателя возможна если


время на оценку x̂(k) меньше такта работы дискретной системы
210 / 256
Наблюдатели Люенбергера
Наблюдатель по текущему измерению. Получение записи системы с наблюдателем
Формируем динамику наблюдателя следующим образом:

x̄(k + 1) = A x̂(k) + B u(k)


x̂(k + 1) = x̄(k + 1) + Lc y(k + 1) − ȳ(k + 1)

ŷ(k) = C x̂(k)

Учитывая, что:

ȳ(k + 1) = C x̄(k + 1) = C A x̂(k) + B u(k)
u(k) = −F x̂(k)

Сведем описание наблюдателя к следующему виду:


 

x̂(k + 1) = A x̂(k) − B F x̂(k) + Lc y(k + 1) − C A x̂(k) − B F x̂(k)
= A x̂(k) − B F x̂(k) + Lc y(k + 1) − Lc CA x̂(k) + Lc C B F x̂(k)





 = A − Lc C A x̂(k) − B F x̂(k) + Lc C B F x̂(k) + Lc y(k + 1)

ŷ(k) = C x̂(k)
211 / 256
Наблюдатели Люенбергера
Наблюдатель по текущему измерению. Получение записи системы с наблюдателем
По аналогии с наблюдателем для непрерывных систем запишем динамику
всей системы через x(k + 1) и e(k + 1).

Ошибка оценки:
e(k) = x(k) − x̂(k)
e(k + 1) = x(k + 1) − x̂(k + 1)

Запишем динамику ошибки e(k + 1) учитывая, что:


x(k + 1) = A x(k) + B u(k)

x̂(k + 1) = A − Lc C A x̂(k) − B F x̂(k) + Lc C B F x̂(k) + Lc y(k + 1)
y(k + 1) = C x(k + 1)

= C A x(k) + B u(k)
u(k) = −F x̂(k)

212 / 256
Наблюдатели Люенбергера
Наблюдатель по текущему измерению. Получение записи системы с наблюдателем
Уравнения состояния системы и наблюдателя:
x(k + 1) = A x(k) + B u(k)

x̂(k + 1) = A − Lc C A x̂(k) − BF x̂(k) + Lc CB F x̂(k) + Lc y(k + 1)

Динамика ошибки:
e(k + 1) = x(k + 1) − x̂(k + 1)

= A x(k) − B F x̂(k) − A − Lc C A x̂(k) + B F x̂(k)
− Lc C B F x̂(k) − Lc C A x(k) + Lc C B F x̂(k)

= A − Lc C A e(k)

213 / 256
Наблюдатели Люенбергера
Наблюдатель по текущему измерению. Получение записи системы с наблюдателем
Уравнения состояния системы с наблюдателем:
x(k + 1) = A x(k) − B F x̂(k)

e(k + 1) = A − Lc C A e(k)

Запишем динамику системы через x(k) и e(k), исключив x̂(k)


Сделаем следующую замену:
x̂(k) = x(k) − e(k)

Уравнение для x(k + 1) примет вид:


x(k + 1) = A x(k) + B u(k) = A x(k) + B F x̂(k)

= A x(k) − B F x(k) − e(k)

= A − B F x(k) + B F e(k)

214 / 256
Наблюдатели Люенбергера
Наблюдатель по текущему измерению. Получение записи системы с наблюдателем
Таким образом, уравнения состояния системы с наблюдателем:

x(k + 1) = A − B F x(k) + B F e(k)

e(k + 1) = A − Lc CA e(k)

Выход системы с наблюдателем:


y(k) = Cx(k)

Динамика системы с наблюдателем:


" # " #" #
 x(k + 1) A − B F B F x(k)
 =
e(k + 1) 0 A − Lc C A e(k)


y(k) = Cx(k)

Преимуществом наблюдателя по текущему измерению является


использование наиболее “свежих” измерений
215 / 256
Наблюдатели Люенбергера
Редуцированный наблюдатель
Редуцированный наблюдатель
Наблюдатель порядка n−q, которым оцениваются только те элементы
вектора состояния, которые не измеряются напрямую:
" #" #
xm ← измеряем (m - measure)
x=
xe ← оцениваем (e - estimate)

Динамика системы примет вид:


" # " #" # " #
x m (k + 1) A mm A me xm (k) B
+ m u(k)


 =
 xe (k + 1)

Aem Aee xe (k) Be
" #
 h i x (k)
 m

 y(k) = I 0 = xm (k)
xe (k)

Наблюдатель требуется только для x̂e (k)


216 / 256
Наблюдатели Люенбергера
Редуцированный наблюдатель. Получение записи системы с наблюдателем
Из уравнений состояния исходной системы:
xm (k + 1) = Amm xm (k) + Ame xe (k) + Bm u(k)
xe (k + 1) = Aem xm (k) + Aee xe (k) + Be u(k)

Сформируем динамику системы с вектором состояния xe (k):




 xe (k + 1) = Aee xe (k) + Aem xm (k) + Be u(k)

 | {z }

 известный вход

 | {z }

 уравнение состояния системы




 xm (k + 1) − Amm xm (k) − Bm u(k) = Ame xe (k)

 | {z }

 известные измерения

| {z }
уравнение выхода системы

Для этой системы (часть исходной) и требуется наблюдатель

217 / 256
Наблюдатели Люенбергера
Редуцированный наблюдатель. Получение записи системы с наблюдателем
Сопоставив с общей формой записи в пространстве состояний:
(
x(k + 1) = A x(k) + B u(k)
y(k) = C x(k)
получим:


 xe (k + 1) = Aee xe (k) + Aem xm (k) + Be u(k)

 | {z } | {z } | {z }

 x(k+1) A x(k) B u(k)

xm (k + 1) − Amm xm (k) − Bm u(k) = Ame xe (k)







| {z } | {z }
y(k) C x(k)

Для этой системы (часть исходной) и требуется наблюдатель

218 / 256
Наблюдатели Люенбергера
Редуцированный наблюдатель. Получение записи системы с наблюдателем
Формируем динамику наблюдателя следующим образом:
( 
x̂(k + 1) = A x̂(k) + B u(k) + Lr y(k) − ŷ(k)
ŷ(k) = C x̂(k)

и с учетом следующих замен (после сопоставления)


x(k + 1) ← xe (k + 1)
A ← Aee
Bu(k) ← Aem xm (k) + Be u(k)
C ← Ame

получим динамику наблюдателя:


  
x̂e (k + 1) = Aee − Lr Ame  x̂e (k) + Aem − Lr Ame xm (k)

+ Be − Lr Bm u(k) + Lr xm (k + 1)

ŷe (k) = Ame x̂e (k)

219 / 256
Наблюдатели Люенбергера
Редуцированный наблюдатель. Получение записи системы с наблюдателем

По аналогии с наблюдателем для непрерывных систем


запишем динамику всей системы через xe (k + 1) и ee (k + 1)
Ошибка оценки:
" # " # " #
em (k) xm (k) − x̂m (k) 0
e(k) = = =
ee (k) xe (k) − x̂e (k) xe (k) − x̂e (k)

Запишем динамику ошибки ee (k + 1) учитывая, что:


xe (k + 1) = Aee xe (k) + Aem xm (k) + Be u(k)
 
x̂e (k + 1) = Aee − Lr Ame x̂e (k) + Aem − Lr Ame xm (k)

+ Be − Lr Bm u(k) + Lr xm (k + 1)

220 / 256
Наблюдатели Люенбергера
Редуцированный наблюдатель. Получение записи системы с наблюдателем
Уравнения состояния оцениваемой части системы и наблюдателя:
xe (k + 1) = Aee xe (k) + Aem xm (k) + Be u(k)
 
x̂e (k + 1) = Aee − Lr Ame x̂e (k) + Aem − Lr Ame xm (k)

+ Be − Lr Bm u(k) + Lr xm (k + 1)

Динамика ошибки:
ee (k + 1) = xe (k + 1) − x̂e (k + 1)

= Aee xe (k) + Aem xm (k) + Be u(k) − Aee − Lr Ame x̂e (k)
 
− Aem − Lr Ame xm (k) − Be − Lr Bm u(k) − Lr xm (k + 1)
  
= Aee − Lr Ame xe (k) − x̂e (k) = Aee − Lr Ame ee (k)

Динамику оцениваемой части системы и наблюдателя сформируем через:


xm (k) и xe (k) - как частей вектора состояния x(k)
и только одной составляющей ошибки ee (k)
221 / 256
Наблюдатели Люенбергера
Редуцированный наблюдатель. Получение записи системы с наблюдателем
Уравнения состояния системы с наблюдателем:
xm (k + 1) = Amm xm (k) + Ame xe (k) + Bm u(k)
xe (k + 1) = Aee xe (k) + Aem xm (k) + Be u(k)

ee (k + 1) = Aee − Lr Ame ee (k)

Запишем динамику системы через xm (k), xe (k) и ee (k), исключив x̂e (k)
Сделаем следующую замену:
" # " #
x̂m (k) xm (k)
x̂(k) = =
x̂e (k) xe − ee (k)

x̂e (k) входит в уравнение через u(k) = −F x̂

222 / 256
Наблюдатели Люенбергера
Редуцированный наблюдатель. Получение записи системы с наблюдателем
Разложим u(k) = −F x̂ на “m” и “e” компоненты:
" # " #
h i x̂ (k) h i x (k)
m m
u(k) = −F x̂(k) = − Fm Fe = − Fm Fe
x̂e (k) xe − ee (k)

и при замене Bu(k) получим:


" # " #
Bm h i xm (k)
Bu(k) = − Fm Fe
Be xe − ee (k)
" #
Bm Fm xm (k) + Bm Fe xe (k) − Bm Fe ee (k)
=−
Be Fm xm (k) + Be Fe xe (k) − Be Fe ee (k)

По аналогии с полным наблюдателем:


первые два слагаемых, по сути: −B F x(k), а последнее: B F e(k)

223 / 256
Наблюдатели Люенбергера
Редуцированный наблюдатель. Получение записи системы с наблюдателем
Уравнения состояния системы с наблюдателем примут вид:
xm (k + 1) = Amm xm (k) + Ame xe (k) + Bm u(k)
xe (k + 1) = Aee xe (k) + Aem xm (k) + Be u(k)

ee (k + 1) = Aee − Lr Ame ee (k)

при замене Bu(k):


" #
B F x (k) + Bm Fe xe (k) − Bm Fe ee (k)
Bu(k) = − m m m
Be Fm xm (k) + Be Fe xe (k) − Be Fe ee (k)
примут вид:
xm (k + 1) = Amm xm (k) + Ame xe (k) − Bm Fm xm (k) − Bm Fe xe (k) + Bm Fe ee (k)
xe (k + 1) = Aee xe (k) + Aem xm (k) − Be Fm xm (k) − Be Fe xe (k) + Be Fe ee (k)

ee (k + 1) = Aee − Lr Ame ee (k)

224 / 256
Наблюдатели Люенбергера
Редуцированный наблюдатель. Получение записи системы с наблюдателем
Уравнения состояния системы с наблюдателем:
 
xm (k + 1) = Amm − Bm Fm xm (k) + Ame − Bm Fe xe (k) + Bm Fe ee (k)
 
xe (k + 1) = Aem − Be Fm xm (k) + Aee − Be Fe xe (k) + Be Fe ee (k)

ee (k + 1) = Aee − Lr Ame ee (k)

Выход системы с наблюдателем:


" #
h i x (k)
m
y(k) = I 0 = xm (k)
xe (k)

Динамика системы с наблюдателем:


    

 x m (k + 1) A mm − B F
m m A me − B F
m e B F
m e x m (k)

 xe (k + 1)  =  Aem − Be Fm Aee − Be Fe Be Fe   xe (k) 
   

 ee (k + 1) 0 0 Aee − Lr Ame ee (k)


y(k) = xm (k)
225 / 256
Наблюдатели Люенбергера
Редуцированный наблюдатель. Получение записи системы с наблюдателем
Динамика системы с наблюдателем:
    

 x m (k + 1) A mm − B m Fm A me − B m Fe B m F e x m (k)

 xe (k + 1)  =  Aem − Be Fm Aee − Be Fe Be Fe   xe (k) 
   

 ee (k + 1) 0 0 Aee − Lr Ame ee (k)


y(k) = xm (k)
Что идентично:
    
x m (k + 1) B m Fe x m (k)
 A − BF



 x (k + 1)  = Be Fe   xe (k) 
 
e

 ee (k + 1) 0 Aee − Lr Ame ee (k)


y(k) = xm (k)

226 / 256
Наблюдатели Люенбергера
Редуцированный наблюдатель. Случай не единичной C
Полученный ранее результат справедлив для:
" #
h i x (k)
m
y(k) = I 0 = xm (k)
xe (k)
h i
Если C 6= I 0 , применим преобразование:
η=T x 
A, B, C, D −−−→ T A T−1 , T B, C T−1 , D


в результате чего получим:


" #
−1
h i C
CT = I 0 , при T = e
C

Матрица C
e выбирается такой, чтобы T была обратимой

227 / 256
Наблюдатели Люенбергера
Методы определения матрицы наблюдателя
Ошибка оценки:
e(k) = x(k) − x̂(k)
e(k + 1) = x(k + 1) − x̂(k + 1)

Динамика ошибки:

e(k + 1) = A − L C e(k)

Если пара (A, C) наблюдаема, то:



• λi A − L C можно сделать произвольными путем выбора L;
• e(k) → 0 при k → k + 1.

Для e(k) → 0 на интервале [k, k + 1] переходной процесс наблюдателя


должен завершаться до момента k + 1, что достигается путем выбора L

228 / 256
Наблюдатели Люенбергера
Методы определения матрицы наблюдателя
Динамика ошибки полного наблюдателя:

e(k + 1) = A − L C e(k)
=⇒ пара (A, C) должна быть наблюдаема

Динамика ошибки наблюдателя по текущему измерению:



e(k + 1) = A − Lc C A e(k)
=⇒ пара (A, C A) должна быть наблюдаема

Динамика ошибки редуцированного наблюдателя:



e(k + 1) = Aee − Lr Ame ee (k)
=⇒ пара (Aee , Ame ) должна быть наблюдаема

Соответствующее L, Lc и Lr может определяться методом модального


управления для соответствующей наблюдаемой пары

229 / 256
Фильтры Калмана
Kalman Filters
Фильтры Калмана
Семейство методов оценивания вектора состояния x по получаемым
измерениям в режиме реального времени моделях подобного вида
(пример дискретной системы):
( 
xk+1 = f xk , uk + ωk

yk = h xk + νk

Виды фильтра Калмана


• линейный фильтр Калмана (KF);
(гибридный, фильтр Калмана-Бюси)
• расширенный фильтр Калмана (EKF);
(дискретный, непрерывно-дискретный, непрерывный)
(модификации: итерационный, робастный, инвариантный)
• сигма-точечный фильтр Калмана (UKF).

230 / 256
Фильтры Калмана
Линейный фильтр Калмана
Линейный фильтр Калмана
Это оптимальный наблюдатель по текущему измерению для системы:
(
xk+1 = Ak xk + Bk uk + ωk
yk = Ck xk + Dk uk + νk
где стохастические процессы:
ωk ∼ N (0, Qk )
νk ∼ N (0, Rk )

обладают следующими характеристиками:


E ω ω > = Q ← ковариационная матрица
 

E ν ν > = R ← ковариационная матрица


 

E ω ν > = 0 ← взаимная ковариационная матрица


 

231 / 256
Фильтры Калмана
Линейный фильтр Калмана. Инициализация начальных условий
Обозначения:
x̂n|m - априорная оценка в момент времени n по m < n измерениям;
x̂k|k - апостериорная оценка в момент времени k;
Pn|m - априорная ковариация ошибок;
Pk|k - апостериорная ковариация ошибок.

Инициализация начальных условий:


x̂0 = E [ x0 ] = mx0
h   >i
P0 = E x0 − mx0 x0 − mx0 = Px0

Фильтр Калмана состоит из двух шагов на каждом такте:


прогноз (априорная оценка) и корректировка (апостериорная оценка)

232 / 256
Фильтры Калмана
Линейный фильтр Калмана. Алгоритм формирования оценок
Априорная оценка:
x̂k|k−1 = Ak x̂k−1|k−1 + Bk uk
Pk|k−1 = Ak Pk−1|k−1 A>
k + Qk

Апостериорная оценка:
zk = yk − Ck x̂k|k−1
Sk = Ck Pk|k−1 C>
k + Rk
−1
Kk = Pk|k−1 C> k Sk
x̂k|k = x̂k|k−1 + Kk zk
>
+ Kk Rk K>

Pk|k = I − Kk Ck Pk|k−1 I − Kk Ck k

233 / 256
Фильтры Калмана
Линейный фильтр Калмана. Оптимальная матрица усиления
Критерий оценивания (среднеквадратичная ошибка):
xk − x̂k|k

Минимизируется tr Pk|k , где
>
+ Kk Rk C>

Pk|k = I − Kk Ck Pk|k−1 I − Kk Ck k

Что достигается если:



∂ tr Pk|k >
= −2 Ck Pk|k + 2 Kk Sk = 0
∂ Kk
Откуда находим оптимальную матрицу усиления:
>
Kk Sk = Ck Pk|k = Pk|k−1 C>
k
−1
Kk = Pk|k−1 C>
k Sk

234 / 256
Фильтры Калмана
Линейный фильтр Калмана. Упрощение вычислений
Если модель и начальные условия истинны, то:
   
E xk − x̂k|k = E xk − x̂k|k−1 = 0
E [ zk ] = 0
 
Pk|k = COV xk − x̂k|k
 
Pk|k−1 = COV xk − x̂k|k−1
Sk = COV [zk ]
Если Kk - оптимален, то можно использовать:

Pk|k = I − Kk Ck Pk|k−1

На практике такая оптимальность фильтра Калмана недостижима

235 / 256
Фильтры Калмана
Фильтр Калмана-Бюси
Фильтр Калмана-Бюси
Это полностью непрерывный аналог фильтра Калмана для системы:
(
ẋ(t) = A(t) x(t) + B(t) u(t) + ω(t)
y(t) = C(t) x(t) + D(t) u(t) + ν(t)

Оценка требует интегрирования двух дифференциальных уравнений:


ẋ(t) = A(t) x(t) + B(t) u(t) + K(t) z(t)
Ṗ(t) = A(t) P(t) + P(t) A> + Q(t) − K(t) R(t) K> (t)
где:
z(t) = y(t) − C(t) x̂(t)
K(t) = P(t) C> (t) R−1

Q(t) и R(t) - матрицы спектральной плотности мощности


Уравнение Ṗ(t) = . . . - частный случай матричного уравнения Риккати
236 / 256
Фильтры Калмана
Гибридный фильтр Калмана
Гибридный фильтр Калмана
Это фильтр Калмана для оценки вектора состояния непрерывной си-
стемы по дискретным измерениям, т.е. модель системы:
(
ẋ(t) = A(t) x(t) + B(t) u(t) + ω(t)
yk = Ck xk + νk
где:
xk = x(tk )
ω(t) ∼ N (0, Q(t))
νk ∼ N (0, Rk )

Инициализация начальных условий:


x̂0|0 = E [ x(t0 ) ]
P0|0 = VAR [x(t0 )]
237 / 256
Фильтры Калмана
Гибридный фильтр Калмана. Алгоритм формирования оценок
Априорная оценка:
ẋ(t) = A(t) x(t) + B(t) u(t) при x̂(tk−1 ) = x̂k−1|k−1
Ṗ(t) = A(t) P(t) + P(t) A> + Q(t) при P(tk−1 ) = Pk−1|k−1
Интегрируя два дифференциальных уравнения получаем:
x̂k|k−1 = x̂(tk )
Pk|k−1 = P(tk )

Апостериорная оценка (идентична дискретному ФК):


−1
Kk = Pk|k−1 C> k C> >
k Pk|k−1 Ck + Rk

x̂k|k = x̂k|k−1 + Kk yk − Ck x̂k|k−1
>
+ Kk Rk K>

Pk|k = I − Kk Ck Pk|k−1 I − Kk Ck k

238 / 256
Фильтры Калмана
Проблемы использования линейного фильтра Калмана
Проблемы использования линейного фильтра Калмана:
• только для линейных моделей;
• если модель не истинна или начальные условия определены не верно,
то оценка может сильно отличаться от истины;
• сложно определять матрицы Qk и Rk ;
(частично решается с помощью методов адаптивной калманов-
ской фильтрации)
 
• малость Qk может привести к вычислению Pk|k с λ Pk|k < 0;
(решение через декомпозицию, например P = L D L> )
• фильтр Калмана-Бюси физически не реализуем.

Частичное решение этих проблем - расширенный фильтра Калмана


(для нелинейных моделей)

239 / 256
Фильтры Калмана
Расширенный фильтр Калмана
Расширенный фильтр Калмана
Метод оценивания для нелинейных моделей вида:
( 
xk+1 = f xk , uk + ωk

yk = h xk + νk

основной идеей которого является линеаризация модели на каждом


шаге, т.е. f можно использовать для оценки x, но нельзя использо-
вать напрямую для определения P.

Линеаризация происходит за счет вычисления матрица Якоби


(получаем расширенный фильтр Калмана первого порядка)

240 / 256
Фильтры Калмана
Расширенный фильтр Калмана. Алгоритм формирования оценок
Априорная оценка:

x̂k|k−1 = f x̂k−1|k−1 , uk

∂ f
Fk =
∂x

x̂k−1|k−1 , uk
Pk|k−1 = Fk Pk−1|k−1 F>
k + Qk

В случае итерационной линеаризации получаем


итерационный расширенный фильтр Калмана

РФК более высоких порядков требует вычисление частных производных


более высокого порядка

241 / 256
Фильтры Калмана
Расширенный фильтр Калмана. Алгоритм формирования оценок
Апостериорная оценка:

zk = yk − h xk|k−1

∂ h
Hk =
∂x

x̂k|k−1
Sk = Hk Pk|k−1 H>
k + Rk
−1
Kk = Pk|k−1 H>
k Sk

x̂k|k = x̂k|k−1 + Kk zk
>
+ Kk Rk K>

Pk|k = I − Kk Hk Pk|k−1 I − Kk Hk k

EKF не оптимален по определению


(оптимален только в случае истинной линейной модели)

242 / 256
Фильтры Калмана
Расширенный фильтр Калмана
Виды расширенного фильтра Калмана
• полностью непрерывный EKF;
• гибридный EKF.

Все аналогично линейному фильтру Калмана, за исключением


нелинейных f(·) и h(·) и линеаризации системы на каждом шаге
Для полностью непрерывного EKF:

∂ f ∂h
F(t) = , H(t) =

∂x ∂x

x̂(t) , u(t) x̂(t)

Для гибридного EKF:



∂ f ∂ h
F(t) = , Hk =
∂x ∂x

x̂(t) , u(t) x̂k|k−1
243 / 256
Фильтры Калмана
Сигма-точечный фильтр Калмана
Сигма-точечный фильтр Калмана
Метод оценивания для нелинейных моделей вида:
( 
xk+1 = f xk , uk + ωk

yk = h xk + νk

основной идеей которого является линеаризация модели (методом


сигма-точечечного преобразования) на каждом шаге.

UKF призван повысить устойчивость EKF, но на практике, ввиду


линеаризации, все равно возможна неустойчивость алгоритма

244 / 256
Фильтры Калмана
Сигма-точечный фильтр Калмана. Весовые коэффициенты
Вычисление весовых коэффициентов:
λ = α2 (L + κ) − L
λ
W0x =
L+λ
λ
W0C = + (1 − α2 + β)
L+λ
λ
WiC = Wix =
2 (L + λ)
где:
λ - масштабный коэффициент;
κ - масштабный коэффициент (обычно принимает равным нулю);
α - коэффициент, характеризует разброс сигма-точек относительно x;
β - коэффициент, характеризующий информацию о распределении x;
Обычно: β = 2 для нормального распределения, α  1
245 / 256
Фильтры Калмана
Сигма-точечный фильтр Калмана
Расширенный вектор состояния и ковариационная матрица:
   
xk Pk 0 0
sk = ωk  , Ck =  0 Qk 0 
   
νk 0 0 Rk

Размерность расширенного вектора состояния - L


Инициализация начальных условий:
  
E x0|0
ŝ0|0 =  E [ ω0 ] 
 
E [ ν0 ]
 

 >
 P0|0 0 0
C0|0 = E s0|0 − ŝ0|0 s0|0 − ŝ0|0 =  0 Q0|0 0 
 
0 R0|0
246 / 256
Фильтры Калмана
Сигма-точечный фильтр Калмана. Алгоритм формирования оценок
Вычисление 2 L + 1 сигма-точек:
 
Xk−1|k−1 = sk−1|k−1
0
  q  
Xk−1|k−1 = sk−1|k−1 + L + λ Ck−1|k−1 , i = 1 , . . . , L
i i
  q  
Xk−1|k−1 = sk−1|k−1 + L + λ Ck−1|k−1 , i = L − 1, ... , 2L
i i−L

где · i - i-ый столбец соответствующей матрицы

Вычисление матрицы · можно эффективно получить через разложение
Холецкого, т.е. B = A A∗ , что для вещественных матриц B = A A
В матричной форме:
h p p i
X = Xk−1|k−1 Xk−1|k−1 + γ Ck−1|k−1 Xk−1|k−1 + γ Ck−1|k−1

γ= L + λ, X - квадратная матрица размерностью 2 L + 1
247 / 256
Фильтры Калмана
Сигма-точечный фильтр Калмана. Алгоритм формирования оценок
Априорная оценка сигма-точек:
 
x x ω
Xk|k−1 = F Xk−1|k−1 , uk−1 , Xk−1|k−1
 
x ν
Yk|k−1 = H Xk|k−1 , Xk−1|k−1
F(·) : R2 L+1 → Rn , H(·) : R2 L+1 → Rq
Априорные оценки:
2L
X  
x̂k|k−1 = Wix Xk|k−1
x
i
i=0
2L
X  
ŷk|k−1 = Wix Yk|k−1
i
i=0
2L
X     >
Pk|k−1 = WiC x
Xk|k−1 − x̂k|k−1 x
Xk|k−1 − x̂k|k−1
i i
i=0
248 / 256
Фильтры Калмана
Сигма-точечный фильтр Калмана. Алгоритм формирования оценок
Расчет ковариаций:
2L
X     >
Pyy = WiC x
Yk|k−1 − ŷk|k−1 x
Yk|k−1 − ŷk|k−1
i i
i=0
2L
X     >
Pxy = WiC x
Xk|k−1 − x̂k|k−1 x
Yk|k−1 − ŷk|k−1
i i
i=0

Апостериорные оценки:
 −1
Kk = Pxy Pyy
 
x̂k|k = x̂k|k−1 + Kk yk − ŷk|k−1
>
Pk|k = Pk|k−1 − Kk Pyy Kk

249 / 256
Фильтры Калмана
Сигма-точечный фильтр Калмана. Алгоритм формирования оценок
Апостериорная оценка расширенного вектора состояния:
 
xk|k
ŝk|k = E [ ωk ]
 
E [ νk ]

Апостериорная оценка расширенной ковариационной матрицы:


 
Pk|k 0 0
Ck|k =  0 Rk 0 
 

0 Qk

При E [ ωk ] = 0 и E [ νk ] = 0 алгоритм можно упростить,


что разделит вычисление сигма-точек на два этапа

250 / 256
Фильтры Калмана
Сигма-точечный фильтр Калмана. Случай E [ ωk ] = 0 и E [ νk ] = 0
Инициализация начальных условий:
 
x̂0|0 = E x0|0
 
 >
P0|0 = E x0|0 − x̂0|0 x0|0 − x̂0|0

Вычисление сигма-точек:
h i
p p
Xk−1|k−1 = xk−1|k−1 xk−1|k−1 + γ Pk−1|k−1 xk−1|k−1 − γ Pk−1|k−1
 

Xk|k−1 = F Xk−1|k−1 , uk−1

251 / 256
Фильтры Калмана
Сигма-точечный фильтр Калмана. Случай E [ ωk ] = 0 и E [ νk ] = 0
Априорные оценки:
2L
X

x̂k|k−1 = Wix Xk|k−1
i=0
2L
X     >
Pk|k−1 = WiC x
Xk|k−1 − x̂k|k−1 x
Xk|k−1 − x̂k|k−1 + Qk
i i
i=0

Перерасчет сигма-точек и расчет измерений:


h
∗ ∗
√ ∗
√ i
Xk|k−1 = Xk|k−1 Xk|k−1 + γ Qk Xk|k−1 − γ Qk
 
Yk|k−1 = H Xk|k−1
2L
X  
ŷk|k−1 = Wix Yk|k−1
i
i=0

252 / 256
Фильтры Калмана
Сигма-точечный фильтр Калмана. Случай E [ ωk ] = 0 и E [ νk ] = 0
Расчет ковариационных матриц и апостериорных оценок:
X2L     >
C x x
Pyy = Wi Yk|k−1 − ŷk|k−1 Yk|k−1 − ŷk|k−1 + Rk
i i
i=0
2L
X     >
Pxy = WiC x
Xk|k−1 − x̂k|k−1 x
Yk|k−1 − ŷk|k−1
i i
i=0
 −1
Kk = Pxy Pyy
 
x̂k|k = x̂k|k−1 + Kk yk − ŷk|k−1
>
Pk|k = Pk|k−1 − Kk Pyy Kk

Не требуется вычислений апостериорного расширенного вектора


состояния и расширенной ковариационной матрицы
253 / 256
Фильтры Калмана
Адаптивный фильтр Калмана
Адаптивный фильтр Калмана
Любой фильтр Калмана в котором помимо оценок вектора состояния
и ковариационной матрицы теми или иными способами осуществля-
ется оценка ковариационных матриц входных и/или измерительных
шумов, т.е. Q и R называется адаптивным фильтром Калмана.

Строго говоря задача одновременной оценки ковариационных матриц


Q и R на текущий момент в общем виде не решена.

Дополнительно в адаптивной калмановской фильтрации могут оцени-


ваться начальные условия x̂0|0 и P0|0 .

254 / 256
Фильтры Калмана
Федеративный фильтр Калмана
Федеративный фильтр Калмана
Федеративный фильтр Калмана это объединение нескольких локаль-
ных фильтров Калмана, результат оценки которых либо формирует
большой вектор состояния, либо используется для выбора наиболее
достоверного источника информации.

255 / 256
Фильтры Калмана

Существуют и альтернативные подходы к оценке вектора состояния:


• фильтр частиц;
• фильтр Махони;
• фильтр Мэджвика.

Последние два начинают активно использоваться в задачах навигации, они


более специализированные, чем фильтры Калмана.

256 / 256

Вам также может понравиться