Есептеу техникасы және программалық қамсыздандыру мамандығы үшiн



бет19/20
Дата28.01.2018
өлшемі2,55 Mb.
#35381
1   ...   12   13   14   15   16   17   18   19   20

Калман Фильтрі


Тапсырма қою

Басқару нысанының моделі мына түрде зерттеледі



(6.1)

Белгілі u шығысы бар және w кірісі бойынша ауытқуы, келесі сипаттамалары бар «ақ» дыбыс болып табылады:



(6.2)

Нысанның ауыспалы күй векторын бағалау үшін бақылаушының синтезін орындау қажет:



. (6.3)

Көп өлшемді жүйе l-кірісі және n-шығысы бар «кіріс-шығыс» түрленуі, (tτ) импульсті ауыспалы функциясының матрицалық түрінде берілген жүйе ретінде анықталсын.



U(t) – l-фильтр кірісінің өлшемдік векторы, ал - n-шығыстың өлшемдік векторы. Сонда және Y(t) векторларының арасындағы байланыс интегралмен анықталады

.

Y(t) – нөлдік математикалық күтімі және RYY(t,  ) корреляциялық функциясы бар нақты кез-келген процесс. B туындылық квадраттық матрицасының нормасын ||B|| арқылы белгілейміз және оны келесідей анықтаймыз:

,

мұнда tr (.) – із, яғни матрицаның диогональ элементтерінің қосындысы.



Көп өлшемді фильтр кірісіне пайдалы сигнал қосындысы M(t) және N(t), ретіндегі сигнал келіп түседі. Яғни,

,

мұнда M(t) және N(t) – l-RMM(t, ) және RNN(t, ) корреляциялық функциялары бар өлшемдік векторлар.

Кейбір жүйенің X(t) идеалды кірісі бар, ол талап етілетін шығысты анықтайды және пайдалы сигнал қатынасымен байланысты

,

мұнда KID(t,  ) – жүйенің беріліс функциясының импульс матрицасы. Қате векторын қарастырайық



.

Тапсырма мынадай, яғни физикалық орындалатын қате нормасы квадратының математикалық күтімі минималды болатындай матрицалық беріліс функциясын К*(t,  ) таңдап алудан тұрады.



, (6.4)

Мұнда K(t,  ) = 0.

Қандай тапсырма тұрғанына байланысты: болжау, фильтрация немесе тегістеу KID(t,  ) идеалды жүйемен анықталады. Фильтрация тапсырмасында X(t) = M(t), т.е. KID(t,  ) = E* (t– ). Мұндай тапсырманы қою кезінде (6.4) орташа квадраттық қате минимумы көп өлшемді жүйе үшін Винера-Хопфа-ның жалпыланған теңдеуінен алынатын МИПФ K*(t,  ) анықталады.

.

Егер жүйе кірісіне кездейсоқ сигнал Y(t) келетін болса, кең мағынасында оптималды матрицалық көп өлшемді фильтрдің беріліс функциясы W*(s) спектралды жазықтықтың рационалды матрицасын факторлау арқылы алуға болады. Стационарлы емес жағдайда Вольтердің бірінші жіктелуі интегралдық теңдеуінің шешімі күрделі қиындықты тудырады.

Калман өзінің жұмыстарында Винердің көп өлшемді фильтрациясының тапсырмасын қоюды модификациялады, оған күй жазықтығындағы мәселелер формасын берді. Осындай модификация нәтижесінде Калман фильтрі алынды, ол бағалауға жататын сигнал сызықты стационарлық емес динамикалық жүйенің кіріс сигналы болып табылғандағы рекурсивті бағалау процедурасын жүзеге асырады.

Басқару нысанының белгілі кірісі u және w кірісі бойынша және  өлшемді үздіксіз моделін қарастырамыз



Ол келесі сипаттамалардан тұратын «ақ» дыбыс болып табылады:




Басқару нысанының ауыспалы күй векторының бағалау үшін бақылау синтезін орындау қажет,

Калман фильтрі оптималды шешім болып табылады, келесі теңдеумен сипатталады



Мұнда, L кері байланыс коэффициенттерінің матрицасы Риккатидің алгебралық матрицалық теңдеуінің шешімі негізінде анықталады. Мысалы, Н=0 кезінде P дисперсиясы келесі теңдеумен анықталады



AP + PAT – (PCT +GN)R-1(CP+NTGT) + GQGT = 0,

матрица L –

L = APCT(N+CPCT)-1.

Бақылаушы (3-сурет) Калман фильтрімен басқару нысанын біріктіреді.





7.1-сурет.Калман бақылаушысы

Бақылаушы Наблюдатель использует известные входы белгілі кіріс u және результаты измерений yv өлшеу нәтижесі қолданады. ауыспалы күйдің векторын және шығысын бағалау үшін кездейсоқ ауытқуын есептейді.



Басқару нысанының дискретті моделі берілсін




Басқару нысанының ауыспалы күй векторының бағалау үшін бақылау синтезін орындау қажет,

.

Бұл жағдайда Калман фильтрі мына теңдеулермен сипатталады:



,

Мұнда L кері байланыс коэффициентінің матрицасы және М кері байланыс коэффициентінің жаңа матрицасы Риккати теңдеуінің алгебралық матрицалық шешімі негізінде анықталады.

Бақылаушы Калман фильтрін біріктіреді және басқару нысаны; ол u[n] кіріс және уv[n] өлшем шешімін қолданады.

Жаңа матрица кері байланыс коэффициенті М уv [n] өлшем негізінде х[n] айтуын жою үшін қолданылады



.

 

Тізбектей орындау

Калман фильтр синтезі үшін келесі функцияны орындау қажет Control System Toolbox:

[kest, L, P] = kalman(sys, Qn, Rn, Nn)

[kest, L, P] = kalman(sys, Qn, Rn, Nn, sensors, known)

Дискретті модель үшін

[kest, L, P, M, Z] = kalman(sys, Qn, Rn, Nn)

Үздіксіз жүйе үшін Калман дискретті фильтрін синтездеу

[kest, L, P, M, Z] = kalmz(sys, Qn, Rn, Nn)

Басқару нысанын сипаттау және кездейсоқ әрекеттер жүйеде келесі түрде болуы қажет:

- Қос матрица (С, A) белгілі болуы қажет;

- Теңсіздікті орындау қажет



,

Белгілену есебімен



.

Зертханалық жұмысты орындау үшін келесі іс-әрекеттерді орындау қажет:



    1. Теориялық мағлұматтарды оқу.

    2. MATLAB жүйесін енгізу.

    3. Калмана фильтр есебін өткізу.

    4. Бақылаушымен басқару жүйесінің моделдеуін орындау.

    5. Негізінен алынған берілгендерді салыстыру.

    6. Нөлдік емес бастапқы шарт кезінде жүйенің динамикалық графигін құру.

    7. Бақылау сұрақтарына жауап беру.

    8. Есепті жөндеу және жұмысты қорғау.

 

Әдістемелік мысал

Беріліс функциясымен жүйе үшін Калман фильтрін есептейміз



Және параметрлермен Q = 1, R = 0.01.

1. Калман фильтрін есептейміз

>> sys=ss(tf(100,[1 1 100]))

a =

        x1        x2



    x1    -1    -3.125

    x2    32    0

b =

        u1



    x1    2

    x2    0

c =

        x1    x2



y1    0    1.563

d =


        u1

    y1    0

 

Continuous-time model.



>> [A,B,C,D]=ssdata(sys)

A =


    -1.0000    -3.1250

    32.0000    0

B =

    2


    0

C =


    0    1.5625

D =


    0

>> [A,B,C,D]=ssdata(sys)

A =

    -1.0000    -3.1250



    32.0000    0

B =


    2

    0


C =

    0    1.5625

D =

    0


>> P=ss(A, [B B], C, [D D])

a =


        x1    x2

    x1    -1    -3.125

    x2    32    0

b =


        u1    u2

    x1    2    2

    x2    0    0

c =


        x1    x2

    y1    0    1.563

d =

        u1    u2



y1    0    0

Continuous-time model.

>> Kest=kalman(P,1,0.01)

a =


        x1_e    x2_e

    x1_e     -1     -30.11

    x2_e     32     -41.56

b =


        u1    y1

    x1_e    2    17.27

    x2_e    0    26.6

c =


            x1_e    x2_e

    y1_e    0    1.563

    x1_e    1    0

    x2_e    0    1

 

d =


            u1    y1

    y1_e    0    0

    x1_e    0    0

    x2_e    0    0

 

I/O groups:



Group name    I/O Channel(s)

KnownInput    I    1

Measurement    I    2

OutputEstimate    O    1

StateEstimate    O    2,3

Continuous-time model.

2. Бақылаушымен басқару жүйесін моделдеуді орындаймыз. Ол үшін xx1, x2 = x2, = x3, = x4, келесі матрицаларды енгіземіз

>> A1=[-1 -6.25 0 0; 16 0 0 0; 0 54 1 -60.2; 0 41.5 16 -41.5]

A1 =

    -1.0000    -6.2500    0    0



    16.0000    0    0    0

    0    54.0000    1.0000    -60.2000

    0    41.5000    16.0000    -41.5000

>> B1= [2 2 0; 0 0 0; 2 0 17.3; 0 0 13.3]

B1 =

    2.0000    2.0000    0



    0    0    0

    2.0000    0    17.3000

     0    0    13.3000

>> C1=[0 3.125 0 0; 0 0 0 3.125]

C1 =

    0    3.1250    0    0



    0    0    0    3.1250

3. Бақылаушымен басқару жүйесіне кіру u1=[u; w; v] векторы, шығысы – y1 = [y; ] болып табылады. Мұнда y = 3.125y2, = 3.125y4. Төменде моделдеу программасының фрагменті және нәтижесі келтірілген (6.1 – 6.2-сурет).

t=0:0.001:5;

u=ones(size(t));

w=randn(size(t))*1000^0.5;

v=ràndn(size(t))*10^0.5;

S=ss(A1, B1, C1, 0);

u1=[u; w; v];

[y1 y4]= lsim(S, u1', t);

plot(t, y1(:,1),'-b',t,y1(:,2),':b')



plot(t, v'+y1(:,1), ':g', t,y1(:,2),'-b')



6.1-сурет. Шығыс сигналдың өлшеуіш және нақтылығын салыстыру.



6.2-сурет. Шығу жүйесіндегі шулы және нақты мәнді салыстыру.

6.1-сурет өлшеуіш және нақты сигналдарды, 6.2 –сурет өлшеулі және нақты мәнді графикті суреттейді.




Достарыңызбен бөлісу:
1   ...   12   13   14   15   16   17   18   19   20




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет