Fourier Reihe

(kner2021)
Bestimmen der Koeffizienten als Korrelation zwischen Signal und Oberwellen
clear all
f=1e3;
T=1/f
T = 1.0000e-003
w=2*pi*f;
time=linspace(0,2e-3,100);
k=1:10;
Testsignal: die Oberwellen k werden punktweise multipliziert mit einem Signal, das sich aus eine Grundschwingung und Oberschwingungen unterschiedlicher Amplitude zusammensetzt.
Man erkennt: wenn die Wellen nicht korrellieren, dann ist das Ergebnis NULL
x=@(t) sin(w*t)+0.3*sin(3*w*t)+0.7*sin(4*w*t);
correlation=@(t,k) x(t).*sin(k*w*t);
figure(1)
plot(time,x(time))
title('periodisches Signal mit Oberwellen')
xlabel('time')
figure(2)
plot(time,correlation(time,1))
title('Korrelation mit 1. Grundwelle');xlabel('time')
man sieht: der Mittelwert dieser Funktion ist nicht Null
figure(3)
plot(time,correlation(time,2))
title('Korrelation mit 2. Grundwelle');xlabel('time')
man sieht: der Mittelwert dieser Funktion ist Null
Der skalierte Mittelwertzeigt zeigt die Amplituden der Oberwellen
z=2* 1/T*integral(@(t) correlation(t,k),0,T,"ArrayValued",true);
stem(k,z, 'blue', 'LineWidth',2)
Anmerkung zu Matlab: 'correlation' ist eine anonyme Funktion in t mit dem Parameter k. Die Matlabfunktion "integral" verlangt eine Funktion. Mit dem Parameter "ArrayValued" kann man mehrere Funktionen gleichzeitig ├╝bergeben (hier k=1,2,3...)