Andrei Shelkovenko. Jeden z deweloperów i założyciel Vibromera.
Tłumaczenie artykułu może zawierać nieścisłości.
- Transformata Fouriera i widmo sygnału
W wielu przypadkach zadanie uzyskania (obliczenia) widma sygnału wygląda następująco. Istnieje przetwornik ADC, który z częstotliwością próbkowania Fd przekształca sygnał ciągły, który dociera do jego wejścia w czasie T, na próbki cyfrowe - N sztuk. Następnie ta tablica próbek jest podawana do jakiegoś programu (na przykład FourierScope), która wyświetla N/2 pewnych wartości liczbowych.
Aby sprawdzić, czy program działa poprawnie, tworzymy tablicę próbek jako sumę dwóch sin(10*2*pi*x)+0.5*sin(5*2*pi*x) i wprowadzamy ją do programu. Program narysował co następuje:
Na wykresie widma są dwie harmoniczne - 5 Hz o amplitudzie 0,5 V i 10 Hz o amplitudzie 1 V, wszystko jest jak we wzorze oryginalnego sygnału. Wszystko jest w porządku, grogram działa poprawnie.
Oznacza to, że jeśli podamy rzeczywisty sygnał z mieszaniny dwóch sinusoid na wejście ADC, otrzymamy podobne widmo składające się z dwóch harmonicznych.
Tak więc nasz prawdziwy zmierzony sygnał o czasie trwania 5 sekundzdigitalizowany przez ADC, tj. reprezentowany przez dyskretny próbek, ma dyskretny nieokresowy spektrum.
Z matematycznego punktu widzenia - ile jest błędów w tym zdaniu?
Teraz spróbujmy zmierzyć ten sam sygnał przez 0,5 sekundy.
Coś tu jest nie tak! Harmoniczna o częstotliwości 10 Hz jest rysowana normalnie, a zamiast harmonicznej o częstotliwości 5 Hz pojawiają się niejasne harmoniczne.
W internecie piszą, że trzeba dodać zera na końcu próbki i widmo będzie rysowane normalnie.
To wcale nie tak. Będę musiał zająć się teorią. Przejdźmy do wikipedia - źródło wiedzy.
2. Funkcja ciągła i jej reprezentacja w postaci szeregu Fouriera
Matematycznie, nasz sygnał o czasie trwania T sekund jest pewną funkcją f(x) daną na przedziale {0, T} (X w tym przypadku jest czasem). Taką funkcję można zawsze przedstawić jako sumę funkcji harmonicznych (sinus lub cosinus) o postaci:
k to numer funkcji trygonometrycznej (numer składnika harmonicznego, numer harmonicznej)
T - segment, w którym zdefiniowana jest funkcja (czas trwania sygnału)
Ak- amplituda k-tej składowej harmonicznej,
θk- faza początkowa k-tej składowej harmonicznej
Co to znaczy "przedstawić funkcję jako sumę szeregu"? Oznacza to, że dodając wartości składowych harmonicznych szeregu Fouriera w każdym punkcie, otrzymujemy wartość naszej funkcji w tym punkcie.
(Mówiąc ściślej, średnie kwadratowe odchylenie szeregu od funkcji f(x) będzie dążyć do zera, ale pomimo zbieżności średniokwadratowej, szereg Fouriera funkcji nie musi, ogólnie rzecz biorąc, zbiegać się do niej punkt po punkcie). )
Seria ta może być również zapisana w postaci:
gdzie k-tą amplitudę zespoloną.
lub
Zależność między współczynnikami (1) i (3) jest wyrażona następującymi wzorami:
Należy zauważyć, że wszystkie te trzy reprezentacje szeregu Fouriera są całkowicie równoważne. Czasami podczas pracy z szeregami Fouriera wygodniej jest używać wykładników argumentu urojonego zamiast sinusów i cosinusów, tj. używać transformaty Fouriera w postaci zespolonej. Jednak dla nas wygodniejsze jest użycie wzoru (1), w którym szereg Fouriera jest reprezentowany jako suma cosinusów z odpowiednimi amplitudami i fazami. W każdym razie błędem jest twierdzenie, że wynikiem transformaty Fouriera sygnału rzeczywistego będą złożone amplitudy harmoniczne. Jak poprawnie podaje Wiki, "transformata Fouriera (ℱ) jest operacją, która odwzorowuje jedną funkcję zmiennej rzeczywistej na inną funkcję również zmiennej rzeczywistej".
Konkluzja:
Podstawą matematyczną analizy widmowej sygnałów jest transformata Fouriera.
Transformata Fouriera pozwala przedstawić ciągłą funkcję f(x) (sygnał) zdefiniowaną na przedziale {0, T} jako sumę nieskończonej liczby (nieskończony szereg) funkcji trygonometrycznych (sinus i/lub cosinus) o określonych amplitudach i fazach również rozważanych na przedziale {0, T}. Taki szereg nazywany jest szeregiem Fouriera.
Należy zwrócić uwagę na kilka dodatkowych punktów, których zrozumienie jest niezbędne do prawidłowego zastosowania transformaty Fouriera do analizy sygnału. Jeśli weźmiemy pod uwagę szereg Fouriera (sumę sinusoid) na całej osi X, zobaczymy, że poza przedziałem {0, T} funkcja szeregu Fouriera będzie okresowo powtarzać naszą funkcję.
Na przykład na wykresie na Rys. 7 oryginalna funkcja jest zdefiniowana w przedziale {-T\2, +T\2}, a szereg Fouriera reprezentuje funkcję okresową zdefiniowaną na całej osi x.
Wynika to z faktu, że sinusoidy same w sobie są funkcjami okresowymi, więc ich suma również będzie funkcją okresową.
Tak więc:
Nasza oryginalna funkcja jest ciągłą, nieokresową funkcją zdefiniowaną na pewnym odcinku o długości T.
Widmo tej funkcji jest dyskretne, tzn. jest reprezentowane jako nieskończony szereg składowych harmonicznych - szereg Fouriera.
W rzeczywistości szereg Fouriera definiuje pewną funkcję okresową, która pokrywa się z naszą funkcją na przedziale {0, T}, ale dla nas ta okresowość nie jest istotna.
Następny.
Okresy składowych harmonicznych są wielokrotnościami przedziału {0, T}, na którym zdefiniowana jest funkcja początkowa f(x). Innymi słowy, okresy składowych harmonicznych są wielokrotnościami czasu trwania pomiaru sygnału. Na przykład okres pierwszej harmonicznej w szeregu Fouriera jest równy przedziałowi T, w którym zdefiniowana jest funkcja f(x). Okres drugiej harmonicznej w szeregu Fouriera jest równy przedziałowi T/2. I tak dalej (patrz rysunek 8).
Odpowiednio, częstotliwości składowych harmonicznych są wielokrotnościami 1/T. Oznacza to, że częstotliwości składowych harmonicznych Fk wynoszą Fk= k\T, gdzie k przyjmuje wartości od 0 do ∞, na przykład k=0 F0=0; k=1 F1=1\T; k=2 F2=2\T; k=3 F3=3\T; .... Fk= k\T (przy zerowej częstotliwości, składowa stała).
Niech naszą funkcją początkową będzie sygnał zarejestrowany w czasie T=1 sek. Wówczas okres pierwszej harmonicznej będzie równy czasowi trwania naszego sygnału T1=T=1 sek. a częstotliwość harmonicznej będzie równa 1 Hz. Okres drugiej harmonicznej będzie równy czasowi trwania naszego sygnału podzielonemu przez 2 (T2=T/2=0,5 sek.), a częstotliwość będzie równa 2 Hz. Dla trzeciej harmonicznej, T3=T/3 s, a częstotliwość wynosi 3 Hz. I tak dalej.
Krok między harmonicznymi w tym przypadku wynosi 1 Hz.
W ten sposób sygnał o czasie trwania 1 s można rozłożyć na składowe harmoniczne (w celu uzyskania widma) z rozdzielczością częstotliwości 1 Hz.
Aby zwiększyć rozdzielczość o współczynnik 2 do 0,5 Hz, konieczne jest wydłużenie czasu trwania pomiaru o współczynnik 2 do 2 sekund. 10-sekundowy sygnał można rozłożyć na składowe harmoniczne (widmo) z rozdzielczością częstotliwości 0,1 Hz. Nie ma innych sposobów na zwiększenie rozdzielczości częstotliwościowej.
Istnieje sposób na sztuczne wydłużenie czasu trwania sygnału poprzez dodanie zer do tablicy próbek. Nie zwiększa to jednak rzeczywistej rozdzielczości częstotliwości.
3. Sygnały dyskretne i dyskretna transformata Fouriera
Wraz z rozwojem technologii cyfrowej zmieniły się sposoby przechowywania danych pomiarowych (sygnałów). Podczas gdy wcześniej sygnał mógł być rejestrowany na magnetofonie i przechowywany na taśmie w formie analogowej, obecnie sygnały są digitalizowane i przechowywane w plikach w pamięci komputera jako zestaw liczb (zliczeń).
Zwykły schemat pomiaru i digitalizacji sygnału wygląda następująco.
Przetwornik pomiarowy -- Normalizator sygnału -- ADC -- Komputer
(Rys.9 Schemat kanału pomiarowego)
Sygnał z przetwornika pomiarowego trafia do przetwornika ADC na okres czasu T. Odczyty sygnału (próbkowanie) otrzymane w czasie T są przesyłane do komputera i zapisywane w pamięci.
Jakie są wymagania dotyczące parametrów digitalizacji sygnału? Urządzenie, które przekształca wejściowy sygnał analogowy w kod dyskretny (sygnał cyfrowy), nazywane jest przetwornikiem analogowo-cyfrowym (ADC) (© Wiki).
Jednym z podstawowych parametrów przetwornika ADC jest maksymalna częstotliwość próbkowania - częstotliwość próbkowania sygnału, który jest ciągły w czasie. Częstotliwość próbkowania mierzona jest w hercach. ((© Wiki))
Zgodnie z twierdzeniem Kotelnikova, jeśli sygnał ciągły ma widmo ograniczone częstotliwością Fmax, można go w pełni i jednoznacznie zrekonstruować z jego dyskretnych próbek pobranych w odstępach czasu T = 1/2*Fmax, tj. z częstotliwością Fd ≥ 2*Fmax, gdzie Fd - częstotliwość próbkowania; Fmax - maksymalna częstotliwość widma sygnału. Innymi słowy, częstotliwość digitalizacji sygnału (częstotliwość próbkowania przetwornika ADC) musi być co najmniej 2 razy wyższa niż maksymalna częstotliwość sygnału, który chcemy zmierzyć.
A co się stanie, jeśli będziemy pobierać próbki z mniejszą częstotliwością niż wymaga tego twierdzenie Kotelnikova?
W tym przypadku występuje efekt "aliasingu" (inaczej efekt stroboskopowy, efekt mory), w którym sygnał o wysokiej częstotliwości po digitalizacji zamienia się w sygnał o niskiej częstotliwości, który w rzeczywistości nie istnieje. Na rys. 11 czerwona fala sinusoidalna o wysokiej częstotliwości jest prawdziwym sygnałem. Niebieska fala sinusoidalna o niższej częstotliwości jest sygnałem fikcyjnym, wynikającym z faktu, że w czasie próbkowania upłynęło więcej niż pół okresu sygnału o wysokiej częstotliwości.
Aby uniknąć efektu aliasingu, przed przetwornikiem ADC umieszczany jest specjalny filtr antyaliasingowy (filtr dolnoprzepustowy). Przepuszcza on częstotliwości niższe niż połowa częstotliwości próbkowania przetwornika ADC i odcina wyższe częstotliwości.
W celu obliczenia widma sygnału na podstawie jego dyskretnych próbek stosuje się dyskretną transformatę Fouriera (DFT). Należy ponownie zauważyć, że widmo sygnału dyskretnego jest "z definicji" ograniczone do częstotliwości Fmax mniejszej niż połowa częstotliwości próbkowania Fd. Dlatego widmo sygnału dyskretnego może być reprezentowane przez sumę skończony liczba harmonicznych, w przeciwieństwie do nieskończonej sumy dla szeregu Fouriera sygnału ciągłego, którego widmo może być nieograniczone. Zgodnie z twierdzeniem Kotelnikova, maksymalna częstotliwość harmonicznej musi być taka, aby odpowiadała co najmniej dwóm próbkom, więc liczba harmonicznych jest równa połowie liczby próbek sygnału dyskretnego. Oznacza to, że jeśli w próbce znajduje się N próbek, liczba harmonicznych w widmie będzie wynosić N/2.
Rozważmy teraz dyskretną transformatę Fouriera (DFT).
Porównanie z szeregiem Fouriera
Jak widać, są one zbieżne, z wyjątkiem faktu, że czas w FFT jest dyskretny, a liczba harmonicznych jest ograniczona do N/2, co stanowi połowę liczby próbek.
Wzory DFT są zapisywane w bezwymiarowych zmiennych całkowitych k, s, gdzie k jest liczbą próbek sygnału, a s jest liczbą składowych widmowych.
Wartość s pokazuje liczbę pełnych oscylacji harmonicznych na okres T (czas trwania pomiaru sygnału). Dyskretna transformata Fouriera jest używana do numerycznego znajdowania amplitud i faz harmonicznych, czyli "na komputerze".
Jak już wspomniano powyżej, rozkładając funkcję nieokresową (nasz sygnał) na szereg Fouriera, wynikowy szereg Fouriera w rzeczywistości odpowiada funkcji okresowej z okresem T (rys. 12).
Jak widać na Rys. 12, funkcja f(x) jest okresowa z okresem T0. Jednak ze względu na fakt, że długość próbki pomiarowej T nie jest równa okresowi funkcji T0, funkcja otrzymana jako szereg Fouriera ma nieciągłość w punkcie T. W rezultacie widmo tej funkcji będzie zawierało dużą liczbę harmonicznych o wysokiej częstotliwości. Gdyby czas trwania próbki pomiarowej T pokrywał się z okresem funkcji T0, wówczas widmo uzyskane po transformacie Fouriera zawierałoby tylko pierwszą harmoniczną (sinusoidę o okresie równym czasowi trwania próbki), ponieważ funkcja f(x) jest sinusoidą.
Innymi słowy, program DFT "nie wie", że nasz sygnał jest "wycinkiem fali sinusoidalnej", ale próbuje przedstawić jako serię funkcję okresową, która ma nieciągłość z powodu nieciągłości oddzielnych fragmentów fali sinusoidalnej.
W rezultacie w widmie pojawiają się harmoniczne, które powinny w sumie reprezentować kształt funkcji, w tym tę nieciągłość.
Tak więc, aby uzyskać "prawidłowe" widmo sygnału, który jest sumą kilku sinusoid o różnych okresach, konieczne jest, aby całkowita liczba okresów Każda sinusoida powinna być obecna w okresie pomiaru sygnału. W praktyce warunek ten można spełnić przy wystarczająco długim czasie trwania pomiaru sygnału.
Przy krótszym czasie obraz będzie wyglądał "gorzej":
W praktyce może być trudno zrozumieć, gdzie znajdują się "prawdziwe składowe", a gdzie "artefakty" spowodowane niespójnością okresów składowych i czasów próbkowania sygnału lub "skokami i przerwami" w kształcie fali. Oczywiście słowa "rzeczywiste składowe" i "artefakty" zostały ujęte w cudzysłów nie bez powodu. Obecność wielu harmonicznych na wykresie widma nie oznacza, że nasz sygnał faktycznie się z nich składa. To tak, jakby myśleć, że liczba 7 "składa się" z liczb 3 i 4. Liczba 7 może być traktowana jako suma 3 i 4 - to prawda.
Tak więc również nasz sygnał... a raczej nawet nie "nasz sygnał", ale funkcja okresowa złożona z powtarzania naszego sygnału (próbki) może być reprezentowana jako suma harmonicznych (sinusoid) o określonych amplitudach i fazach. Ale w wielu przypadkach ważnych dla praktyki (patrz rysunki powyżej) rzeczywiście możliwe jest odniesienie harmonicznych uzyskanych w widmie również do rzeczywistych procesów mających charakter cykliczny i znacząco przyczyniających się do kształtu sygnału.
Niektóre wyniki
1. Rzeczywisty sygnał pomiarowy o czasie trwania T sekund zdigitalizowany przez przetwornik ADC, tj. reprezentowany przez zbiór dyskretnych próbek (N elementów), ma dyskretne nieokresowe widmo reprezentowane przez zbiór harmonicznych (N/2 elementów).
2. Sygnał jest reprezentowany przez zbiór prawidłowych wartości, a jego widmo jest reprezentowane przez zbiór prawidłowych wartości. Częstotliwości harmonicznych są dodatnie. Tylko dlatego, że matematycznie wygodniej jest reprezentować widmo w postaci złożonej przy użyciu częstotliwości ujemnych, nie oznacza, że "tak jest dobrze" i "tak zawsze należy to robić".
3. Sygnał zmierzony w czasie T jest określony tylko w czasie T. To, co wydarzyło się przed rozpoczęciem pomiaru sygnału i co wydarzy się później, jest nieznane nauce. I w naszym przypadku nie jest to interesujące. FFT sygnału ograniczonego czasowo daje jego "prawdziwe" widmo, w tym sensie, że w pewnych warunkach pozwala obliczyć amplitudę i częstotliwość jego składowych.