User Tools

Site Tools


hw:lab:e2_fft:start

This is an old revision of the document!


Transformata Fouriera

Dyskretna transformata Fouriera (ang. Discrete Fourier Transform – DFT) jest procedurą numeryczną pozwalającą analizować, badać oraz syntetyzować sygnały w sposób dużo bardziej efektywny niż badając sygnały w postaci ciągłej [Ric03]. Dzięki DFT możliwe jest wyznaczenie zawartości częstotliwościowej dowolnego sy- gnału dyskretnego (w dziedzinie czasu). DFT wywodzi się bezpośrednio z przekształ- cenia Fouriera, danego dla sygnałów ciągłych [Ric03, Dag01, Zie02], jako dyskretny ciąg X(m) w dziedzinie częstotliwości:

Graph

gdzie x(n) to dyskretny N elementowy ciąg wartości sygnału w dziedzinie czasu. Przyjmując, iż próbki w dziedzinie czasu zbierane są w równoodległych chwilach o długości 1/fs , gdzie fs jest częstotliwością próbkowania, można wprowadzić pojęcie częstotliwości podstawowej jako:

Graph

Analiza częstotliwościowa sygnału x(n) owocuje więc wyznaczeniem wartości X(m) DFT, zwanych prążkami, w punktach osi częstotliwości będących całkowitymi wie- lokrotnościami częstotliwości podstawowej:

Graph

Częstotliwości takie nazywane będą częstotliwościami bazowymi. Dyskretne prze- kształcenie Fouriera w ogólności przyporządkowuje więc zespolonemu ciągowi N elementowemu identyczny ciąg. W większości aplikacji sygnał wejściowy ma jednak charakter rzeczywisty (części urojone są równe zero dla wszystkich próbek). Sytuacja taka implikuje, iż prążki dla m >= N/2 mają charakter nadmiarowy. Dla argumen- tów m ∈ [0, N/2 − 1] wartość wyjściowa DFT będzie miała taką samą amplitudę jak (N − m)-ta wartość wyjściowa, kąt fazowy będzie się różnił tylko znakiem [Ric03].

Kolejną bardzo ważną własnością transformaty Fouriera jest jej liniowość. Mówi ona o tym, iż DFT sumy dwóch sygnałów jest równa sumie transformat każdego z sygnałów [Ric03, Zie02]. Dzięki tej własności możliwe jest analizowanie intere- sujących nas przypadków zawierających wiele składowych, np. sygnał wraz z jego harmonicznymi.

Wyniki transformaty Fouriera przykładowego sygnału (rys. 4.2a): spróbkowanego z częstotliwością 16 Hz zostały zaprezentowane na rysunku 4.2b. W widmie wyjściowym można zaobserwować obecność prążków dla częstotliwości odpo- wiadających sygnałom wejściowym, jednak ich amplituda jest inna niż oczekiwana. Jeśli rzeczywisty sygnał wejściowy zawiera składową sinusoidalną o amplitudzie A i całkowitej liczbie okresów w przedziale N próbek wejściowych, wówczas amplituda wyjściowa DFT dla tego przebiegu wynosi A · (N/2). Aby więc odczytać amplitudę z wyników DFT należy podzielić wartości wszystkich składowych przez (N/2).

W powyższym przykładzie częstotliwości były starannie dobrane, tak by w zbio- rze wejściowym dana częstotliwość mieściła się całkowitą ilość razy (aby dana czę- stotliwość była częstotliwością bazową). W przypadkach gdy częstotliwość sygnału wejściowego nie jest częstotliwością bazową można zaobserwować zjawisko wycieku.

Zadanie 1

Wygeneruj N próbek sygnału sinusoidalnego (amplituda 1 V,częstotliwości X Hz, faza początkowa n stopni) spróbowanego z częstotliwością 128Hz. Wykreśl wykres pierwszych M próbek w dziedzinie czasu. Wyznacz DTF z wygenerowanych próbek. Wykreśl wartości amplitudy i fazy (oś Y dla amplitudy w skali logarytmicznej).

Podobna procedure powtóż dla sygnału Graph

Plan ćwiczenia

  1. Generacja sygnału sinusoidalnego o zadanej częstotliwości
  2. Badanie odpowiedzi TF na sygnały o różnej amplitudzie i częstotliwości
    • normalizacja wyników
    • wyciek (dla częstotliwościami nie będącymi bazowymi)
    • aliasing (podanie czestotliwosci > fs/2)
    • [opcja] badanie wpływu funkcji okien na widmo
  3. odpowiedź TF na szum biały
    • uśrednianie widma
  4. Badanie odpowiedzi przetwornika ADC na sygnał sinusoidalny
    • szum kwantyzacji
    • wpływ parametru modelu (wzmocnienie) na zniekształcenia nie liniowe (harmoniczne)
  5. [opcja] filtracja w dziedzinie częstotliwości (np. zidentyfikowanie i usunięcie zakłócenia o zadanej częstotliwości)
/services/www/http/wiki/data/attic/hw/lab/e2_fft/start.1298982406.txt.gz · Last modified: 2019/03/08 14:06 (external edit)