FFT i faza
FFT i faza
Witam
Mam karte PCI 6143, ktora programuje w LabView 7.1. Dokonuje pomiaru napiecia i robie nastepnie FFTsygnalu(analizuje zawsze 10 okresow) tu pojawia sie problem. Bloczk od FFT daje poprawne wynki amplitudy, nastomias faza caly czas zmnienia sie. Czy wie ktos moze w czym jest problem i jak go rozwiazac.
Mam karte PCI 6143, ktora programuje w LabView 7.1. Dokonuje pomiaru napiecia i robie nastepnie FFTsygnalu(analizuje zawsze 10 okresow) tu pojawia sie problem. Bloczk od FFT daje poprawne wynki amplitudy, nastomias faza caly czas zmnienia sie. Czy wie ktos moze w czym jest problem i jak go rozwiazac.
Re: FFT i faza
Witam
Faza zmienia się gdyż, prawdopodobnie, nie ustalasz warunku startu akwizycji. zbieranie sygnału można zaczynać od różnych wartości - aby była taka sama należy odpowiednio ustawić triger - najlepiej na przejście przez zero przy zboczu narastającym lub opadającym - największa stromość zbocza.
mam nadzieję że o to chodzi
Pozdrawiam
pmaj
Faza zmienia się gdyż, prawdopodobnie, nie ustalasz warunku startu akwizycji. zbieranie sygnału można zaczynać od różnych wartości - aby była taka sama należy odpowiednio ustawić triger - najlepiej na przejście przez zero przy zboczu narastającym lub opadającym - największa stromość zbocza.
mam nadzieję że o to chodzi
Pozdrawiam
pmaj
Nie jestem leniwy
Mam zawyżone wymagania motywacyjne
Mam zawyżone wymagania motywacyjne
Re: FFT i faza
Tak rzeczywiscie w tym jest problem, akwizycja zaczyna sie w roznych momentach. Sam mialem kiedys z tym problem problem. Generowalem przy pomocy labview i generatora sygnal i potem go (ten sam) mierzylem. Z badan tych wynikalo ze akwizycja zaczynala sie zawsze pozniej niz generowanie sygnalu. ale co bardziej istotne to opoznienie nigdy nie bylo stale tylko przypadkowe i oscylowalo w moim przypadku ok 10-15 ms co w moim przypadku dawalo znaczne roznice w fazie. Amplituda byla oczywiscie stala. Rozne byly przesuniecia harmonicznych bo w roznych "chwilach" sygnal zaczynal byc analizowany.
mozna sobie z tym poradzic albo jak wyzej patrz :triger albo za pomoca kilku kolejnych bloczkow. Jesli trzeba moge to opisac
mozna sobie z tym poradzic albo jak wyzej patrz :triger albo za pomoca kilku kolejnych bloczkow. Jesli trzeba moge to opisac
Re: FFT i faza
Witam
Pozdrawiam pmaj
Oczywiście pomysł software'owy zadziała - bo jak najbardziej aparat matematyczny pozwoli na odpowiednią obróbkę - osobiście jednak jestem zwolennikiem rozwiązań bezpośrednich niż pośrednich - po co obrabiać wynik pomiaru, kiedy można po prostu poprawnie zmieżyć - chociaż czasem taka obróbka jest niezbędna, więc, grzechura nie zaszkodzi opisać + jakieś screenygrzechura pisze:mozna sobie z tym poradzic albo jak wyzej patrz :triger albo za pomoca kilku kolejnych bloczkow. Jesli trzeba moge to opisac
Pozdrawiam pmaj
Nie jestem leniwy
Mam zawyżone wymagania motywacyjne
Mam zawyżone wymagania motywacyjne
Re: FFT i faza
Witam
Bylbym wdzieczny gdybybs mogl opisac jak poradziles sobie z tym problemem za pomoca bloczkow.
Pozdrawiam
Bylbym wdzieczny gdybybs mogl opisac jak poradziles sobie z tym problemem za pomoca bloczkow.
Pozdrawiam
Re: FFT i faza
sprawa na pierwszy rzut oka wydaje sie byc skomplikowana, ale w zasadzie nie jest to trudne.
problem polega na tym ze akwizycja nie zaczyna sie od jednego konkretnego punktu czasowego tylko od roznych przypadkowych
punktow. Nalezy wiec z otrzymanego sygnalu wybrac za kazdem jakis fragment sygnalu ktory zawsze bedzie sie zaczynal w tym
samym punkcie np przejscie przez zero (rozumiem ze mam doczyniena z sygnalem okresowym:) )
1 dokonujemy akwizycji sygnalu ale jeli chcemy uzyskac 10 okresow to wezmy np 12 zeby bylo z czego wyciac pelnych 10 okresow.
2. sprawdzamy przesuniecie harmonicznej PODSTAWOSEJ HARMONICZNEj sygnalu (50 hz).
3. uzyskane przesuniecie przeliczamy na czas. wg zaleznosci 360 stopni = 1 okres sygnalu czyli 20ms dla 50 hz.
4.bierzesz bloczek uwaga mam niemieckie labview:) signalverlauf-Abschnitt holen. Bloczek ten wycina z podenego sygnalu (w tym
przypadku nasze 12 okresow) dowolny kawalek sygnalu. podajemy tylko wartosc a) od ktorej ma zaczac wycinac, b) czas sygnalu
ktory ma byc wyciaty. (jak nie znajdziesz tego bloczka to postaram sie znalezc jego nazwe po angielsku)
5.Teraz gwozdz programu. trzeba tak zrobic zeby zaczac wycinac sygnal zawsze od tego samego miejsca, ale wiemy ze sygnal
zaczyna sie w roznych miejscach:)
Jako czas wktorym nalezy wyciac sygnal podajemy male rownanie 20 ms - przesuniecie podstawowej harmonicznej przeliczone na ms
6. jako czas trwania wycietego sygnalu wpisujemy 10 okresow czyli 200 ms.
7. Na tak wycietym sygnale obliczamy transformate fft. dla jednakowego wymuszenia przesuniecia fazowe harmonicznych beda zawsze stale.
Wiem ze moze wygladac too troche skomplikowanie. lepiej byloby mi to po prostu koms wytlumaczyc slownie. Jak bedzie jakis
problem to najlepiej podeslij mi plik w ktorym zapisany jest ten sygnal. postaram sie zbudowac ten program, bedzie wtedy
bardziej zrozumiale.
problem polega na tym ze akwizycja nie zaczyna sie od jednego konkretnego punktu czasowego tylko od roznych przypadkowych
punktow. Nalezy wiec z otrzymanego sygnalu wybrac za kazdem jakis fragment sygnalu ktory zawsze bedzie sie zaczynal w tym
samym punkcie np przejscie przez zero (rozumiem ze mam doczyniena z sygnalem okresowym:) )
1 dokonujemy akwizycji sygnalu ale jeli chcemy uzyskac 10 okresow to wezmy np 12 zeby bylo z czego wyciac pelnych 10 okresow.
2. sprawdzamy przesuniecie harmonicznej PODSTAWOSEJ HARMONICZNEj sygnalu (50 hz).
3. uzyskane przesuniecie przeliczamy na czas. wg zaleznosci 360 stopni = 1 okres sygnalu czyli 20ms dla 50 hz.
4.bierzesz bloczek uwaga mam niemieckie labview:) signalverlauf-Abschnitt holen. Bloczek ten wycina z podenego sygnalu (w tym
przypadku nasze 12 okresow) dowolny kawalek sygnalu. podajemy tylko wartosc a) od ktorej ma zaczac wycinac, b) czas sygnalu
ktory ma byc wyciaty. (jak nie znajdziesz tego bloczka to postaram sie znalezc jego nazwe po angielsku)
5.Teraz gwozdz programu. trzeba tak zrobic zeby zaczac wycinac sygnal zawsze od tego samego miejsca, ale wiemy ze sygnal
zaczyna sie w roznych miejscach:)
Jako czas wktorym nalezy wyciac sygnal podajemy male rownanie 20 ms - przesuniecie podstawowej harmonicznej przeliczone na ms
6. jako czas trwania wycietego sygnalu wpisujemy 10 okresow czyli 200 ms.
7. Na tak wycietym sygnale obliczamy transformate fft. dla jednakowego wymuszenia przesuniecia fazowe harmonicznych beda zawsze stale.
Wiem ze moze wygladac too troche skomplikowanie. lepiej byloby mi to po prostu koms wytlumaczyc slownie. Jak bedzie jakis
problem to najlepiej podeslij mi plik w ktorym zapisany jest ten sygnal. postaram sie zbudowac ten program, bedzie wtedy
bardziej zrozumiale.
Re: FFT i faza
Witam
Szczerze mówiąc nie podoba mi się ten sposób. Coś mi w nim po prostu nie pasuje - myślę ze samo obrabianie sygnału można zrobić łatwiej - po prostu taki programowy triger - ale moze sie mylę bo nie próbowałem.
W zamian pasowałoby cos zaproponować - więc polecam jednak ustawienie triggera - to tylko jeden bloczek - polimorficzny VI pozwalający na rozpoczęcie pomiaru na odpowiedni sygnał. Wybieramy z funkcji DAQmx funkcje Trigger i ustawiamy w listwie pod bloczkiem Start >> Analog Edge. Wówczas możemy ustawić parametry - na który sygnał (kanał, linia), na jaki poziom (wartość - moze oczywiście być różna od zera) oraz czy rosnące czy malejące zbocze.
Nie należy bać się hardware'owych rozwiązań - pozwalają one uniknąć software'owych
pozwalają część działania programu zrzucić na bądź co bądź drogą kartę NI - niech sie na coś przyda
Pozdrawiam
pmaj
Szczerze mówiąc nie podoba mi się ten sposób. Coś mi w nim po prostu nie pasuje - myślę ze samo obrabianie sygnału można zrobić łatwiej - po prostu taki programowy triger - ale moze sie mylę bo nie próbowałem.
W zamian pasowałoby cos zaproponować - więc polecam jednak ustawienie triggera - to tylko jeden bloczek - polimorficzny VI pozwalający na rozpoczęcie pomiaru na odpowiedni sygnał. Wybieramy z funkcji DAQmx funkcje Trigger i ustawiamy w listwie pod bloczkiem Start >> Analog Edge. Wówczas możemy ustawić parametry - na który sygnał (kanał, linia), na jaki poziom (wartość - moze oczywiście być różna od zera) oraz czy rosnące czy malejące zbocze.
Nie należy bać się hardware'owych rozwiązań - pozwalają one uniknąć software'owych
pozwalają część działania programu zrzucić na bądź co bądź drogą kartę NI - niech sie na coś przyda
Pozdrawiam
pmaj
Nie jestem leniwy
Mam zawyżone wymagania motywacyjne
Mam zawyżone wymagania motywacyjne
Re: FFT i faza
nie twierdze ze moj sposob jest bardzo dobry. po prostu zaproponawelem cos dla tych ktorzy nie chca, nie umieja, nie moga korzystac z triggeraPMaj pisze:Witam
Szczerze mówiąc nie podoba mi się ten sposób. Coś mi w nim po prostu nie pasuje - myślę ze samo obrabianie sygnału można zrobić łatwiej - po prostu taki programowy triger - ale moze sie mylę bo nie próbowałem.
jest to po prostu jedna z metod
pozdrawiam
Re: FFT i faza
zeby skorzystac z triggera nalezy miec jednak pewnosc ze karta "widzi" sygnal od momentu nacisniecia "start" a problem z opozniona akwizycja wynika z czegos innego. Bo jezeli jest tak ze karta zaczyna sygnal widziec z malym opoznieniem to z triggera nici beda...
wezmy pod uwage sygnal o zawartosci harmonicznych od duzej czestotliwosci np 7 harmoniczna (350 hz). Sygnal w tym przypadku ( w zaleznosci od amplitudy tej harmonicznej) moze kilkakrotnie przechodzic przez zero w ciagu jednego polokresu. Karta wylapuje sygnal z malym opoznieniem, (ale w kazdym pomiarze innym) czyli np: raz za pierwszym przejsciem sygnalu przez zero a innym razem za drugim przejsciem sygnalu przez zero . jesli trigger ustawimy zeby sprawdzal przejscie sygnalu przez zero to wyzwoli akwizycje w 1 przypadku: przy drugim przejsciu sygnalu przez zero a w drugim przypadku: przy trzecim. wyniki wiec beda calkiem inne.
pozdrawiam
wezmy pod uwage sygnal o zawartosci harmonicznych od duzej czestotliwosci np 7 harmoniczna (350 hz). Sygnal w tym przypadku ( w zaleznosci od amplitudy tej harmonicznej) moze kilkakrotnie przechodzic przez zero w ciagu jednego polokresu. Karta wylapuje sygnal z malym opoznieniem, (ale w kazdym pomiarze innym) czyli np: raz za pierwszym przejsciem sygnalu przez zero a innym razem za drugim przejsciem sygnalu przez zero . jesli trigger ustawimy zeby sprawdzal przejscie sygnalu przez zero to wyzwoli akwizycje w 1 przypadku: przy drugim przejsciu sygnalu przez zero a w drugim przypadku: przy trzecim. wyniki wiec beda calkiem inne.
pozdrawiam
Re: FFT i faza
Witam
Wielkie dzieki Panowie za zainteresowanie sie tematem. Sprobuje sie troche pobawic i raz zrobic to jednym a raz drugim sposobem. W przypadku gdyby pojawily sie problemy, coz bede najwyzej jeszcze prosil o pomoc.
Pozdrawiam
Wielkie dzieki Panowie za zainteresowanie sie tematem. Sprobuje sie troche pobawic i raz zrobic to jednym a raz drugim sposobem. W przypadku gdyby pojawily sie problemy, coz bede najwyzej jeszcze prosil o pomoc.
Pozdrawiam
Re: FFT i faza
Witam, witam!
Bardzo bym prosil o jakis schemat (rysunek), bo jako poczatkujacy uzytkownik nie jestem w 100% przekonany czy rozumiem... ;) A to obliczanie przesuniecia fazy jednej sinusoidy wzgledem drugiej to moje nowe zadanie wiec bylbym bardzo wdzieczny!
Bardzo bym prosil o jakis schemat (rysunek), bo jako poczatkujacy uzytkownik nie jestem w 100% przekonany czy rozumiem... ;) A to obliczanie przesuniecia fazy jednej sinusoidy wzgledem drugiej to moje nowe zadanie wiec bylbym bardzo wdzieczny!