Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

FFT algorytm - obliczeniach poszczególnych harmonicznych sygnału napięcia

19 Gru 2016 13:48 3417 3
  • #1 19 Gru 2016 13:48
    2862770
    Usunięty  
  • #2 19 Gru 2016 16:37
    chudek123
    Poziom 4  

    Witam,
    na wstępie zamieszczę kod Matlabowski z ostatnich zajęć laboratoryjnych z Sygnałów i Systemów Dynamicznych, ponieważ rozwiązywaliśmy ten problem:
    Zagadnienie: Rekonstrukcja sygnału na podstawie widma częstotliwościowego

    Kod: matlab
    Zaloguj się, aby zobaczyć kod


    Zdaję sobie sprawę, że nie rozwiązuję tu całkowicie Twojego problemu, ale może to posłużyć jako inspiracja. Pamiętam rysunek z tablicy, prowadzący narysował wektor [X(0),X(1),X(2),...,X(N-1)]
    a pod spodem odpowiadające im wartości k określające, która to jest próbka ze zbioru FFT, czyli [0,1,...,N-1], do obliczenia odpowiadających im częstotliwości f=k/N*Ts.
    A teraz chcesz się dowiedzieć, która próbka z wektora fft odpowiada podstawowej częstotliwości. Z mojego kodu, będzie to dla ks=1, a wynosić będzie f=ks*f0= f0. Jak widzisz f0=2, odczytałem z wykresu fft.

    Odpowiedź na pytanie dodatkowe:
    Według mnie w takiej sytuacji trzeba by rozdzielić sygnał na części, tak żeby rozdzielić kawałki z różniącymi się okresami(bez segregowania czy sortowaniu, po prostu pociachać).

    wladkowy kod z zajęć jest poprawny i materiał załączony tym bardziej, lecz każdemu słowu związanemu z moją opinią nie wierz bez potwierdzenia specjalisty, ponieważ jestem nieduoczny. Mam nadzieję, że przynajmniej wzbudzę tą wypowiedzią zainteresowanie tematem i uzyskasz pomoc lub jakoś Cię zainspiruję do rozwiązania.

  • #3 27 Gru 2016 20:53
    Kwarcu
    Poziom 11  

    Może od początku:
    Skoro chcesz zbadać zawartość harmonicznych w sygnale o częstotliwości bazowej 50Hz to najpierw musisz zadbać o to, żeby w oknie czasowym zmieścić dokładnie całkowitą wielokrotność okresu 50Hz (jest to dążenie do minimalizacji przecieku widma, zakładam, że stosujesz okno prostokątne). Rozdzielczość FFT wynosi (1 / FFT_N) * fs.
    Stąd, na przykład:
    - FFT_N = 64 (jest to jednocześnie ilość próbek N sygnału mieszczącego jeden okres lub jego wielokrotność)
    - fs = 50Hz*FFT_N = 3200Hz (wtedy rozdzielczość FFT wyniesie 50Hz)
    - po wykonaniu algorytmu fft otrzymujesz 64 zespolone próbki widma, odrzucasz połowę, liczysz moduł i skalujesz
    - otrzymane widmo zawiera teraz 32 harmoniczne : [0]-składowa stała, [1]-50Hz, [2]-100Hz, [3]-150Hz, (...) [31] 1550Hz
    Ogólnie wzór na n-tą harmoniczną 50Hz w tak wyliczonym widmie ma postać: [n] = (fs*n)/(FFT_N*50)

    Natomiast jeśli długość N twojego sygnału jest różna od FFT_N to stosujesz technikę tzw. "zero padding" i dalej liczysz jak wyżej.

    Jeśli chodzi o dodatkowe pytanie to w praktyce okres próbkowania nigdy nie jest idealnie stały (np. występuje "jitter" zegara ADC - ale to jest pomijalne), to zależy jak duże są te wahania fs. Skoro przeprowadzasz algorytm FFT który jest szczególnym przypadkiem DFT ( ang. Discrete Fourier Transform) to pracujesz na sygnale dyskretnym czyli wg definicji równomiernie próbkowanym. Przy zastosowaniu FFT nierównomierność okresu próbkowania będzie prowadzić do większych błędów. Istnieją jednak algorytmy, które sobie z tym radzą - poczytaj o NDFT (ang. non-uniform discrete Fourier transform).

  • #4 29 Gru 2016 18:18
    _jta_
    Specjalista elektronik

    A ja proponuję zacząć zabawę z FFT od wygenerowania sinusoid 50Hz i wielokrotności, przepuszczenia ich przez FFT i obejrzenia wyników.

    "Zero padding" wygeneruje szum na całe pasmo, pochodzący z transformowania skoku sygnału na granicy obszaru próbkowania - może lepiej uzupełnić dane odcinkiem łączącym ostatni punkt z pierwszym przesuniętym na koniec rozszerzonego obszaru? Wtedy ten szum będzie znacznie mniejszy. Ale wszystko do wypróbowania na "sztucznych danych"...

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME