Widmo Fazowe

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.
uksz
Posty: 30
Rejestracja: 18 cze 2009 14:02
Wersja środowiska: LabVIEW 8.0

Widmo Fazowe

Post autor: uksz »

Witam

Wiecie może jak wyświetlić widmo fazowe sygnalu by wygladalo ono w formie 2 prążków ja w przypadku widma amplitudowego, np dla skladowej sumacyjnej aby widnial 1 prazek o wartosci 45stopni a dla rożnicowej 1 prążek o wartosci np 90 stopni?
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Widmo Fazowe

Post autor: jogurt_owocowy »

Tak już jest, że widmo amplitudowe ma prążki, a widmo fazowe prążków nie ma. Jeśli koniecznie chcesz je uczynić "prążkowym" dla pewnych wartości częstotliwości, to musisz to zrobić na piechotę. Utworzyć sobie wektor maski (o długości równej długości wektora widma) z jedynkami dla częstotliwości, dla których chcesz mieć prążki; z zerami dla pozostałych częstotliwości i wymnożyć go z wektorem widma fazowego.
uksz
Posty: 30
Rejestracja: 18 cze 2009 14:02
Wersja środowiska: LabVIEW 8.0

Re: Widmo Fazowe

Post autor: uksz »

A w jaki sposób najprościej spreparowac sobie taki wykres na waveform graph?

Tzn, znam czestotliwości obu składowych i ich kąty fazowe i chce to teraz wyświetlic w formie prążków na waveform graph.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Widmo Fazowe

Post autor: jogurt_owocowy »

To nie jest taka do końca błaha sprawa, dlatego miło będzie, jak zamieścisz VIaja generującego te sygnały - będzie nam łatwiej rozmawiać.
uksz
Posty: 30
Rejestracja: 18 cze 2009 14:02
Wersja środowiska: LabVIEW 8.0

Re: Widmo Fazowe

Post autor: uksz »

Próbowałęm to zrobić z tym wektorem ale otrzymana przeze mnie wartość jest niepoprawna :/

Narazie dla 1 sygnalu o czestotliwosci 1020 Hz, którego kąt fazowy jest 45 stopni
Załączniki
testy.JPG
uksz
Posty: 30
Rejestracja: 18 cze 2009 14:02
Wersja środowiska: LabVIEW 8.0

Re: Widmo Fazowe

Post autor: uksz »

OK załączam VI

EDIT:

załączyłem nowy VI zamiast tamtego :P
Załączniki
widmo fazowe.vi
(26.44 KiB) Pobrany 360 razy
Ostatnio zmieniony 25 maja 2010 15:10 przez uksz, łącznie zmieniany 1 raz.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Widmo Fazowe

Post autor: jogurt_owocowy »

Postaraj się trochę i wyodrębnij z Twojego programu te części, które są istotne dla omawianego problemu. W wersji minimum może to być kontrolka z sygnałem, o którym pisałeś:
dla skladowej sumacyjnej aby widnial 1 prazek o wartosci 45stopni a dla rożnicowej 1 prążek o wartosci np 90 stopni
Poustawiaj wszystko w programie tak, żeby na wykresie pojawił się ten sygnał, zatrzymaj program, skopiuj wykres do nowego VIaja, ustaw sygnał z nim siedzący jako wartość domyślną, zapisz i zamieść na forum.
uksz
Posty: 30
Rejestracja: 18 cze 2009 14:02
Wersja środowiska: LabVIEW 8.0

Re: Widmo Fazowe

Post autor: uksz »

Zamiescilem VI w wczesniejszej wiadomosci
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Widmo Fazowe

Post autor: jogurt_owocowy »

Sposób konstrukcji takiego prążkowego widma fazowego na obrazku. Próg detekcji prążków (na rysunku 0,05) ustal sobie sam.
Stosowalność takiego rozwiązania jest ograniczona do przypadków, w których można zaniedbać efekt przecieku widma. Upraszczając: takich przypadków, w których sygnał podawany na wejście funkcji liczącej widmo, zawiera stosunkowo dużo okresów sygnałów składowych (powiedzmy od kilkudziesięciu w górę).
Załączniki
modified denoised peak phase spectrum.png
modified denoised peak phase spectrum.png (3.83 KiB) Przejrzano 15033 razy
uksz
Posty: 30
Rejestracja: 18 cze 2009 14:02
Wersja środowiska: LabVIEW 8.0

Re: Widmo Fazowe

Post autor: uksz »

Nie bardzo wiem jak to dokladnie dziala.
Porównuje amplitude kazdego prazka z 0,05 jezeli jest wieksza to otrzymuje wartosc 1 jezeli mniejsza to 0
Tzn jezeli ustawie odpowiednia detekcje to na wykresie otrzymam taki kat jakiego oczekuje? raczej nie.
O ile sie orientuje to powinienem otrzymac cos kolo 0.78 radiana prawda? a tu jest cos za wysoko ;p

Podzielilem otrzymana wartosc przez 10 i wymnozylem przez pierwiatek z 2 a nastepnie zamienilem na stopnie i jest ok.
Nie wiem tylko dlaczego musialem dzielic przez 10.
Z kolei dla sygnalu 1020 Hz nie trzeba nic dzielic przez 10 wystarczy tylko zamienic radiany na stopnie.
Moglbys mi moze to bardziej wyjasnic?
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Widmo Fazowe

Post autor: jogurt_owocowy »

Podzielilem otrzymana wartosc przez 10 (...) Nie wiem tylko dlaczego musialem dzielic przez 10.
Metodologia Monte Carlo? ;]
Porównuje amplitude kazdego prazka z 0,05
Porównujesz wartości widma amplitudowego z jakimś progiem, żeby wykryć, gdzie są prążki. Wartość progu 0,05 odczytałem na szybko z wykresu powstałego w zamieszczonym przez Ciebie VIaju. Widzisz, że prążki mają wartości np. 100, to weź 50. Jak mają 10000, to weź 5000, a jeszcze lepiej zrób jakiś próg automatyczny np. połowa wartości najwyższego prążka.
jezeli jest wieksza to otrzymuje wartosc 1 jezeli mniejsza to 0
Dostajesz wektor, który jedynkami wskazuje Ci lokalizacje prążków w widmie amplitudowym. Jeśli go teraz wymnożysz z wektorem widma fazowego, wartości fazy dla częstotliwości, w których są prążki, pozostaną nienaruszone (pomnożone przez 1), a wartości fazy dla częstotliwości, w których prążków nie ma, zostaną wyzerowane (pomnożone przez 0). Pozostaje Ci ewentualnie przeliczyć radiany na stopnie.
Transformacja Fouriera ma taką własność, że zerową fazę przypisuje do kosinusa, a nie do sinusa (jak podpowiada intuicja), więc miej to na uwadze, podobnie jak ujemne wartości fazy, które możesz już samodzielnie przeliczyć na dodatnie.
uksz
Posty: 30
Rejestracja: 18 cze 2009 14:02
Wersja środowiska: LabVIEW 8.0

Re: Widmo Fazowe

Post autor: uksz »

Zasade detekcji rozumiem, ale dlaczego musze dzielic wartosci dodatnie przez 10 i mnozyc przez pierwiastek z 2, a wartosci ujemnych nie, to niebardzo czaje :/

Tyle mi pomagasz a ja nadal mam problem.

Próbuje teraz przeliczyc ten kąt dla wartości dodatnich i ujemnych na stopnie, ale cos mnie nie wychodzi :/
Załączniki
widmo fazowe.vi
(28.63 KiB) Pobrany 355 razy
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Widmo Fazowe

Post autor: jogurt_owocowy »

dlaczego musze dzielic wartosci dodatnie przez 10 i mnozyc przez pierwiastek z 2, a wartosci ujemnych nie
Skąd Ty to w ogóle wziąłeś?
Pomnóż radiany przez 57,296 i będziesz mieć stopnie. Jeśli wartość fazy jest ujemna, to dodaj do niej 360 i dostaniesz równoważną wartość dodatnią.
uksz
Posty: 30
Rejestracja: 18 cze 2009 14:02
Wersja środowiska: LabVIEW 8.0

Re: Widmo Fazowe

Post autor: uksz »

Zamieniajac radiany na stopnie wymnazajac po prostu przez te 57,XX dla czestotliwosci 1000Hz otrzymuje jakies ponad 300 stopni, to chyba cos nie teges ;/
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Widmo Fazowe

Post autor: jogurt_owocowy »

Dokładnie 315 stopni (dla fazy generatora sinusoidalnego równej 45 stopni).
Podłącz kontrolkę na wyjście generatora, na kartce narysuj kosinus przesunięty w fazie o 315 stopni i zobacz, czy wyjdzie Ci to samo.
ODPOWIEDZ