Utrata synchronizacji fazy dwóch sygnałów - pilny problem
Utrata synchronizacji fazy dwóch sygnałów - pilny problem
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!
Re: Utrata synchronizacji fazy dwóch sygnałów - pilny problem
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
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
Re: Utrata synchronizacji fazy dwóch sygnałów - pilny problem
Racja, załączam kod Controlka Frequency [Hz] ustawiona jest na 100 dla zrzutów front panelu
Re: Utrata synchronizacji fazy dwóch sygnałów - pilny problem
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
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
-
- 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
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.
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.