Wygenerowałem trójkąt ale...

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.
Awatar użytkownika
serkriz
Posty: 70
Rejestracja: 22 lis 2005 00:00
Lokalizacja: Białystok,Polska Koblenz , Deutschland

Wygenerowałem trójkąt ale...

Post autor: serkriz »

Wygenerowałem trójkąt ale nie tak to działa jak powinno. Gdy zwiekszam pulsacje( zmiana od 1 do 50) wychodzi mi strasznie zniekształcony.Przy ustawieniu jedynki wszystko jest dobrze. Zwiekszajac robi sie to podobne do modulacji. Moze ktos ma pomysł na generowanie trojkata w inny sposob???
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Wygenerowałem trójkąt ale...

Post autor: jogurt_owocowy »

Ze sposobów na wygenerowanie trójkąta wybrałeś chyba najgorszy(częstotliwość*pulsacja? - jakieś to podejrzane). Łatwiej Ci będzie jak użyjesz np. Analyze -> Signal Processing -> Signal Generation ->Triangle Wave

A i tak Twój problem nie tkwi w samym sposobie generowania trójkąta tylko w pojawiającym się aliasingu. Ale o tym niech Ci opowiedzą Google ;) Albo książka pana Lyonsa "Wprowadzenie do cyfrowego przetwarzania sygnałów".

Pozdrawiam (:
Gość
Posty: 656
Rejestracja: 10 lis 2003 00:00

Re: Wygenerowałem trójkąt ale...

Post autor: Gość »

jesli bardzo ci zależy na tym to przecież jest juz gotowy Express :D

Express->Input->Simulate Sig

no ale jesli nie no to MILEJ ZABAWY
Awatar użytkownika
serkriz
Posty: 70
Rejestracja: 22 lis 2005 00:00
Lokalizacja: Białystok,Polska Koblenz , Deutschland

Re: Wygenerowałem trójkąt ale...

Post autor: serkriz »

Wygenerowałem trójkat z Express->Input->Simulate Sig i dalej jest ten sam problem . Bo na jeden okres sinusa potrzeba mi od 1 do 50 okresow trójkata. Moge to zrobic zwiekszajac czestotliwosc trojkata ale wychodzi strasznie zniekształcony. Jak tego nie zrobie to bede "udupiony" a moze sie tego nie da zrobic???
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Wygenerowałem trójkąt ale...

Post autor: jogurt_owocowy »

Po pierwsze: (...)A i tak Twój problem nie tkwi w samym sposobie generowania trójkąta tylko w pojawiającym się aliasingu(...)
Po drugie: http://www.cim.pw.edu.pl/kpwn/Lab%202%20Aliasing.pdf
A na koniec zagadka: Znajdź wszystkie szczegóły, którymi różnią się poniższe obrazki. Jak znajdziesz dwa to jesteś w domu (o ile wcześniej zapoznasz się z podanym wyżej pdfem).
Awatar użytkownika
serkriz
Posty: 70
Rejestracja: 22 lis 2005 00:00
Lokalizacja: Białystok,Polska Koblenz , Deutschland

Re: Wygenerowałem trójkąt ale...

Post autor: serkriz »

pierwsza różnica to: obrazek1.gif obrazek2.gif
druga różnica to: 31.92 kB 32.21 kB
I znalazłem jeszcze jedna:-))))

A to taki mały zarcik. Już sie zapoznaje z pdf-em.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Wygenerowałem trójkąt ale...

Post autor: jogurt_owocowy »

No więc dwie różnice pomiędzy powyższymi obrazkami to oczywiście:
1. na jednym trójkąt jest zniekształcony, a na drugim jest ok
2. W przypadku sygnału zniekształconego do jego wygenerowania zostało użyte mało próbek, w przypadku sygnału niezniekształconego składa się on z liczby próbek stosunkowo dużej.

Jak mówi twierdzenie Shannona, żeby odwzorować sygnał za pomocą próbek pobieranych w dyskretnych odstępach czasu, te odstępy czasu nie mogą być zbyt duże. W przypadku trójkąta z pierwszego obrazka liczba próbek jest po prostu zbyt mała w stosunku do częstotliwości sygnału, inaczej: w stosunku do odwrotności liczby okresów w danym przedziale czasu - dlatego przy małych częstotliwościach było ok, a przy dużych był zniekształcony.

A w ramach ciekawostki: w ogóle nie da się odtworzyć w ten sposób sygnału trójkątnego całkowicie idealnie, bez względu na ilośc próbek, ponieważ ma on nieskończone widmo.

Pozdrawiam (:
Awatar użytkownika
serkriz
Posty: 70
Rejestracja: 22 lis 2005 00:00
Lokalizacja: Białystok,Polska Koblenz , Deutschland

Re: Wygenerowałem trójkąt ale...

Post autor: serkriz »

Ok działa tak jak powinno.Tylko jak zamienic wyjsciowy format sygnału sinus i trójkat zeby było mozna je porównac przez np.: bloczek Greater x>y i gdy sinus wiekszy od trójkata to zeby rysowało "1" a gdy mniejszy zeby rysowało "0". Mozna to zrobic przez Case Structure ale jak zamienic format danej sine,trangle wave na boolean?
Udało mi sie to zrobic na innym formacie danych ale na tych nie wiem jak to zrobic :-(((

nawet już zrobiłem to w pętli FOR ale zeby nie było zniekształceń uzyłem duzej ilosci powtórzeń co strasznie!!! wydłuża pomiar.
Awatar użytkownika
serkriz
Posty: 70
Rejestracja: 22 lis 2005 00:00
Lokalizacja: Białystok,Polska Koblenz , Deutschland

Re: Wygenerowałem trójkąt ale...

Post autor: serkriz »

No wreszcie się coś udało :-) . Troche to czasu zajęło a rozwiązanie takie proste. Ale bede miał ostatnie pytanko i projekt skończony . Ale to pózniej bo może sam to zrobie.
Pozdro.

Już se poradziłem :-) ale i tak dzięki za pomoc bo nie wiedziałem na początku od czego zaczać.
Awatar użytkownika
serkriz
Posty: 70
Rejestracja: 22 lis 2005 00:00
Lokalizacja: Białystok,Polska Koblenz , Deutschland

Re: Wygenerowałem trójkąt ale...

Post autor: serkriz »

A jednak mam pytanko:mam tablice 8x8 to jak wpisać do niej na stałe"0" lub "1" tylko w 2 ostatnich wierszach(znaczy zero to nie ma problemu bo tablica jest w sumie nxn i wypełnia mi tylko pierwsze 6 wierszy wiec w pozostałych wierszach jest zero)??? .a nie moge zmniejszych liczby wierszy z 8 na 6 bo bedę przesyłał całymi bajtami(czyli pierwsza kolumna to pierwszy bajt , druga to drugi bajt itd.)
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Wygenerowałem trójkąt ale...

Post autor: jogurt_owocowy »

Np. przy użyciu kostki Replace Array Subset z palety Array.

Pozdrawiam
Awatar użytkownika
serkriz
Posty: 70
Rejestracja: 22 lis 2005 00:00
Lokalizacja: Białystok,Polska Koblenz , Deutschland

Re: Wygenerowałem trójkąt ale...

Post autor: serkriz »

Wpisuje mi jedynke ale tylko jedna w określona komórke w tablicy. Jest mozliwość aby wpisywało w cały wiersz?
PMaj
Posty: 231
Rejestracja: 04 sty 2004 00:00

Re: Wygenerowałem trójkąt ale...

Post autor: PMaj »

Witam
Nic prostrzego - Ctrl + H = (p)odpowiedź
Obrazek
pozdrawiam
pmaj
Nie jestem leniwy
Mam zawyżone wymagania motywacyjne
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Wygenerowałem trójkąt ale...

Post autor: jogurt_owocowy »

A czy moje przeczucie że to jest tablica booleanów jest właściwe?
Awatar użytkownika
serkriz
Posty: 70
Rejestracja: 22 lis 2005 00:00
Lokalizacja: Białystok,Polska Koblenz , Deutschland

Re: Wygenerowałem trójkąt ale...

Post autor: serkriz »

zgadza sie . to jest tablica booleanów.
A poza tym ten przykład wyzej od PMaj wpisuje liczbe we wszystkich komórkach (np. "1" w całej tablicy).A ja juz mam zapełnione pierwsze 6 wierszy i chciałbym zeby wpisywało mi tylko w 7 i 8 wiersz .
ODPOWIEDZ