Utrata synchronizacji fazy dwóch sygnałów - pilny problem

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
siema24
Posty: 23
Rejestracja: 14 mar 2012 10:20
Wersja środowiska: LabVIEW 2011

Utrata synchronizacji fazy dwóch sygnałów - pilny problem

Post autor: siema24 »

Witam i przedstawiam problem. Z przetwornika NIDAQ generuję dwa sygnały sinusoidalne o tej samej częstotliwości, przesunięte względem siebie w fazie o 90stopni (pierwszy z parametrem 'phase in' = 45, drugi 135. Jednak przy odbiorze różnica fazy 'rozjeżdża' się na pewien czas po czym wraca do 90stopni. Dobrze widać to na załączonych zrzutach. Drugi z nich przedstawia to samo co pierwsze w taką różnią, że wykresy są przybliżone do momentu powstawania problemu czyli do wartości osi OX = 0,03. Widać, że w tym momencie sygnały "zblizyły się" do siebie. Czy ktoś wie jak rozwiązać ten problem? Czy ma to związek ze złym próbkowaniem sygnału? Z góry dziękuję za pomoc!
Załączniki
zoom_problem_synchro_sinusow.JPG
problem_synchro_sinusow.JPG
Awatar użytkownika
trooper
Posty: 22
Rejestracja: 22 paź 2012 17:44
Wersja środowiska: LabVIEW 2012
Kontakt:

Re: Utrata synchronizacji fazy dwóch sygnałów - pilny problem

Post autor: trooper »

Witaj,

Jak już się domyśliłeś, coś robisz źle ... ale żeby mieć rozwiązanie na jutro rano trzeba było dołączyć jakis kod programu lub jego fragment ;)
Jak definiujesz wątek DAQmx do genracji dwóch sygnałów? Jak definiujesz sygnały w labview? Jak przesuwasz je w fazie? Dla mnie albo masz dwie różne karty i to co pokazujesz może mieć miejsce, albo źle generujesz sygnał w LabVIEW, albo źle przesuwasz w fazie. Raczej trudno byłoby wygenerować to co pokazujesz na jednej karcie tak, żeby przyczyną była częstotliwość próbkowania.

Pozdrawiam
siema24
Posty: 23
Rejestracja: 14 mar 2012 10:20
Wersja środowiska: LabVIEW 2011

Re: Utrata synchronizacji fazy dwóch sygnałów - pilny problem

Post autor: siema24 »

Racja, załączam kod :) Controlka Frequency [Hz] ustawiona jest na 100 dla zrzutów front panelu
Załączniki
blockdiagram.JPG
Awatar użytkownika
trooper
Posty: 22
Rejestracja: 22 paź 2012 17:44
Wersja środowiska: LabVIEW 2012
Kontakt:

Re: Utrata synchronizacji fazy dwóch sygnałów - pilny problem

Post autor: trooper »

Witam,

Wygląda na to, że masz problem z zegarami kart. Z tego co widze, ale nie mam Twojej konfiguracji więc nie wiem na 100 % - wysyłasz i odbierasz dane z dwoma różnymi zegarami próbkującymi dla jednego i drugiego modułu osobno. Powinieneś ustawić to samo źródło zegara próbkującego (sample clock) w obu zadaniach DAQ. Może to być jakiś globalny 10 MHz (jeżeli taki masz), jeżeli nie masz, to w zadaniu generowania danych możesz ustawić AI Sample Clock, lub odwrotnie - w zadaniu akwizycji możesz ustawić AO sample clock.

Poza tym - program do poprawy ... zauważ, że pętla przy zadaniu generacji wykona się tylko jeden raz.

Daj znać czy pomogło, jak nie to powalczymy dalej ;)
Pozdrawiam
Grzesiek080
Posty: 82
Rejestracja: 26 maja 2009 07:18
Wersja środowiska: LabVIEW 2012
Lokalizacja: Sucha Beskidzka
Kontakt:

Re: Utrata synchronizacji fazy dwóch sygnałów - pilny problem

Post autor: Grzesiek080 »

Hej

Nie wiem czy juz rozwiązany problem ale ja widze 2 rozwiązania :
1. Ustaw generowanie sygnałow tak jak w przyklładzie "Multi-Function-Synch AI-AO.vi"
2. Zauwazyłem podobny problem przy małej róznicy pomiedzy czestotliwoscią próbkowania a czestotliwoscią generowania.
Spróbuj wiec ustawic próbkowanie około 10 a nawet 100 x czestotliwosc generowania.
ODPOWIEDZ