Szybka transformata Fouriera
Materiały
Szybka transformata Fouriera w GSL
Zadania
- Proszę wygenerować 256-elementową tablicę wartości funkcji będącej
sumą czterech cosinusów o różnych okresach i amplitudach, korzystając np. z wzoru:
data[i]=cos(4*Pi*i/N)+cos(16*Pi*i/N)/5+cos(32*Pi*i/N)/8+cos(128*Pi*i/N)/16
gdzie N = 256. Narysować wykres tej funkcji korzystając z Gnuplota. Tę funkcję nazywamy sygnałem.
-
Proszę użyć funkcji gsl_fft_real_radix2_transform do otrzymania transformaty Fouriera sygnału.
Narysować wykres słupkowy tej transformaty. Czy na tym wykresie widać
związek z częstotliwościami i amplitudami cosinusów wchodzących w skład funkcji?
Ten wykres nazywamy widmem częstotliwości.
-
Teraz wypełniamy tablicę wartościami funkcji cosinus zaburzonej niewielkim "szumem",
np. korzystając z wzoru:
data[i]=cos(4*Pi*i/N)+((float)rand())/RAND_MAX/8.0
Proszę narysować wykres tej funkcji.
-
Narysować wykres transformaty Fouriera tego sygnału (jak w punkcie 2).
-
Po transformacie wyzerować w widmie wszystkie elementy, których wartość bezwzględna
jest mniejsza niż 50. W ten sposób usuwamy "szumy" z sygnału.
-
Użyć funkcji gsl_fft_halfcomplex_radix2_inverse do przeprowadzenia odwrotnej
transformaty. Narysować wykres otrzymanej funkcji. Czym różni się ona od
wyjściowego sygnału?
|