Strona 1 z 1

Problem z wyznaczeniem transmitancji układu

: 19 lis 2012 13:38
autor: Zima
Witam wszystkich,

Mam mały problem z wyznaczeniem transmitancji na podstawie posiadanych danych pomiarowych wejścia i wyjścia układu. Układ składa się z silnika i belki po której toczy sie piłka (rozwiązanie jest dostępne w przykładach aplikacji w alb view pod nazwą "ball and beam" find examples/toolkids and modules/system identyfication/industry applications/mechanical systems/ball and beam). Po wyprowadzeniu równań ruchu dla układu otrzymałem transmitancje (x(s))/(α(s))=(2/7 rs^2-5/7 g)/s^2 . na jej podstawie chciałbym przeprowadzić w labview identyfikacje współczynników stojących przy s natomiast problem w tym ze przy wykorzystaniu bolku "SI Create Partially Known Continuous Transfer Function Model VI " połączonego z "SI Estimate Partially Known Continuous Transfer Function Model VI " (tak jak zostało to zrobione w przykładzie ball and beam) można określić stopień licznika i mianownika, ale nie porafie narzucić takiej postacji transmitancji jaką uzyskałem po transformacie laplacea z wyznaczonych równań ruchu. czy da się to zrobić z wykorzystaniem tych bloków ? jeśli nie to jak inaczej można rozwiązać ten problem ? Bardzo proszę o pomoc

Problem z wyznaczeniem transmitancji układu

: 21 lis 2012 21:45
autor: patka
Witam,

Szczerze mówiąc nie wiem czy dobrze rozumiem Twój problem, ale mając dane pomiarowe z wejścia i wyjścia układu możesz zaglądnąć do palety System Identification/ Parametric i tam masz sporo modeli parametrycznych, dzięki którym można wyznaczyć transmitancję w różnej postaci (zależy jak dobierze się rzędy współczynników danego modelu). Koniecznie potrzebujesz mieć taką postać transmitancji jak napisałeś?

Pozdrawiam,
Patka.

Problem z wyznaczeniem transmitancji układu

: 21 lis 2012 22:01
autor: Zima
Korzystałem własnie z bloków zawartych w tym module ale niestety przy doborze rzędu np licznika otrzymam wielomian a1+a2s+a3s^2 ale nie mogę przypisać np parametrowi a2 wartości 0 żeby licznik wyglądał tak jak wyszło mi to z równań ruchu. muszę wyznaczyć koniecznie taką postać ponieważ ma to pomóc w wyznaczeniu parametrów układu, w tym wypadku promienia toczącej się po belce piłki, gdyż g jest znane.

http://www.4shared.com/file/NDeAMBqn/silnik.html
http://www.4shared.com/office/y-2YCK2A/ ... ukadu.html

W linkach jest opis tego układu z równaniami i końcowa transmitancja,zamieszczam również program.vi żeby można było zobaczyć jak to wygląda. jeśli możesz to rzuć na to okiem, będę bardzo wdzięczny za pomoc :)

Problem z wyznaczeniem transmitancji układu

: 22 lis 2012 18:53
autor: patka
Generalnie wychodzi na to, że masz jedną niewiadomą r, a mając wejście, wyjście i transmitancję z tylko jednym nieznanym współczynnikiem to powinieneś móc go wyznaczyć z prostego równania z jedną niewiadomą.

Nie znalazłam nigdzie możliwości zrobienia tego tak jak Ty chcesz, bo ogólnie identyfikacja systemu polega jednak na wyznaczeniu całej transmitancji, a nie tak, że ustawiasz sobie konkretnie niektóre współczynniki a wyznaczasz tylko jeden.

Ewentualnie taki mało elegancki sposób jaki mi się nasunął : możesz spróbować w pętli tworzyć sam po kolei jakąś tam ilość modeli, gdzie ustawisz sobie wszystkie współczynniki transmitancji na takie jakie chcesz (i w kolejnych iteracjach będziesz zmieniał tylko ten jeden z r) za pomocą bloczka SI Set Coefficients to System Model -> Transfer Function(SISO) i dla każdego modelu sprawdzasz potem bloczkiem SI Model Prediction błąd MSE, a na koniec wybierasz ten model, dla którego błąd był najmniejszy. Musiałbyś tylko ustalić z jakim krokiem i w jakim zakresie zmieniać r.

Zerknij jeszcze na przykład Continuous State-Space Model of an RLC Circuit, tam też wykorzystują Grey-Box'a tylko musiałbyś przekształcić swój układ równań na taką macierzową postać, żeby mieć A,B,C i D, ale i tak nie wiem czy coś by to mądrego dało na koniec.

Problem z wyznaczeniem transmitancji układu

: 28 lis 2012 11:09
autor: Zima
Skontaktowałem się w tej sprawie z obsługą techniczną NI, otrzymałem następującą odpowiedź :

" ...nie mogłem znaleźć informacji jak to zrobić (jednocześnie nie znalazłem żadnej informacji, że tego się nie da zrobić...). Ja na swoje potrzeby robiłem, to w ten sposób, że, wiedząc, że wśród współczynników na pewno będzie wartość zera, a w wyniku estymacji mogę otrzymać wartość niezerową, to porównywałem wszystkie współczynniki do jakieś małej wartości epsilon i jeśli otrzymany współczynnik był mniejszy, to go zerowałem. Mam nadzieję, że taki sposób byłby dla Pana w porządku - jeśli nie, mogę wyeskalować Pana pytanie do naszych kolegów, specjalistów oraz działu R&D, obu z USA..."

na pewno też jest to jakieś rozwiązanie, niestety akurat w moim przypadku chyba to nie przejdzie, Pan z którym rozmawiałem zaproponował że jeszcze skonsultuje tą kwestię, jeżeli będą już znane jakieś konkrety, zamieszczę o tym informację w tym wątku dla zainteresowanych, może akurat kiedyś się przyda ta wiedza :)