Fourier-Analyse bis Arduino - Kreativität trifft Technik

Werbung
und
präsentieren
Fourier-Analyse bis Arduino
Von:
Stoffi
6. November 2012
Inhaltsverzeichnis
Komplexe Zahlen
Fourierreihe
Fourier-Transformation
Diskrete Fourier-Transformation
Komplexe Zahlen
I
I
I
I
I
Erweiterung der reellen Zahlen R
Zahlenstrahl → Zahlenebene
relle Einheit 1
imaginäre Einheit i
i 2 = −1
Komplexe Zahlen
I
Komplexe Exponentialfunktion (e-Funktion)
ei ·Φ = cos(Φ) + i sin(Φ)
mit Φ ∈ R
Fourierreihe
I
Sei f : R → R eine T -periodische, (abschnittsweise) stetig
differenzierbare Funktion
1
(x mod 10)
5
T = 10
f (x ) =
I
Ziel: f in Sinus- und Kosiunsfunktionen zu zerlegen um
Frequenzverhalten zu entschlüsseln
Fourierreihe
I
f hat eine Kreisfrequenz ω von ω =
I
Frequenz f 6= Kreisfrequenz ω
2π
T
Fourierreihe
I
f ist ein Vektor im Hilbertraum H der T -periodischen,
(abschnittsweise) stetig differenzierbaren Funktionen
I
die Funktionen {cos(k ωx ), sin(k ωx )} mit k ∈ N bilden
ein vONS (vollständiges Orthonormalsystem) in H
Fourierreihe
I
Es existiert eine Darstellung von f derart:
f (x ) =
mit
∞
a0
+ ∑ (ak cos(k ωx ) + bk sin(k ωx ))
2
k =1
2
ak =
T
Z c +T
2
bk =
T
I
c
f (x ) · cos(k ωx )dx ,
Z c +T
c
f (x ) · sin(k ωx )dx
Anschaulich: ak =
ˆ wie gut passt der cos() zu f (x )
Fourierreihe
I
Beispiel:
1
(x mod 10)
5
T = 10
f (x ) =
ak =
1
5
Z 10
1
bk =
1
5
Z 10
1
0
0
5
5
x cos(k
x sin(k
a0 =
π
x )dx = 0
5
P.I.
π
2
x )dx = −
5
kπ
P.I.
1
5
Z 10
1
0
5
xdx = 2
∀k ∈ N
∀k ∈ N
Fourierreihe
∞
f (x ) = 1 +
2
π
2
π
∑ (− k π sin(k 5 x ))
k =1
I
n-te Partialsumme
fn (x ) = 1 +
n
∑ (− k π sin(k 5 x ))
k =1
Fourierreihe
I
Mit komplexen Zahlen viel schöner zu rechnen:
∞
∑
f (x ) =
ck eik ωx
k =−∞
mit
1
ck =
T
I
Z c +T
f (x )e −ik ωx
c
e-funktion deutlich einfacher zu integrieren
Fourier-Transformation
I
Fourierreihe nur für periodische Funktionen
I
Umgehung mit einem Trick
I
T →∞
I
I
I
k ω wird kontinuierlich
Summen werden zu Integralen
Z ∞
1
f̂ (ω ) = √
2π
−∞
f (x )e −iωx dx
I
f̂ (ω ) ist die Fouriertransformierte von f (x )
I
einige Beispiele:
Fourier-Transformation
Fourier-Transformation
I
inverse Fourier-Transformation
Z ∞
1
f (x ) = √
f̂ (ω )eiωx d ω
2π −∞
I
einfaches Ableiten, da
f 0 (x )
I
↔
iω f̂ (ω )
hilfreich beim Lösen von Differentialgleichung
Diskrete Fourier-Transformation
I
Digitale Signale nicht kontinuiertlich: Sampels, Pixel,. . .
I
Integrale werden wieder zu Summen
I
Für ein Set (ein Vektor) aus mit N komplexen
”Messwerten”gilt dann
N −1
âk =
∑
jk
e −2πi · N · aj
j =0
I
Frequenzinformation f nicht direkt enthalten da auch keine
Samplingrat SR angegeben
k
f (k ) = SR ·
N
I
Abtasttheorem
SR > 2fmax
Diskrete Fourier-Transformation
I
1. Beispiel: Freiwillige vor
Diskrete Fourier-Transformation
I
inverse Diskrete Fourier-Transformation
ak =
I
1
N
N −1
∑
jk
e2πi · N · âj
j =0
Verlustfreies hin und her Transformieren
Diskrete Fourier-Transformation
I
2. Beispiel: Tiefpassfilter
Diskrete Fourier-Transformation
I
Spannungsteiler mit komplexen Widerständen Z
ZC
Ua = Ue
ZR + ZC
1
ZR = R
ZC =
iωC
I
Ua
auflösen
Einsetzten und nach U
e
Ua
1
=
Ue
1 + iωCR
Diskrete Fourier-Transformation
I
Filter Simulieren:
I
Audiodaten fouriertransformieren
I
Transformierte mit
I
Transformierte rücktransformieren
Ua
Ue ( ω )
multiplizieren
Arduino
I
Rechnung für Diskrete Fourier-Transformation aufwendig:
N 2 Mult. und Add.
I
besserer Algorithmus: FFT und iFFT
I
(invers) fast Fourier transform
I
oft schon vorimplimentiert
I
leider nicht auf Arduino
End of Line
Herunterladen