Spróbuj się pobawić skryptem na tej stronie ("niestety" angielski

:
http://home.fuse.net/clymer/graphs/fourier.html
albo tu:
http://www.dsptutor.freeuk.com/jsanalyser/FFTSpectrumAnalyser.html
W tym drugim adresie (niestety podaje tylko kształt przebiegu i widmo ale bez wartości liczbowych, aczkolwiek pozwala zobaczyć jak kształt wejściowy wpływa na wyniki)
Ustawiamy tam sobie też częstotliwość próbkowania i ilość próbek przebiegu.
Fala jest reprezentowana jako funkcja czasu t i jest konstruowana przy pomocy standardowej notacji.
Sinusoida o częstotliwości f (w Hz) jest zapisywana w postaci:
sin(2*pi*f*t)
za f wstawiasz odpowiednią wartość liczbową. Nie należy pomijać znaku mnożenia * gdyż nie jest ono domyślne.
Amplituda uzyskanego przebiegu jest skalowana względem maksymalnej próbki uzyskanego przebiegu. Względne wartości poszczególnych składników są jednak znaczące, co oznacza, że poniższe zapisy dadzą te same wyniki tak w przebiegu fali jak i obliczonym widmie.
sin(1000*pi*t) + 0.5*sin(2000*pi*t)
2*sin(1000*pi*t) + sin(2000*pi*t)
Funkcje dodatkowe
sqr() - przebieg prostokątny
sqr(2000*pi*t) da przebieg prostokątny o częstotliwości 1000Hz
(zastąpienie 2*1000 przez 2000, zmniejsza ilość mnożeń przy obliczeniach)
tri() - przebieg trójkątny (symetryczny)
tri(500*pi*t) daje przebieg trójkątny o częstotliwości 250Hz
saw() - przebieg piłokształtny
saw(1000*pi*t) daje przebieg piłokształtny o częstotliwości 500 Hz
noise() - generuje szum (funkcja bezargumentowa)
szum ma rozkład normalny (Gaussa), wartość średnią równą 0 i jednostkowe odchylenie standardowe.
Amplitudę szumu uzyskujemy przez mnożenie funkcji
noise przez jakąś wartość, np.
0.2*noise().
Powyższe funkcje mogą być dodawane, mnożone itd przez siebie dla uzyskania żądanej funkcji sumarycznej.
Przykładowe zapisy
sin(2000*pi*t) + 0.5 - sinus 1000Hz, amplituda 1V, składowa stała 0.5V
--------------------------------------------------------------------------
sin(2000*pi*t) + 0.5*noise() - sinusoida 1000Hz, 1V, zaszumiona przebiegiem o amplitudzie 0.5V
--------------------------------------------------------------------------
sin(2000*pi*t) + 2*sin(4000*pi*t) - suma sinusoid 1000Hz i 2000Hz o amplitudach 1V i 2V
----------------------------------------------------------------------------
Modulacja AM bez fali nośnej
sin(2000*pi*t)*sin(500*pi*t)
----------------------------------------------------------------------------
Modulacja AM z falą nośną
sin(2000*pi*t)*(1+0.5*sin(200*pi*t))
------------------------------------------------------
sqr(500*pi*t)*sin(2000*pi*t) - fala prostokątna 250 Hz przemnożona przez sinusoidę 1000 Hz
-------------------------------------------------------------------------
tri(3000*pi*t)*hann(t) - fala symetryczna trójkątna przemnożona przez
funkcję okna Hanna (od nazwiska Juliusa von Hann)
hann(t) - argumentem jest tylko t bez innych składników.
funkcji tej używa się do "wygładzenia" funkcji przetwarzanej na granicach ona przetwarzania (by nie było gwałtownych skoków wartości, jako, że to co w oknie traktujemy jako 1 pełny okres przebiegu badanego).