|
Szybka
transformata Fouriera
Materiały
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. (przykładowy
kod)
- 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?
Przykładowe
wykresy
|