12. Laboratóriumi gyakorlat MÉRÉSEK FELDOLGOZÁSA 1. A gyakorlat célja Legkisebb négyzetek (LS) módszerén alapuló polinom-illesztési probléma bemutatása és a módszer alkalmazása mérési eredmények feldolgozására, illetve érzékelő karakterisztikák analitikus formájának meghatározása.
2. Elméleti bevezető A laboratóriumi elektromos mérések eredményei általában pontatlanok. A mérési hibák oka lehet a használt mérőműszerek pontatlansága, leolvasási hibák, elektromos és nemelektromos zajok hatása, érintkezési ellenállások változása, stb. A gyakorlat során olyan statisztikai módszer kerül bemutatásra, amellyel ezeket a mérési hibákat ki tudjuk küszöbölni. Lineáris polinom illesztése Feltételezzük, hogy egy Y mennyiséget (például feszültséget) mérünk egy X mennyiség (hőmérséklet) függvényében. Legyenek a mérési eredményeink az alábbi táblázatba összefoglalva: 1. Táblázat X Y
x1 y1
x2 y2
x3 y3
x4 y4
x5 y5
Ha megrajzoljuk az Y=f(X) grafikont, a jelleggörbe nem tökéletesen egyenes. A lineáris karakterisztika az (xi,yi) pontpárok között helyezkedik el. A feladatot fogalmazzuk meg a következő képen: keressük azt az egyenest, amellyel a legjobban meg lehet közelíteni a mérési eredményeket. Legyen a keresett egyenest leíró egyenlet: Y=aX+b
(1)
ahol a és b az ismeretlen, keresett paraméterek. A feladatot optimalizálási problémaként is meg lehet fogalmazni: Keressük úgy az a és b paramétereket, hogy bármely (xi, yi) mérési pont és az egyenes értéke az xi pontban (a xi + b) közötti távolság (ei) négyzete minimális legyen (lásd 1. ábra). Ennek megfelelően képezzük az alábbi hibaösszeget:
83
1 n 2 1 n E = ∑ ei = ∑ ( yi − (axi + b)) 2 2 i =1 2 i =1
(2)
1. Ábra. Egyenes illesztése mérési eredményekre. Keressük az E hibafüggvény minimumát a és b paraméterek függvényében, ehez szükségesek az E hibafüggvény a és b szerinti deriváltjai: n n ∂E ∂E ∂ei =∑ = −∑ ( y i − (axi + b)) xi ∂a i =1 ∂ei ∂a i =1 n n ∂E ∂E ∂ei =∑ = −∑ ( y i − (axi + b)) ∂b i =1 ∂ei ∂b i =1
(3)
Mivel minimumot keresünk, tegyük egyenlővé a fenti deriváltakat zéróval és fejezzük ki a szummákat. Az alábbi egyenletrendszerekhez jutunk:
( y1 − (ax1 + b)) x1 + ( y 2 − (ax 2 + b)) x 2 + ...( y n − (ax n + b)) x n = 0 ( y1 − (ax1 + b)) + ( y 2 − (ax 2 + b)) + ...( y n − (ax n + b)) = 0 Az egyenletrendszer az alábbi alakba hozható:
84
(4)
n n n 2 x a + x b = xi y i ∑ ∑ i ∑ i i =1 i =1 i =1 n n ∑ xi a +nb = ∑ y i i =1 i =1
(5)
Mivel az n darab (xi, yi) mérés pár ismert az egyenes a és b paraméterei egyszerűen meghatározhatóak a fenti lineáris egyenletrendszerből. Másodfokú polinom illesztése Termisztorok vagy kapacitiv-, induktiv- elmozdulás érzékelők esetében a jelleggörbe nem lineáris. Ezekben az esetekben egyenessel csak rosszul vagy egyáltalán nem tudjuk megközelíteni a mérési eredményeket. Ilyenkor célszerű magasabb fokú polinomot illeszteni a mérési eredményeinkre. A számítás menete hasonló az előbb bemutatotthoz. Például másodfokú polinom esetében a használt hibafüggvény az alábbi:
E=
1 n 2 1 n ei = ∑ ( yi − (axi2 + bxi + c)) 2 ∑ 2 i =1 2 i =1
(6)
Deriválással, a, b és c szerint, szintén meghatározhatjuk az E hibafüggvény E . Így három egyenletből álló három ismeretlenes egyenletrendszerhez minimumát, min a ,b , c jutunk, melyből kiszámitjuk a keresett másodfokú polinom együtthatóit. A 2. ábra másodfokú polinom illesztését mutatja.
2. Ábra. Másodfokú polinom illesztése mérési eredményekre. 85
Magasabb fokú polinomok esetében az a probléma léphet fel, hogy a mérési pontokon kívül eső tartományban a polinom nem követi a mérések változását a polinom helyi szélsőértékei vagy nyeregpontjai miatt (lásd 3. ábra). Ezért az illesztett polinom csak az általunk kimért tartományban használható.
3. Ábra. Magasabb fokú polinom illesztése mérési eredményekre. Az illesztési probléma könnyen megoldható Matlab-ban irt rövid program segitségével. A mérések során kapott (xi,yi) pontpárokat (ahol i=1,2,...n, n a mérések száma, xi a bemeneti értékek, yi a kimeneti értékek), átirjuk oszlopmátrix formába, x=(x1,x2,…xn) és y=(y1,y2,…yn). Ha másodfokú polinomot illesztünk, akkor az a,b és c együtthatókat keressük, úgy hogy az y = ax 2 + bx + c egyenlet minden mérési pontpárra felirható legyen. Ennek megfelelően a következő egyenletrendszer alakul ki: y1 = ax12 + bx1 + c 2 y 2 = ax 2 + bx 2 + c (7) . . y n = ax n2 + bx n + c
86
Megalkotjuk a X n×3 mátrixot: x12 2 x2 X = . . 2 xn
x1 1 x 2 1 . . . . x n 1
(8)
Az egyenlet, amit a mátrixformában felirt értékek ki kell elégitsenek, a következő: yn×1=Xn×3⋅P3×1 (9) ahol P egy oszlopmátrix, mely tartalmazza az a,b és c együtthatókat. A P mátrixot a következő összefüggésből határozhatjuk meg: −1 (10) P = XT ⋅X XT ⋅y
(
) (
)
Ismerve a másodfokú polinomot, kiszámithatjuk ymegközelitett(i), majd ábrázolhatjuk grafikusan. y megkoz ( i ) = ax 2 ( i ) + bx( i ) + c (11) A fenti módszert alkalmazva bármilyen fokú polinomot illeszthetünk, csak a mátrixok mérete változik. A bemutatott polinom-illesztési problémát a Matlab ‘polyfit(x,y,n)‘ függvénye megoldja, megadván annak az n-ed fokú polinomnak az együtthatóit, mely a legjobban megközeliti a mért (xi, yi) pontpárokat (példa: coef=polyfit(x,y,3); a=coef(1); b=coef(2); c=coef(3)). A ‘polyval(P,x)’ függvény segitségével megkapjuk azt az n-ed fokú polinomot, melynek együtthatóit a P mátrix (illetve a coef mátrix) tartalmazza, az xi bemeneti értékekre (példa: z= polyval(P,x)).
3. A mérés menete I. Példa: Legyen az alábbi két mérés (x1, y1) =(0, 1), (x2, y2) =(2, 2) A fenti ismertetett módszerrel határozzuk meg a méréseket megközelítő egyenest. Ábrázoljuk grafikusan a mérési eredményeket és a kapott egyenest. II. Példa: Legyen az alábbi három mérés (x1, y1) =(0, 0.9), (x2, y2) =(1, 1.1), (x3, y3) =(2, 1.9). A fenti módszerrel határozzuk meg a méréseket megközelítő egyenest. Ábrázoljuk grafikusan a mérési eredményeket és a kapott egyenest. III. Példa: Határozzuk meg másodfokú polinom illesztése esetében az a, b, c paraméterek számítására szolgáló egyenletrendszert a (6) hibafüggvény alapján. IV. Példa: ’A hőellenálás’ tanulmányozása során kapott ellenállás– hőmérséklet, R=f(T), mérési eredményekre határozzuk meg a méréseket megközelítő egyenest.
87
V. Példa: A Matlab függvényeket használva határozzuk meg a termisztor karakterisztikájának analitikus formáját. Ábrázoljuk grafikusan! VI. Példa: A Matlab függvényeket használva linearizáljuk a hőelem karakterisztikáját! VII. Példa: A Matlab függvényeket használva adjuk meg más tanulmányozott érzékelők (kapacitiv szint érzékelő, induktiv és kapacitiv elmozdulás érzékelő) jelleggörbéjét analitikus formában és ábrázoljuk ugyanabban a koordináta rendszerben a mérések során kapott pontokat is!
4. Kérdések és feladatok 1. Mi az előnye az analitikus formában megadott jelleggörbének? 2. Nemlineáris karakterisztikák esetében miért szükséges a linearizálás? 3. A (6) hibafüggvény alapján határozza meg a másodfokú polinom paraméterei meghatározására szolgáló egyenletrendszert!
88