Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_po_IiDS.doc
Скачиваний:
59
Добавлен:
10.11.2019
Размер:
1.24 Mб
Скачать
  1. Основное уравнение идентификации

Часто подача активных воздействий на объект нежелательна. Тогда используют статистическую обработку сигналов, наблюдаемых на входе и выходе, и затем определяют характеристики объектов.

Если входной сигнал x(t) = 0 при t < 0, то реакцию y(t) системы вычисляют с помощью интеграла свертки (свертка x(t) с весовой функцией g(t)):

В общем случае, когда x(t) существует и при t < 0, необходимо вычислять y(t) по формуле

Выполним замену переменной интегрирования: положим  = t  z, тогда z = t  , d = dz, при  =  z = , при  = t z = 0 и

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

(*)

Взаимная корреляционная функция двух процессов

Подставим сюда y(t)

Изменим порядок интегрирования

Последнее выражение записано с учетом того, что в формуле (*) аргумент Rxx есть разность аргументов функций под знаком интеграла. Учитывая второе из равенств (*), можно записать

или

Это соотношение носит название основное уравнение идентификации, или уравнение Винера-Хопфа.

Пусть x(t) белый шум с интенсивностью с, тогда Rxx() = c():

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

Таким образом, идентифицировать систему (т.е. вычислить, например, импульсную характеристику g(t)) можно просто наблюдая белый шум на входе и вычисляя взаимную корреляционную функцию выходного и входного сигналов.

  1. Решение основного уравнения идентификации

Уравнение Винера-Хопфа

относится к классу интегральных уравнений Фредгольма 1-го рода.

Конечно-разностный метод

Верхний предел заменяется конечным T, т.е. решается уравнение

Вводим дискретные значения

i=i T, i=1...n;

j=j T, j=1...n

и записываем:

В матричной форме

Ryx = Rxx G,

где

Решение уравнения

G = Rxx-1 Ryx.

Основная проблема: обращение матриц большой размерности (несколько сотен и более), что представляет трудности даже для обращения симметричных матриц.

Кроме того, необходимо учесть, что Ryx и Rxx получаются из опыта по наблюдениям входа и выхода и потому дискретный аналог уравнения Винера-Хопфа следует записать в виде

или в матричной форме Y = X G + E,

где

Тогда G можно найти из условия J = ET E = (Y - XG)T (Y - XG) = min.

Положив как и ранее dJ/dG = 0 найдем G = (XTX)-1 XTY.

Вопросы к экзамену

  1. Два аспекта понятия моделирования. Понятие об идентификации.

  2. Причины необходимости создания новых моделей.

  3. Характеристики объектов, которые надо учитывать при создании моделей.

  4. Приемы упрощения моделей.

  5. Этапы построения моделей.

  6. Определение цели получения моделей.

  7. Определение ограничений и условий, учитываемых при построении моделей.

  8. Выбор подхода к решению задачи получения модели.

  9. Определение класса модели. Выбор метода решения задачи и ее решение.

  10. Общие принципы построения аналитических моделей.

  11. Модель поплавкового уровнемера.

  12. Модель процесса теплопередачи.

  13. Модель смесителя.

  14. Модель химического реактора.

  15. Модель емкости с изменяющимся уровнем.

  16. Метод наименьших квадратов в одномерном случае

  17. Метод наименьших квадратов в многомерном случае.

  18. Рекуррентный метод наименьших квадратов.

  19. Взвешенный метод наименьших квадратов и др. разновидности МНК.

  20. Получение модели по частотным характеристикам

  21. Свойства метода идентификации по частотным характеристикам (влияние различных факторов на погрешность идентификации).

  22. Идентификация систем по переходной характеристике

  23. Идентификация звена 1-го порядка по переходной функции

  24. Идентификация звена 1-го порядка с запаздыванием по переходной функции

  25. Идентификация параметров колебательного звена 2-го порядка

  26. Определение параметров апериодического звена 2-го порядка

  27. Идентификация звена 2-го порядка по переходной функции с запаздыванием

  28. Метод кратных корней

  29. Свойства кратных корней (влияние различных факторов на погрешность идентификации).

  30. Метод площадей

  31. Свойства метода площадей (влияние различных факторов на погрешность идентификации).

  32. Основное уравнение идентификации.

  33. Решение основного уравнения идентификации.

% ris_az_20

clc; % рис. 20 лек. МСУ для АЗ

K=1; T=1; tmax=80;

t=0:0.1:tmax;

xt=K*(1-exp(-t/T));

figure(1)

plot(t,xt,'k','LineWidth',1.5)

axis([0 tmax 0 1.1*K]);

ax=get(1,'CurrentAxes');

set(ax,'Xtick',[],'Ytick',[])

n=6.5; t0=n*T; x0=K*(1-exp(-t0/T));

line([t0 t0],[0 x0],'Color',[0 0 0],'LineStyle','--');

return

% ris_az_21

clc; % рис. 21 лек. МСУ для АЗ

wmax=10;

w=0:0.1:wmax; A=[];

for tau=[0 0.1 1]

A=[A; 1./(w.*sqrt(1+(w.*tau).^2))];

end

figure(1)

plot(w,A,'k','LineWidth',1.5)

axis([0 wmax 0 1]); grid

%ax=get(1,'CurrentAxes');

%set(ax,'Xtick',[],'Ytick',[])

return

% ris_az_22

clc; % рис. 22 лек. МСУ для АЗ

K=1; T=1; tmax=2.5*T;

t=0:0.05:tmax;

ht=K*(1-exp(-t/T));

figure(1)

plot(t,ht,'k','LineWidth',1.5)

axis([0 tmax 0 1.1*K]);

ax=get(1,'CurrentAxes');

set(ax,'Xtick',[],'Ytick',[])

hT=K*(1-exp(-1));

l1=line([0 tmax],[K K]);

l2=line([0 T],[hT hT]);

l3=line([T T],[0 K]);

l4=line([0 T],[0 K]);

set([l1 l2 l3 l4],'Color',[0 0 0]);

set([l1 l2 l3],'LineStyle','--');

return

% ris_az_23

clc; % рис. 23 лек. МСУ для АЗ

K=1; tau=0.4; T=1; tmax=2.5*T;

t=0:0.05:tmax;

ht=K*(1-exp(-t/T));

t=[0 t+tau];

ht=[0 ht];

figure(1)

plot(t,ht,'k','LineWidth',1.5)

axis([0 tmax 0 1.1*K]);

ax=get(1,'CurrentAxes');

set(ax,'Xtick',[],'Ytick',[])

hT=K*(1-exp(-1));

l1=line([0 tau+tmax],[K K]);

l2=line([0 tau+T],[hT hT]);

l3=line([tau+T tau+T],[0 hT]);

set([l1 l2 l3],'Color',[0 0 0]);

set([l1 l2 l3],'LineStyle','--');

return

% ris_az_24

clc; % рис. 24 лек. МСУ для АЗ

K=1; tau=0.4; T=1; tmax=2.5*T;

t=0:0.05:tmax;

ht=K*(1-exp(-t/T));

t=[0 t+tau];

ht=[0 ht];

figure(1)

plot(t,ht,'k','LineWidth',1.5)

axis([0 tmax 0 1.1*K]);

ax=get(1,'CurrentAxes');

set(ax,'Xtick',[],'Ytick',[])

h1=K*(1-exp(-0.4));h2=K*(1-exp(-1.2));

t1=tau+0.4*T; t2=tau+1.2*T;

l1=line([0 tau+tmax],[K K]);

l2=line([0 t1],[h1 h1]);

l3=line([0 t2],[h2 h2]);

l4=line([t1 t1],[0 h1]);

l5=line([t2 t2],[0 h2]);

set([l1 l2 l3 l4 l5],'Color',[0 0 0]);

set([l1 l2 l3 l4 l5],'LineStyle','--');

return

% ris_az_25

clc; % рис. 25 лек. МСУ для АЗ

tmax=12;

K=1; T0=1;

d=0.15;

b=d/T0;

w=sqrt(1-d^2)/T0;

t=0:0.01:tmax;

h=K*(1-exp(-b*t).*(cos(w*t)+(b/w)*sin(w*t)));

figure(1)

ax=get(1,'CurrentAxes')

hp=plot(t,h,'k','LineWidth',1.5);

axis([0 tmax 0 1.75]);

set(ax,'Xtick',[],'Ytick',[])

hk=line([0 tmax],[1 1]);

t1=T0/sqrt(1-d^2)*(pi-atan(sqrt(1-d^2)/d));

ta1=pi*T0/sqrt(1-d^2);A1=K*exp(-pi*d/sqrt(1-d^2));

h1=line([t1 t1],[0 K+A1]);

h2=line([ta1 ta1],[K K+A1]);

ta2=3*pi*T0/sqrt(1-d^2);A2=K*exp(-3*pi*d/sqrt(1-d^2));

h3=line([ta2 ta2],[K K+A2]);

h4=line([t1 ta1],[K+A1 K+A1]);

t2=t1+2*pi*T0/sqrt(1-d^2);

h5=line([t2 t2],[K 0.45*K]);

h6=line([t1 t2],[0.5*K 0.5*K]);

set([hk h1 h2 h3 h4 h5 h6],'Color',[0 0 0])

set(hk,'LineStyle','--')

return

% ris_az_26

clc; % рис. 26 МСУ

K=1; T1=1; d=0.75; % d=T1/T2

tmax=7; dt=0.05;

t=0:dt:tmax;

ht=K*(1+(d*exp(-t/T1)-exp(-t*d/T1))/(1-d));

t0=T1*log(d)/(d-1);

h0=K*(1-(1+d)*d^(d/(1-d)));

tab=T1*(1+1/d+log(d)/(d-1));

ta=tab-T1*d^(1/(d-1));

figure(1)

plot(t,ht,'k','LineWidth',1.5)

axis([0 tmax 0 1.05*K]);

ax=get(1,'CurrentAxes')

set(ax,'XTick',[],'YTick',[])

l1=line([0 tmax],[K K]);

l2=line([t0 t0],[0 K]);

l3=line([tab tab],[0 K]);

l4=line([ta tab],[0 K]);

l5=line([0 t0],[h0 h0]);

set([l1 l2 l3 l4 l5],'Color',[0 0 0])

set(l1,'LineStyle','--')

return

% ris_az_27

clc; % рис. 27 МСУ

dd=0.01; d=dd:dd:1-dd;

x=d.^(d./(d-1))./(1+d);x=[1 x exp(1)/2];

d=[0 d 1];

y=d./(1+d).^2;

plot(x,y,'k'); grid

dk=0.28;

xk=dk^(dk/(dk-1))/(1+dk);

yk=dk/(1+dk)^2;

l1=line([1 xk],[yk yk]);

l2=line([xk xk],[0 yk]);

set([l1 l2],'Color',[0 0 0])

return

% ris_az_28

clc

T1=0.7; T2=1; d=T1/T2;

K=1; dt=0.005; tmax=3;

t=0:dt:tmax;

ht1=K*(1-(exp(-t/T1*d)-d*exp(-t/T1))/(1-d));

t0=T1*log(d)/(d-1);

h0=K*(1-(1+d)*d^(d/(1-d)));

Ta=T1*(1+1/d+log(d)/(d-1)-d^(1/(d-1)));

TT=t0+T1+T2;

Tb=TT-Ta;

t2=t(find(t>Ta));

ht2=K*(1-exp(-(t2-Ta)/Tb));

T=Tb*(1-h0/K);

tau=t0+T*log(1-h0/K);

t3=t(find(t>tau));

ht3=K*(1-exp(-(t3-tau)/T));

hp=plot(t,ht1,'k','LineWidth',[1.5]);

axis([0 tmax 0 1.1*K]);

ax=get(1,'CurrentAxes')

set(ax,'XTick',[],'YTick',[])

h1=line([0 tmax],[K K]);

h2=line(t2,ht2);

h3=line(t3,ht3,'LineWidth',[1.5])

h4=line([Ta TT],[0 K]);

set(h1,'LineStyle','--')

set([h1 h4],'Color',[0 0 0])

% ris_az_29

clc; % рис. 29 МСУ

K=1; T1=1; d=0.75; % d=T1/T2

tmax=5; dt=0.05;

t=0:dt:tmax;

ht=K*(1+(d*exp(-t/T1)-exp(-t*d/T1))/(1-d));

figure(1)

plot(t,ht,'k','LineWidth',1.5)

axis([0 tmax 0 1.05*K]);

ax=get(1,'CurrentAxes')

set(ax,'XTick',[],'YTick',[])

l1=line([0 tmax],[K K]);

set(l1,'Color',[0 0 0])

set(l1,'LineStyle','--')

return

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]