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