28.02.2014 Aufrufe

Fourierreihen und Fouriertransformation - Fachhochschule ...

Fourierreihen und Fouriertransformation - Fachhochschule ...

Fourierreihen und Fouriertransformation - Fachhochschule ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Fourierreihen</strong> <strong>und</strong> <strong>Fouriertransformation</strong> 74<br />

Wenn die Abtastwerte sich auf ein allgemeines Intervall [a , a + T] beziehen, dann muss<br />

im trigonometrischen Polynom noch zusätzlich t durch t – a ersetzt werden<br />

N<br />

( ) ( ) ∑ − 1<br />

α<br />

0<br />

α<br />

N ⎛ 2πN<br />

⎞ ⎛ ⎛ 2πk<br />

⎞ ⎛ 2πk<br />

⎞⎞<br />

f t = + cos⎜<br />

t − a ⎟ + ⎜α<br />

k<br />

cos⎜<br />

( t − a) ⎟ + β<br />

k<br />

sin⎜<br />

( t − a)<br />

⎟⎟<br />

2 2 ⎝ T ⎠ k = 1 ⎝ ⎝ T ⎠ ⎝ T ⎠⎠<br />

5.4.1 Beispiel (Abgetastete Werte in einem beliebigen Intervall)<br />

Das folgende Programm implementiert die Berechnung der α k <strong>und</strong> β k aus den komplexen<br />

c k für das Intervall [a, a + T] mit a = 0 <strong>und</strong> Τ = 2π.<br />

% Berechnung der reellen Fourierkoeffizienten<br />

% aus den komplexen von fft<br />

% abgetastete Werte in einem beliebigen Intervall [a,a+T]<br />

% Beispiel Funktion f(t)=1./(1+t.^2)<br />

% Fillename = dfi4_fft.m<br />

clear<br />

% verschiedene Funktionen zum ausprobieren<br />

%func='exp(t)';<br />

%func='abs(t)/pi'; % Dreiecksfolge<br />

%func='exp(-t.^2)';<br />

%func='exp(-abs(t))';<br />

%func='sin(t)';<br />

func='1./(1+t.^2)';<br />

%func='sin(2*pi*5*t)+sin(2*pi*15*t)+randn(size(t))';<br />

%func='t';<br />

f=inline(func);<br />

N=8; % 2N Werte<br />

n=2*N;<br />

% Defintion des Intervalls, in welchem die obigen<br />

% Funktionsgleichungen gelten<br />

A=0; % Anfangswert des Intervalls<br />

T=2*pi; % Periode des Intervalls<br />

ome=2*pi/T;<br />

% Abtastung an 2N Stellen im Intervall<br />

x=[0:2*N-1].*T/(2*N)+A;<br />

y=f(x);<br />

n=length(y);<br />

% Plotten der abgetasteten Punkte<br />

plot(x,y,'o','MarkerFaceColor','k'); % plot der Datenpunkte<br />

title(['Periode = ',num2str(T)]);<br />

axis([A-T A+2*T min(y)-1 max(y)+1])<br />

grid on<br />

% Berechnung der Fourierkoeffizienten mit fft<br />

y(1)=0.5*(f(A)+f(A+T));<br />

fy=fft(y);

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!