konwersja sygnału A/C i C/A

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.
saraj
Posty: 5
Rejestracja: 17 sie 2007 00:00
Lokalizacja: Warszawa

konwersja sygnału A/C i C/A

Post autor: saraj »

Cześć, dopiero zacząłem bawić się LabView i natrafiłem na problem z którym nie mogę sobie poradzić. Chciałem zobaczyć jak działa przetwornik A/C i zbudowałem prosty konwerter sygnału sinusoidalnego na cyfrowy i z powrotem. Przy przetworniku "mało bitowym" np. 2 , beznadziejne jest odwzorowanie fali, pojawiają się jakieś przeciwne piki tu gdzie fala rośnie lub maleje. Gdy zwiększę rozdzielczoścć przetwornika dziwnie wygląda wykres cyfrowy szczególnie niższe Plot (0,1,2). Czy to jest błąd LabView czy może ja coś źle ustawiłem ?.
Ostatnio zmieniony 21 sie 2007 07:39 przez saraj, łącznie zmieniany 1 raz.
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: konwersja sygnału A/C i C/A -błąd LabView ?

Post autor: Mikrobi »

0. Uporządkuj diagram: druty powinny byc proste - z tego wynika również to że nie powinny się przecinać.
1. Opisz algorytm jaki chcesz
zrealizować
2. Taka struktura programu nie jest struktura prawidłową.
Proponuję sprawdzić jak funkcjonują podstawowe struktury programu w LabVIEW: while + event, while+case, do czego stosuje się Shift Register
Skoki na głęboką wodę są fajne ale warto wcześniej nauczyć się pływać... 8)
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
saraj
Posty: 5
Rejestracja: 17 sie 2007 00:00
Lokalizacja: Warszawa

Re: konwersja sygnału A/C i C/A -błąd LabView ?

Post autor: saraj »

Uporządkowałem i uprościłem.
Poprzednia struktura wynikała z mojej zabawy i prób w LabView, może nie była prawidłowa ? (stworzyłem ja wzorując sie na przykładach) ale działała.
Chciałem:
sygnał sinusoidalny zmienić na cyfrowy i z powrotem na sinusoidalny, czyli konwersja A/C i C/A. Nie rozumiem dlaczego przy przetworzeniu A/C pojawiają sie jakieś dziwne " piki" na niższych poziomach.
W załączeniu screen'y i program.

Robiłem próbę z sygnałem prostokątnym i też na jednym poziomie miałem odwrotnie niż na innych (0 zamiast 1)

Nie przejmujcie sie kolorami panelu - to były też próby.
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: konwersja sygnału A/C i C/A -błąd LabView ?

Post autor: Mikrobi »

Hm.... ale wiesz na czym polega działanie przetworników A/C i C/A ...?
...tak...?
Który z rodzajów przetworników chcesz symulować?
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
saraj
Posty: 5
Rejestracja: 17 sie 2007 00:00
Lokalizacja: Warszawa

Re: konwersja sygnału A/C i C/A -błąd LabView ?

Post autor: saraj »

Chciałem zrobić prosty test, jak LabView konwertuje sygnały. I na razie wyszło mi, że coś nie tak jest z symulacją przetwornika A/C. Coś nie tak bo może ja coś źle ustawiłem, ale niekoniecznie. Wydaje mi się, że wiem jak działa przetwornik A/C (ale na wszelki wypadek jescze sobie przypomnę).

Mikrobi zamiast ganić mnie za poplątane druty i sprawdzać moją wiedzę jak działa A/C, poprostu podpowiedz jak wiesz co jest złego w moim programie lub sprawdź czy w symulatorze A/C z Lab View nie ma błędu.
mkachel
Posty: 8
Rejestracja: 12 lis 2005 00:00

Re: konwersja sygnału A/C i C/A -błąd LabView ?

Post autor: mkachel »

Witam, :twisted:

Mikrobi miał powód w tym żeby ganić Cię za poplątane druty. To właśnie była podpowiedz:)
Podłączyłeś wyjście "resolution" bloczka A/D do wejścia "data format" bloczka "D/A".

"Pomoc kontekstowa jest bardzo pomocna" ;)

Pozdrawiam,
MaciekK
never trust a naked bus driver
saraj
Posty: 5
Rejestracja: 17 sie 2007 00:00
Lokalizacja: Warszawa

Re: konwersja sygnału A/C i C/A -błąd LabView ?

Post autor: saraj »

Rzeczywiście tak jest podłączone :oops: , ale to zrobił automatycznie LabView.
W dalszym ciągu nie wyjaśniona jest sprawa dziwnych przebiegów cyfrowych, :cry: które powinny wglądać nieco inaczej.
Pozdrawiam
Awatar użytkownika
Ender
Posty: 137
Rejestracja: 02 cze 2005 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Cieszyn

Re: konwersja sygnału A/C i C/A -błąd LabView ?

Post autor: Ender »

Witam
Biorąc pod uwagę schemat, to wykresy cyfrowe wyglądają bardzo dobrze (czytaj - tak jak wynika ze schematu). Chyba jednak nie do końca zdajesz sobie sprawę z tego jak działa przetwornik A/C ...
Najprostszy przypadek - rozdzielczość 2 bity. Są więc tylko 4 możliwości odwzorowania wartości sygnału: 00, 01, 10 i 11. Cały przedział wartości analogowych dzielony jest na 4 równe części - podpiąłeś na sztywno 100 do wejścia Max (chyba), więc te części będą przedziałami 0-25, 25-50, 50-75 i 75-100. Właściwie to na wejściu Min jest defaultowo -1, wiec przedział jest (-1,100), ale nie będziemy się tu bawić ułamkami :P. Ponieważ na wykresie cyfrowym nie ma wartości ujemnych, cyfrowemu "00" będzie odpowiadał przedział napięć od -50 do -25 (btw, jednostki to dobra rzecz, czasem się przydają ...), "01" od -25 do 0, itd. Jak popatrzysz na wykres analogowy i cyfrowy to jak na mój gust się zgadza, np w okolicach 0,04s jest wartość minimalna, czemu odpowiada cyfrowe 00.
Sugestie do przemyślenia - co się stanie z wykresem cyfrowym, jeśli w takim układzie zmniejszysz amplitudę do np. 10. Dlaczego tak się stało i jak zrobić żeby tak się nie działo? Jak w prosty sposób zoptymalizować diagram, aby w pełni wykorzystać rozdzielczość?
-Czy orał pan już kiedyś morskie fale?
Colon rzucił mu chytre spojrzenie.
-Nie złapie mnie pan na taki numer, sir - rzekł - Wszyscy wiedzą, że konie by potonęły.
Leonard umilkł na chwilę i przestroił swój mózg na Radio Colon ....
Awatar użytkownika
mac_671
Posty: 26
Rejestracja: 14 sie 2007 00:00
Lokalizacja: Kraków

Re: konwersja sygnału A/C i C/A -błąd LabView ?

Post autor: mac_671 »

Zgodze sie z Enderem ze wszystko wyglada w porzadku. I chwala dla MackaK za to ze znalazl buga w nieprawidłowym połaczeniu vartosci rozdzielczości do do node data format. Co rzeczywiscie podowodowało nieprawidłowe przedstawienie wykresu po konwersji A/C ale tylko dla wartosci rodzielczosci 1 i 2. w przypadku rozdzielczosci > 2 do data format i tak brana byla wartosc domyslna czyli 0, i konwersja była prawidłowa.
Pozdro, Mac_671
saraj
Posty: 5
Rejestracja: 17 sie 2007 00:00
Lokalizacja: Warszawa

Re: konwersja sygnału A/C i C/A -błąd LabView ?

Post autor: saraj »

Dzięki za wyjaśnienie. :oops: Oczywiście mój błąd. Poszedłem niestety inną scieżką myślową i nie chciałem z niej zboczyć mimo jawnego naprowadzania. Traktowałem na wykresie cyfrowym "Plot" jako kolejne poziomy i szukałem podobieństwa do analogowego ( zupełnie nie wiem dlaczego), dopiero Ender mnie oświecił, że nie tędy droga. Rozrysowałem i rzeczywiscie wszystko jest w porządku (oczywiscie wczesniej usunąłem podłączenie do data format). Dzieki wszystkim za naprowadzanie i wskazanie błędów.

Pozdrawiam
KaVciA
Posty: 8
Rejestracja: 19 cze 2007 00:00

Re: konwersja sygnału A/C i C/A

Post autor: KaVciA »

Witam !

przeczytalem sobie caly temat o konwersji sygnalu A/C i C/A no i postanowilem takie cos zrobic u siebie. no i jak zawsze - nie wyszlo. wydaje mi sie, ze zrobilem w Labview tak jak powyzej przedstawil to saraj i mam zupelnie inne wykresy. gdzie jest blad ?
KaVciA
Posty: 8
Rejestracja: 19 cze 2007 00:00

Re: konwersja sygnału A/C i C/A

Post autor: KaVciA »

a to moj schemat.
KaVciA
Posty: 8
Rejestracja: 19 cze 2007 00:00

Re: konwersja sygnału A/C i C/A

Post autor: KaVciA »

Dobra. przepraszam. nie bylo tematu. juz wiem co bylo nie tak :)
Awatar użytkownika
Ender
Posty: 137
Rejestracja: 02 cze 2005 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Cieszyn

Re: konwersja sygnału A/C i C/A

Post autor: Ender »

A ja uważam, że warto jednak jeszcze trochę temat pociągnąć, bo może nie wszyscy zdają sobie sprawę z jeszcze jednej, istotnej sprawy.

Jak widać na powyższym schemacie nie podpięto nic pod wejścia Min i Max bloczka konwersji A/C. Ale jest jeszcze jedna rzecz, na którą należy zwracać uwagę - dobór częstotliwości próbkowania.
Bloczek "Analog to Digital Waveform" nie ma możliwości jej wyboru - przekształcana jest kolejno każda próbka sygnału analogowego, który już jest spróbkowany. Tak więc częstotliwość próbkowania sygnału analogowego mierzonego (w tym przypadku symulowanego) ma wpływ na przebieg sygnału cyfrowego.
Przykładowo, jeśli będziemy symulować sygnał sinusoidalny o częstotliwości 100Hz i częstotliwości próbkowania 1000 sps, to na jeden okres przypadnie zaledwie 10 próbek o 5 różnych wartościach. Tak więc niezależnie od rozdzielczości uzyskamy tylko 5 różnych stanów logicznych. Teoretycznie do jego zakodowania wystarczyłyby 3 bity, w praktyce większa rozdzielczość daje lepsze odwzorowanie powrotne C/A. Tutaj jednak należy się zastanowić do którego momentu zwiększanie rozdzielczości ma sens - to już zależy od konkretnej aplikacji.
Tak więc wynik przekształcenia A/C, w którym mamy podejrzanie niską różnorodność stanów logicznych w stosunku do rozdzielczości, nie zawsze może być wynikiem tak widocznego błędu jak pozostawienie "wiszących" wejść ....
-Czy orał pan już kiedyś morskie fale?
Colon rzucił mu chytre spojrzenie.
-Nie złapie mnie pan na taki numer, sir - rzekł - Wszyscy wiedzą, że konie by potonęły.
Leonard umilkł na chwilę i przestroił swój mózg na Radio Colon ....
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: konwersja sygnału A/C i C/A

Post autor: jogurt_owocowy »

Częstotliwość próbkowania to coś, na co należy raczej zwrócić uwagę w pierwszej kolejności - tu się z Enderem zgodzić trzeba. Natomiast z tym
jeśli będziemy symulować sygnał sinusoidalny o częstotliwości 100Hz i częstotliwości próbkowania 1000 sps, to na jeden okres przypadnie zaledwie 10 próbek o 5 różnych wartościach
w ogólnym wypadku zgodzić się nie można:
[img]http://www.labview.pl/uploads/veir/sampling.gif[/img]
ODPOWIEDZ