Mercurial > hg > map
diff userProgramsTim/fourier_analyse.m @ 38:c2204b18f4a2 tip
End nov big change
author | Ray Meddis <rmeddis@essex.ac.uk> |
---|---|
date | Mon, 28 Nov 2011 13:34:28 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/userProgramsTim/fourier_analyse.m Mon Nov 28 13:34:28 2011 +0000 @@ -0,0 +1,22 @@ +function [frequency,out] = fourier_analyse(in, sfreq,color_plot) +% +%plots absolute values of fft of input signal on a semilogarithmic scale +%long term spectrum +% +%use: [frequency,out] = fourier_analyse(in, sfreq) +% in: input signal +% sfreq: samplingfrequency +% frequency: frequency vector +% out: fourier-spectrum (complex) +if ~exist('color_plot') + color_plot = 'b'; +end +out = fft(in)/(length(in)); %%Normierung auf Wurzel der Länge, da Matlab intern ohne Normierung der Hin-Fouriertransformation arbeitet +t = [0:1/sfreq:length(in)/sfreq-1/sfreq]; +frequency = [0:1/t(end):1/(2*(t(2)-t(1)))]; +%spektrale leistungsdichte wird geplottet, wobei eine amplitude von 1 100 +%dB entspricht +plot(frequency,20*log10(sqrt(2)*abs(out(1:round(length(in)/2)))),color_plot); +%sqrt(2) weil Gesamtenergie auch in Spiegelfrequenzen enthalten +xlabel('frequency / Hz'); +ylabel('fourier amplitude / dB'); \ No newline at end of file