Strona 1 z 2
współrzędne biegunowe na kartezjańskie
: 24 lis 2012 19:51
autor: xiezniczka
Witam, proszę o pomoc w zamianie współrzędnych biegunowych na kartezjańskie (zaznaczone na schemacie czerwoną linią).
Program zamieniający sygnał na amplitudę i fazę działa, ale powrót już nie- sygnał wychodzi trójkątny zamiast sinusoidalnego, o dwa razy większej częstotliwości niż sygnał wejsciowy i innej amplitudzie.
Mam też problem, jak zastąpić bloczek sinusa, na simulate signal aby nie było błędu w połączeniach- zgodność wymiarów a program dalej działał.
Pozdrawiam
współrzędne biegunowe na kartezjańskie
: 27 lis 2012 00:21
autor: patka
Witam,
Generalnie dużo tu do poprawy, bo pierwsze przejście też jest źle. I chyba bardziej matematycznie niż LabVIEW'owo :]
Skoro najpierw chcesz przejść ze współrzędnych kartezjańskich na biegunowe, to dlaczego używasz bloczka do przejścia odwrotnego? Potrzebujesz Re/Im to Polar. Jego wejścia również powinny być podłączone na odwrót, jako, że Twój X to chyba ten sygnał sprzed sinusa, a Y to Sinus.
A dalej, jeśli chcesz liczyć X i Y w Formula Node to potem już nic nie potrzebujesz. Sygnały X i Y wychodzące z pętli możesz podłączyć do XY Graph tak jak to zrobiłaś dla 'biegunowych' i jest ok. Nie wiem dlaczego znowu używasz tam Polar to Re/Im podłączając X do R a Y do Theta?
Jeśli skasowałabyś tę pętlę FOR z Formula Node to wtedy podłączenie R i Theta do bloczka Polar to Re/Im miałoby sens. A w wyniku dałoby takie same X i Y jak obliczone w pętli.
Pozdrawiam,
Patka.
Re: współrzędne biegunowe na kartezjańskie
: 27 lis 2012 22:12
autor: xiezniczka
Dalej mi coś nie działa... tzn wyniki błędne
W skrócie:
-zamieniam bloczek Polar to Re/Im na odwrotny i zamieniam wejścia wg "X to chyba ten sygnał sprzed sinusa, a Y to Sinus"...
- dla drugiej zamiany (powrotnej) usuwam bloczek Polar to Re/Im- zostaje wyjście z pętli
W czym jeszcze tkwi problem? Nic nie daje poprawnych rezultatów niestety
Pozdrawiam
Re: współrzędne biegunowe na kartezjańskie
: 28 lis 2012 16:57
autor: patka
Chyba wszystko jest już ok, poza sposobem wyświetlania na wykresach.
Insert into Array łączy Ci sygnał X i Y w jeden wektor a Waveform Graph przedstawia kolejne jego elementy - więc to bez sensu. W przypadku
współrzędnych kartezjańskich chcesz, żeby dane X były na osi x a Y na osi y, więc użyj XY Graph tak jak w załączniku (wyższy układ).
Natomiast wyświetlanie w ten sam sposób danych dla
współrzędnych biegunowych też chyba nic ciekawego nie przedstawi - dostaniesz wykres
theta od
r i tyle. Jeśli chcesz dostać sinusoidę to możesz zrobić jak na załączonym obrazku (niższy układ). Przekształcić współrzędne biegunowe na liczby zespolone i wyświetlić na XY graph.
- xy.png (2.48 KiB) Przejrzano 15758 razy
Re: współrzędne biegunowe na kartezjańskie
: 29 lis 2012 15:57
autor: xiezniczka
Niby powinno być ok, a dla biegunowych ma funkcję prostą jak ax+b, a powrotne kartezjańśkie kształt mają dobry, amplitudę też, ale na xksie dla sygnału wejściowego mam okres np 42.5, a dla tych "powrotnych" 1300....
Pozdrawiam i dziękuję za już okazaną pomoc
Re: współrzędne biegunowe na kartezjańskie
: 29 lis 2012 20:00
autor: patka
Faktycznie - wybacz, nie zwróciłam wcześniej uwagi. Chodzi o to, że jako sygnał X na wejście bloczka
Re/Im to Polar musisz podłączyć ten "niebieski" sygnał wychodzący z pierwszej pętli. A żeby nie mieć 'coercion dots', czyli tych czerwonych kropek na wejściach bloczków, użyj
To Double precision point, w celu konwersji INT na DOUBLE - taka dobra praktyka na przyszłość
Re: współrzędne biegunowe na kartezjańskie
: 01 gru 2012 18:59
autor: xiezniczka
Dziękuję bardzo!
Rzeczywiście na wyjściu kartezjańskich dostaję poprawny wynik. Jednak dla biegunowych coś średnio- jak zmieniam na cosinusa albno sin^2, to dalej mam krzywą ax+b, a nie to co wyjść powinno wg programu.. Wynik się nie zmienia po zmianie funkcji. To kwestia wyświetlania?
Pozdrawia,
Re: współrzędne biegunowe na kartezjańskie
: 01 gru 2012 21:49
autor: patka
patka pisze: Przekształcić współrzędne biegunowe na liczby zespolone i wyświetlić na XY graph.
Odpowiedź znajduje się trzy posty wyżej
Musisz użyć XY Graph.
Re: współrzędne biegunowe na kartezjańskie
: 02 gru 2012 14:10
autor: xiezniczka
Ale jak zrobiłam tak, to wychodzi mi dokładnie to samo co na wejściu, czyli sinus- nie ma żadnej różnicy. A chcę uzyskać wykres we wsp biegunowych...
Mam przykład dla sin(6x)+2 - taki kwiatuszek wychodzi. cos takiego chciałabym dostać..
Re: współrzędne biegunowe na kartezjańskie
: 03 gru 2012 01:30
autor: patka
W takim razie źle określiłaś co chcesz zrobić. Zamiana współrzędnych kartezjańskich na biegunowe nie polega na zrobieniu takiej operacji:
y = sin(6x) + 2 -> r = sin(6*theta) + 2
Do przechodzenia pomiędzy współrzędnymi kartezjańskimi a biegunowi służą dobrze znane Ci wzory, które w przejściu pierwszym wykonuje za Ciebie bloczek, a w przejściu drugim sama wypisałaś w Formula Node. I nie byłoby za dobrze, gdyby po przejściu na biegunowe nie powstał znów sinus, ponieważ takie przekształcenie służy jedynie innej reprezentacji TYCH SAMYCH danych.
A jeśli chcesz dostać 'kwiatki' to można zrobić mapowanie, ale późniejsze przejścia na wsp. biegunowe i z powrotem tracą zupełnie sens. Załączam Ci program rysujący tę samą funkcję jaką dałaś w przykładzie.
Re: współrzędne biegunowe na kartezjańskie
: 03 gru 2012 13:45
autor: xiezniczka
Mam za zadanie: dla wybranych sygnałów przejść ze współrzędnych kartezjańskich na biegunowe i z powrotem...
I wg wikipedii
http://en.wikipedia.org/wiki/File:Carte ... _polar.gif tak wygląda przejście "Cartesian to polar". Stąd się trochę pogubiłam.
Czyli te "kwiatki" to jaka jest postać w takim razie?
I czy dużo zmian wymaga wstawienie zamiast sinusa np sygnału trójkątnego z signal processing? Bo połączenia robią się nieprawidłowe gdyby zamienię sinusa na np przebieg trójkątny...
Dziękuję za cierpliwość!!
Pozdrawiam
Re: współrzędne biegunowe na kartezjańskie
: 03 gru 2012 23:40
autor: patka
Szczerze - chyba powinnaś lepiej wiedzieć co masz na zadanie
Albo jakoś się dopytać jeśli nie jesteś pewna.
Odsyłając do Wikipedii :
http://en.wikipedia.org/wiki/Polar_coor ... oordinates
- dla mnie jak wypisz wymaluj
przejście ze współrzędnych kartezjańskich (x,y) na biegunowe (r,theta) to jest inna reprezentacja tego samego sygnału. W pierwszym przypadku masz np. punkt określony w kart. jako
x=3, y=4 to to nadal będzie ten sam punkt, ale przedstawiony jako
r=sqrt(x^2+y^2) = 5 i theta=atan(4/3)=53 st. (czyli oddalony o 5 w linii prostej od punktu (0,0) pod kątem 53 stopnie).
Natomiast inną kwestią jest jak to Wikipedia określa - mapowanie krzywej z wykresu kartezjańskiego do biegunowego.
Np. krzywa
y=x, wiadomo jak wygląda. Biorąc pod uwagę jedynie ćwiartkę pierwszą, theta będzie zawsze równa 45 stopni (atan(1) = 45st.), a r będzie się zmieniało (sqrt(2), 2*sqrt(2) ...... itd.). I tutaj ładnie widać, że robiąc tak jak w przypadku tego sinusa z Twojego przykładu: z funkcji
y=x odpowiednio funkcję
r=theta , to to niestety nie jest już ten sam sygnał. A taka krzywa w układzie biegunowym to będzie spirala.
Wstawienie sygnału trójkątnego nie wymaga wielu zmian. Musisz przede wszystkim przeczytać sobie w Helpie co trzeba podać na wejście takiego bloczka i się do tego zastosować, wszystko jest pięknie opisane.
współrzędne biegunowe na kartezjańskie
: 13 gru 2012 14:46
autor: Maxe
Wstawienie sygnału trójkątnego nie wymaga wielu zmian. Musisz przede wszystkim przeczytać sobie w Helpie co trzeba podać na wejście takiego bloczka i się do tego zastosować, wszystko jest pięknie opisane.
Na wejście bloczka "Sine" tak?
współrzędne biegunowe na kartezjańskie
: 13 gru 2012 19:42
autor: patka
Nie, np. Triangle Waveform skoro mowa o wstawieniu sygnału trójkątnego. On na wyjściu daje waveform, ale bloczkiem Get Wfm Components można sobie łatwo wyciągnąć sygnał Y, a X wygenerować znając dt.
Re: współrzędne biegunowe na kartezjańskie
: 13 gru 2012 20:24
autor: Maxe
Czy taki sposób jest poprawny?