Ідентифікація

Змн.


Арк.

№ докум.

Підпис

Дата

Арк.

АУВП-21-154.00.00.00.000 КП


Змн.


Арк.

№ докум.

Підпис

Дата

Арк.

АУВП-21-154.00.00.00.000 КП


Вступ

 

Моделювання можна розглядати як заміщення  досліджуваного об'єкта (оригіналу) його умовним чином, описом чи іншим об'єктом, що називається моделлю і забезпечує адекватну з оригіналом поведінку  в рамках деяких припущень і прийнятних похибок.

Маючи справу з  системою, нам необхідна будь-яка  схема співвідношення між собою, що характеризують систему змінних. В широкому розумінні ми будемо називати моделлю сукупність зв‘язків між сигналами, що спостерігаються. Очевидно, що моделі можуть приймати різноманітну форму і записуватись з різною степінню математичної деталізації. Вибір того рівня складності, який робить модель корисною, визначається запланованим використанням.

Конструювання моделей  по даним спостережень включає три  основні компоненти: дані, множина  моделей, правило оцінки ступеня  відповідності досліджуваної моделі даним спостережень.

  1. Дані спостережень.  Вхідні і вихідні дані іноді реєструються в процесі проведення цілеспрямованих ідентифікаційних експериментів, коли користувач може визначити перелік і моменти вимірювання сигналів, причому деякі з вхідних сигналів можуть бути керованими. Задача планування експериментів, таким чином, полягає в тому, щоб, враховуючи можливі обмеження, вибрати максимально інформативні дані про сигнали системи. В деяких випадках користувач не буде мати можливості впливати на хід експерименту і повинен спиратись на дані нормальної експлуатації.
  2. Множина моделей. Множина моделей-кандидатів встановлюється за допомогою фіксації тієї групи моделей, в межах якої ми збираємось шукати найбільш підходящу. Саме на цьому етапі знання формальних властивостей моделі необхідно поєднати з апріорними знаннями, інженерним мистецтвом та інтуїцією. Множина моделей інколи стає результатом детального моделювання, після чого на основі правдивих знань формується модель, яка включає параметри з ще невизначеними значеннями. Інша можливість полягає в тому, щоб без всяких обґрунтувань використати стандартні моделі. Множина моделей, в яких параметр розглядається як змінні засоби під налаштування моделей до заданих даних і не відображають властивостей процесу, називаються чорним ящиком.
  3. Визначення на основі даних спостережень найкращої моделі множини. Ця частина власне і є методом ідентифікації. Оцінка якості моделі пов’язана з вивченням поведінки моделей в процесі їх використання для відтворювання даних вимірювань.

Залишається перевірити, чи модель достатньо добре виконує  своє призначення. Такі перевірки називаються  процедурами підтвердження моделей. До них відносяться різні процедури оцінювання відповідності моделей даним спостереження, апріорній інформації і поставленій прикладній задачі. Незадовільна поведінка моделі по кожному з цих компонентів заставляє нас відмовитись від моделі, тоді як добре її функціонування створює певну ступінь довіри до моделі. Модель ніколи не можна вважати істинним описом системи. Її можна розглядати як спосіб досить доброго опису тих аспектів поведінки системи, які являють для нас найбільший інтерес.

Процедура ідентифікації  системи породжує наступну логіку дій:

  1. Зібрати дані.
  2. Вибрати множину моделей.
  3. Вибрати найкращу модель з множини моделей.

Однак цілком можливо, що перша із знайдених моделей  не витримає перевірки на етапі підтвердження. Тоді потрібно повернутися і переглянути  різні кроки процедури.

Існує декілька причин недосконалості моделей:

  • Чисельний метод не дозволяє знайти найкращу по вибраному критерію модель;
  • Критерій вибрано невдало;
  • Множина моделей виявилась неповноцінною в тому значенні, що вони не можуть достатньо добре описати систему;
  • Множина даних спостережень не була достатньо інформативною для того, щоб забезпечити вибір хорошої моделі.

По суті, головним в прикладних задачах ідентифікації  є ітераційне вирішення всіх цих  питань, особливо третього, на основі апріорної  інформації і результатів попередніх спроб. Очевидно, що важливим інструментальним засобом рішення цієї ітераційної  задачі є діалогове програмне  забезпечення.

 

РОЗДІЛ 1. Обробка вхідного сигналу U(t), знаходження апроксимуючої функції та вибір оптимальної моделі

 

    1. Табулювання сигналу

 

Опишемо процес виконання  обробки сигналів функції, заданої  в завданні.

1. За допомогою функції  imread завантажуємо фрагмент зображення і присвоюємо його до відповідної змінної. Потім задаємо координатну площину, відповідно до завдання, в якій буде проходити табулювання. Оскільки Matlab будує вісь ординат зверху до низу, для того щоб вирахувати достовірні координати необхідно початок вісі позначити від’ємним значенням, яке прямує до нуля. Далі за допомогою функції image накладаємо координатну сітку на малюнок. За допомогою функції getline виконуємо табулювання (дана функція дозволяє вибрати ламану лінію в поточному вікні зображення за допомогою мишки).

Нижче наведено лістинг програмного  модуля в середовищі Matlab:

>> im_zd=imread('wt1.jpg');

imshow(im_zd);

im_ut=imcrop(im_zd);

imshow(im_ut);

x=[0 150];

y=[-2 0];

image(im_ut,'XData',x,'YData',y);

[x, y]=getline

 

2. Після виконання табулювання  ми отримаємо значення координат  крайніх точок характеристики  випадкового процесу. Оскільки  вісь ординат ми позначали  починаючи з від’ємного значення, всі координати по даній вісі будуть від’ємними. Для того щоб забрати від’ємній знак, матрицю значень по вісі ординат ставимо по модулю.

Нижче наведено лістинг програмного  модуля в середовищі Matlab:

>>y=abs(y);

 

Після чого ми отримаємо  дві матриці даних: матриця даних  зміни часу – x(t) та  матриця даних зміни значення сигналу залежно від часу – y(ut).

Таблиця 1

Табулювання вхідного сигналу U(t)

Номер точки

Сигнал  U(t)

Номер точки

Сигнал  U(t)

t

U(t)

t

U(t)

1

10,2258346

0,85216792

11

21,92957786

1,262985498

2

11,1675151

1,18829139

12

24,08199042

1,091811505

3

12,2437213

1,25676099

13

25,69629984

1,076250233

4

13,3199276

1,40303695

14

26,77250612

0,87706595

5

14,3961339

0,89573948

15

27,71418661

1,216301682

6

15,606866

0,70900421

16

30,13565074

0,976658092

7

16,4140207

1,35946539

17

32,15353751

1,017117399

8

18,8354848

0,80859635

18

33,22974379

0,864616933

9

19,9116911

0,91752526

19

34,17142429

1,185179138

10

21,2569489

0,85839242

20

35,51668213

1,312781569


Продовження таблиці 1

Номер точки

Сигнал  U(t)

Номер точки

Сигнал  U(t)

t

U(t)

t

U(t)

21

36,4583626

1,53375163

52

74,26010818

1,073137979

22

38,6107752

0,87706595

53

75,33631446

0,727677738

23

39,956033

1,06380122

54

76,41252074

1,182066883

24

40,8977135

0,83660664

55

77,62325281

0,982882601

25

41,9739198

0,90818849

56

78,43040751

1,157168848

26

43,3191777

0,90196399

57

79,91019115

0,929974276

27

44,2608582

0,85528017

58

82,06260371

1,238087463

28

45,3370644

1,09492376

59

83,0042842

0,63742236

29

46,5477965

0,8054841

60

84,48406783

0,659208141

30

47,6240028

1,16650561

61

85,29122254

0,659208141

31

48,7002091

1,20696492

62

86,23290304

1,185179138

32

49,6418895

1,24119972

63

87,57816089

1,104260523

33

50,9871474

1,02956642

64

88,3853156

0,895739477

34

52,1978795

1,1602811

65

89,73057345

1,325230587

35

53,13956

1,38436342

66

92,01751179

0,72145323

36

54,2157662

1,04201543

67

93,09371807

0,814820862

37

55,2919725

0,99533162

68

94,03539856

0,752575774

38

56,5027046

1,38747568

69

95,24613063

1,219413937

39

57,7134366

0,51915669

70

96,32233691

0,914413003

40

59,8658492

1,52752712

71

97,2640174

0,793035081

41

61,0765813

0,93931104

72

98,74380103

0,914413003

42

61,7492102

0,90507624

73

99,68548153

0,867729187

43

63,094468

0,78681057

74

100,8962136

1,197628156

44

64,1706743

1,18517914

75

101,8378941

1,119821795

45

65,3814064

0,62186109

76

103,0486261

1,09492376

46

67,6683447

1,14471983

77

103,8557809

1,116709541

47

68,4754994

1,03890318

78

105,6046161

1,017117399

48

69,6862315

1,15405659

79

106,277245

0,85528017

49

70,8969636

1,05757671

80

107,4879771

1,129158558

50

71,8386441

1,16650561

81

108,4296575

0,886402714

51

73,0493761

0,78369832

82

109,6403896

0,811708608


Продовження таблиці 1

Номер точки

Сигнал  U(t)

Номер точки

Сигнал  U(t)

t

U(t)

t

U(t)

83

110,851122

0,81170861

97

127,2632674

1,206964919

84

111,792802

1,21630168

98

128,6085253

0,864616933

85

112,734483

1,23186295

99

130,7609378

1,309669315

86

114,214266

0,6685449

100

131,8371441

1,001556127

87

115,155947

1,02022965

101

133,0478762

0,873953696

88

116,366679

1,07625023

102

133,9895567

1,421710474

89

117,442885

0,91752526

103

135,2002887

0,998443873

90

118,653617

1,17584237

104

136,276495

1,12293405

91

119,729823

1,06691347

105

137,3527013

0,870841442

92

122,016762

0,92063751

106

138,4289076

1,051352198

93

122,958442

1,16961787

107

138,4289076

1,091811505

94

124,034649

1,20385266

108

139,3705881

1,129158558

95

125,245381

1,10737278

109

140,5813201

1,03890318

96

126,321587

0,97977035

110

141,5230006

1,09492376


 

 

1.2 Побудова моделі за допомогою поліноміальної інтерполяції поліномом 7-го степеня

Для апроксимації сигналів по відомим вхідним та вихідним параметрам використовують метод найменших  квадратів. В даному випадку рівняння апроксимуючої функції буде:

де  – невідомі коефіцієнти.

Запишемо умову метода найменших квадратів:

тобто

 

Продиференціювавши даний вираз по і прирівнявши його до нуля розв’язуємо слідкуючу систему рівнянь:

 

 

Використовуючи математичний пакет Matlab, виконаємо розрахунок. Нижче наведено лістинг програмного модуля:

clear;

load wt1.mat;

for i=1:8;

    for j=1:8;

        A(i,j)=sum(x.^(i+j-2));

    end;

end;

for i=1:8;

    B(i)=sum(x.^(i-1).*y);

end;

a=B/A;

t=1:150;

f=a(8)*t.^7+a(7)*t.^6+a(6)*t.^5+a(5)*t.^4+a(4)*t.^3+a(3)*t.^2+a(2)*t+a(1);

hPlot=plot(t,f);

hold on;

plot(x,y,'red');

xlabel('t')

ylabel('U(t)')

axis([0,150,-0.2,2.2]);

set (hPlot,'LineWidth',2);

 

Розв’язавши систему, отримаємо  такі значення коефіцієнтів:

 

a0 = 1,29151435944999;      

a1 =-0,0272224047072026;

a2 =0,000865020069750201;

a3 = -4,08236935634828e-06;

a4 =-2,21522202872908e-07;

a5 =3,80702250957075e-09; 

a6 =-2,28826295649309e-11 ;

a7 =4,78851337798592e-14.

 

Нижче наведемо графічну модель (рис. 1.1):

Рис. 1.1 - Поліноміальна модель вхідного сигналу U(t) поліномом n-го порядку

 

1.3 Побудова моделі за допомогою полінома Чебишева

За методом найменших  квадратів рівняння апроксимуючої  функції для  полінома Чебишева буде мати вигляд:

 

де  – невідомі коефіцієнти.

 

Запишемо умову метода найменших квадратів:

тобто

 

Продиференціювавши даний вираз по і прирівнявши його до нуля розв’язуємо слідуючу систему рівнянь:

 

 

В системі  функції    вибрані таким чином:

 

    
   

 

В даних виразах коефіцієнти  визначаються за формулами:

 

    

 

Використовуючи математичний пакет Matlab, виконаємо розрахунок. Нижче наведено лістинг програмного модуля:

clear;

load wt1.mat;

Cheb_por=7;

n=110;

fi=ones(n,7);

for i=1:n

fi(i,2)=x(i)-(1/n)*sum(x);

end;

for p=3:Cheb_por;i=1:n;

beta(p)=-sum(x(i).*fi(i,p-1).^2)/sum(fi(i,p-1).^2);

gama(p)=-sum(x(i).*fi(i,p-1).*fi(i,p-2))/sum(fi(i,p-1).^2);

fi(i,p)=(x(i)+beta(p)).*fi(i,p-1)+gama(p).*fi(i,p-2);

end;

A=fi'*fi;

B=fi'*y;

a=A\B;

for i=1:n;j=1:7;

Cheb(i)=a(j)'*fi(i,j)';

end;

hPlot=plot(x,Cheb);

hold on;

plot(x,y,'red');

xlabel('t');

ylabel('U(t)');

set(hPlot,'LineWidth',2);

 

Розв’язавши систему, такі значення коефіцієнтів:

        a1= 0,974882715534506;

a2=-0,00347405766549091 ;

a3=7,36966019328142e-05;

a4=2,76744747005052e-06;

a5=-2,26238197448055e-08;

a6=-4,75654175893397e-10;

a7=2,57745717420492e-12.

 

На рис. 1.2 наведена модель вхідного сигналу U(t), побудована поліномом Чебишева.

 

Рис. 1.2 - Модель вхідного сигналу U(t), побудована поліномом Чебишева

 

1.4 Побудова моделі за допомогою перетворення Фур’є

Наведемо коротку характеристику перетворень Фур’є.

Вираз виду:

 

називаються тригонометричними  поліномами (ступеня π). Виявляється, що будь-яка безперервна (і не тільки безперервна) функція на проміжку (-π,π) може бути апроксимована з попередньо заданою точністю тригонометричними поліномами з відповідними коефіцієнтами a0 ,…,an, та b0 ,…, bn.

Лінійні комбінації функцій  виду і також називають тригонометричними поліномами, мають період 2πТ. Тому можна так переформулювати наше твердження: будь-яка періодична функція може бути апроксимована тригонометричними поліномами.

Припустимо, що значення функції f(x), виміряються в деякому експерименті й за даними y1,…,ym нам вдалося чисельно оцінити коефіцієнти Фур'є функції f(x).

Часто виявляється, що функція:

 

 

Тоді для знаходження  коефіцієнтів Фур’є використовується наступний метод. Нехай функція  , що має період , представлена рядом Фур’є:

 

Якщо формально помножити  дану рівність на або і почленно проінтегрувати від до , то зайві гармоніки зникнуть і отримаємо формулу для коефіцієнтів:

 

,  

 

В нашому випадку рівняння апроксимуючої лінії буде:

 

де m =7.

Запишемо формули для  розрахунку коефіцієнтів:

 

   

 

Використовуючи математичний пакет Matlab, виконаємо розрахунок. Нижче наведено лістинг програмного модуля:

 

>> clear;

>> load wt1.mat;

>> n=110;

>> Fur_por=4;

>> m=Fur_por;

>> for k=1:m+1

A=(1/n)*sum(y);

B(k)=(2/n)*sum(y.*cos(k*x));

C(k)=(2/n)*sum(y.*sin(k*x));

end

>> for k=1:m+1

for i=1:n

FS(i,1)=A+sum(B(k)*sin(k*x(i))+C(k)*cos(k*x(i)));

end

end

>> plot(x,y,'red')

>> hold on;

>> hPlot=plot(x,FS);

>> xlabel('t')

>> ylabel('U(t)')

>> axis([0,150,-0.2,2.2]);

>> set(hPlot,'LineWidth',2);

Розв’язавши систему, отримаємо  таку модель:

 

Рис. 1.3 - Модель вхідного сигналу U(t), побудована за допомогою перетворення  Фур’є

 

і такі значення коефіцієнтів:

 

 

 

 

1.5 Статистична обробка даних

Розрахуємо коефіцієнти  дисперсії, кореляції та коваріації.

Визначимо коефіцієнти дисперсії  значень часу та функції, за такими формулами:

    

 

Коефіцієнт коваріації за такою формулою:

 

 

Коефіцієнт кореляції  за такою формулою:

 

 

Використовуючи математичний пакет Matlab, виконаємо розрахунок і нижче наведено лістинг програмного модуля:

>> clear;

>> load wt1.mat;

>> n=110;

>> i=1:n;

>> tser=sum(x)/n;

>> fser=sum(y)/n;

>> cov=sum((x-tser).*(y-fser))/(n-1)

>> Dt=sum((x-tser).^2)/(n-1);

>> Du=sum((y-fser).^2)/(n-1)

>> r=cov/sqrt(Dt*Du)

Після виконаного розрахунку отримаємо:

 

cov = -0.2308;

Dt =1.4933e+003;

Du = 0.0414;

r = -0.0294.

 

1.6 Знаходження періодограми сигналів

Періодограма сигналу – це оцінка спектральної щільності потужності (СЩП) сигналу по певній кількості відліків реалізації випадкового процесу, заснована на обчисленні квадрата модуля перетворення Фур'є послідовності даних з використанням статистичного усереднення:

 

 

де XT (iω) – перетворення Фур'є функції x(t) на кінцевому часовому інтервалі, Tr –інтервал фінітності, E – оператор статистичного усереднення (математичне очікування).

Слід зауважити, що дане співвідношення виконується тільки при нескінченному числі використовуваних відрахунків, тому при будь-якому кінцевому N періодограмна оцінка спектральної щільності потужності виявляється зміщеною – виходить, що всередині суми співвідношення кореляційна функція сигналу множиться на трикутну вагову функцію.

Для побудови періодограми сигналу розрахуємо середній спектр потужності , що розраховується за такими залежностями:

де n – загальна кількість точок.

 

Використовуючи математичний пакет Matlab, виконаємо розрахунок і побудуємо періодограму.

Нижче наведено лістинг програмного  модуля:

 

>> clear;

>> load matlabwt1_1.mat;

>> n=106;

>> for k=1:n

w(k,1)=(2*pi*(k))/n;

U(k,1)=(1/sqrt(n))*sum(y.*exp(-j*w(k).*x));

end

>> Ui=imag(U);

>> Ur=real(U);

>> subplot(1,2,1);

>> plot(w,Ui);

>> title('a)');

>> xlabel('Нормована частота(Гц)');

>> ylabel('Спектр щільності(Дб/Гц)');

>> grid on

>> subplot(1,2,2);

>> plot(w,Ur);

>> title('б)');

>> xlabel('Нормована частота(Гц)');

>> ylabel('Спектр щільності(Дб/Гц)');

>> grid on

 

Рис. 1.4 - Періодограма вхідного сигналу U(t), де а) – уявна частина,

б) – дійсна частина 

 

1.7 Вибір оптимальної моделі

Оптимальна модель вибирається  згідно критерію, що відповідає похибці  побудови моделі до вихідної характеристики в співвідношенні до кількості аналізованих даних:

Використовуючи математичний пакет Matlab, виконаємо розрахунок і запишемо результати до таблиці 5.2.

Нижче наведено лістинг програмного  модуля:

 

for i=1:a;n=104;

    Spol_Vt=sqrt(sum((y(i)-f(i)).^2/(n-2)))

end;

SCheb_Ut=sqrt((sum(y-Cheb').^2)/(n-2))

SFur_Ut=sqrt((sum(y-FS).^2)/(n-2))

 

Таблиця 1.2

Оптимальні значення моделей

Вид функції

Поліном

Поліном Чебишева

Функція Фур’є

Значення критерію

0.0397

3.5254e-016

0.0109


 

Як видно з таблиці  1.2, значення критерію мінімальне у тому випадку, коли апроксимуючою функцією виступає поліном Чебишева, отже модель побудована даним чином буде оптимальною.

 

 

 

 

 

 

Розділ  2. Обробка вхідного сигналу V(t), знаходження апроксимуючої функції та вибір оптимальної моделі

 

2.1 Табулювання сигналу

Табулювання графіка функції (сигналу) проводимо тим же способом як і для вхідного сигналу U(t), що описаний в другому розділі.

Після того як ми отримаємо  дві матриці даних: матриця даних зміни часу – xt та  матриця даних зміни значення сигналу залежно від часу – y(vt), складемо таблицю табулювання.

 

Таблиця 2.1

Табулювання вхідного сигналу V(t)

Номер точки

Сигнал  V(t)

Номер точки

Сигнал  V(t)

t

V(t)

t

V(t)

1

4,30220687

1,2786299

15

24,75142581

0,954858844

2

5,51301588

0,66844599

16

25,55863182

0,830331516

3

6,58929056

1,11363119

17

26,76944084

1,449854971

4

7,80009958

0,49099455

18

27,98024986

0,627974609

5

10,2217176

1,61796686

19

29,05652454

0,914387462

6

12,5088013

1,08249935

20

30,53640222

0,802312867

7

13,7196103

0,98599068

21

31,61267691

0,936179745

8

14,6613507

1,17589485

22

32,82348592

0,886368813

9

15,8721597

1,37825176

23

33,8997606

1,194573949

10

17,217503

1,08872572

24

35,24510396

0,780520585

11

18,6973807

1,51211864

25

36,32137864

0,839671066

12

20,7153958

0,5003341

26

38,60846234

1,368912208

13

22,4643421

0,889482

27

39,95380569

0,543918662

14

23,2715481

1,01400932

28

41,03008037

1,586835032


 

Продовження таблиці 2.1

Номер точки

Сигнал  V(t)

Номер точки

Сигнал  V(t)

t

V(t)

t

V(t)

29

42,3754237

0,82410515

58

78,16155688

1,166555301

30

43,3171641

1,26306398

59

79,10329722

0,805426051

31

45,7387821

1,45608134

60

80,44864057

1,428062689

32

47,0841255

0,93617974

61

81,65944959

1,082499355

33

48,1604001

1,07938617

62

83,94653329

1,163442118

34

49,5057435

1,02957524

63

86,23361699

1,505892269

35

50,8510868

0,90193473

64

88,65523502

0,571937311

36

51,6582928

1,15721575

65

89,59697537

1,350233109

37

52,6000332

1,18212122

66

91,07685305

0,8147656

38

54,0799109

0,97353794

67

92,15312773

1,418723139

39

55,4252542

1,1291971

68

92,82579941

1,113631187

40

56,5015289

1,82966332

69

93,36393675

0,911274279

41

57,8468723

1,07938617

70

94,44021143

1,46853407

42

58,9231469

1,26306398

71

95,92008912

0,830331516

43

60,2684903

0,93929293

72

96,72729513

0,749388753

44

61,2102306

0,92684019

73

98,20717282

1,34089356

45

62,4210397

0,98599068

74

99,2834475

0,684011906

46

63,766383

1,23193215

75

100,6287909

1,275516712

47

65,2462607

0,76495467

76

101,7050655

1,194573949

48

66,0534667

0,53457911

77

102,7813402

1,026462057

49

67,2642757

1,08872572

78

104,2612179

0,976651126

50

68,2060161

0,96108521

79

105,2029582

1,670890978

51

69,6858938

1,15098938

80

106,5483016

0,973537943

52

70,7621684

1,10117845

81

107,893645

1,020235691

53

72,1075118

1,27551671

82

109,104454

0,799199684

54

72,9147178

1,33778038

83

111,3915377

0,917500645

55

74,5291298

0,68712509

84

112,333278

1,574382299

56

75,7399388

0,64042734

85

113,6786214

0,942406111

57

76,8162135

1,21325305

86

114,8894304

0,877029264

Ідентифікація