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
Problem z wyznaczeniem transmitancji układu
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.
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
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
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
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.
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
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
" ...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
