Lektion
Die Theorie — Diskrete Fourier-Transformation
Die diskrete Fourier-Transformation von N Abtastwerten x0 … xN−1 ergibt N Zahlen Xk = Σn xn e−2πikn/N, eine pro Bin k. Jede misst, wie viel einer Welle das Signal enthält, die in den N Abtastwerten k Zyklen vollendet. Sie behandelt die Abtastwerte als eine Periode eines sich wiederholenden Signals. Daher ist sie exakt für Töne, die ganze Zyklen vollenden. Jeden anderen Ton verteilt sie über die Bins: Leckeffekt. Ein Fenster wn multipliziert zuerst die Abtastwerte, um die Nahtstelle abzumildern.
Was die einzelnen Symbole bedeuten
A_k- die von Bin k abgeleitete Amplitude, die die Balken zeigen: 2|Xk|/(N·G) für 0 < k < N/2, sowie |Xk|/(N·G) bei k = 0 und k = N/2, die kein Spiegel-Bin zum Teilen haben. Ein Ton mit Amplitude 1 auf einem Bin ergibt 1
G- der kohärente Gewinn des Fensters, also der Mittelwert von wn: 1 ohne Fenster, ½ für Hann
- Setzt voraus
- Jeder Ton beginnt an seiner Spitze als Kosinus. Die Werte an den fernen Flanken verschieben sich mit der Startphase. Bin 31 des Tons mit 10,5 Zyklen liegt bei einem Kosinus 26,3 dB unter dem höchsten Balken und bei einem Sinus 31,2 dB darunter. Die 81 % in den beiden nächsten Bins bewegen sich hingegen kaum. Das Hann-Fenster ist die periodische Form ½ − ½cos(2πn/N), deren Transformation exakt drei Bins umfasst.
Aufgabe vollständig gelöst
-
Korrigiere einen Messwert und beseitige dann die Notwendigkeit dafür 4 Schritte
Ein Analysator tastet 8.000-mal pro Sekunde ab und transformiert jeweils 64 Abtastwerte, ohne Fenster. Du speist einen Testton mit 1.312,5 Hz ein. Der höchste Balken zeigt 0,32 an. Wie groß ist die wahre Amplitude des Tons, und wie viele Abtastwerte pro Block würden den Ton exakt auf ein Bin setzen? Klick Die Pfeile biegen sich: Die Seite spielt einen Ton mit dieser Frequenz.
-
Die Bins liegen 8.000/64 auseinander. Der Ton vollendet also 10,5 Zyklen pro Block, genau zwischen den Bins 10 und 11.
-
Genau in der Mitte zeigt der höchste Balken der Seite 64,61 % des Tons an. Teile das heraus:
-
Der Ton landet auf einem Bin, wenn ein Block eine ganze Anzahl seiner Zyklen enthält. Mit 128 Abtastwerten liegen die Bins 62,5 Hz auseinander:
-
Hätte der Analysator ein Hann-Fenster auf die 64 Abtastwerte angewendet, hätte der höchste Balken 84,89 % des Tons angezeigt. Derselbe Ton ergäbe also:
Antwort
Etwa 0,495 und 128 Abtastwerte pro Block. Jedes Vielfache von 128 funktioniert ebenfalls, da 1.312,5 Hz genau 128 Abtastwerte benötigen, um eine ganze Anzahl von Zyklen (21) zu vollenden. Die Seite ist auf 64 fixiert. Der Fall mit 128 Abtastwerten liegt also jenseits dessen, was sie darstellen kann. Bei 128 zeigt der Balken die vollen 0,495 an. Das Fenster wäre dann nicht mehr nötig, um die Amplitude abzulesen. Du bräuchtest es nur noch, um die Flanke eines starken Tons von einem schwachen fernzuhalten.
-
Lernpfad
Die Fourier-Transformation in der Praxis
Quellen (2)
- The standard reference on windows. Leakage defined as the page shows it: of all frequencies “only those which coincide with the basis will project onto a single basis vector; all other frequencies will exhibit non zero projections on the entire basis set”, because “the periodic extension of a signal not commensurate with its natural period exhibits discontinuities at the boundaries of the observation” (p. 52). Table I (p. 55) gives coherent gain 1.00 and 0.50 and scalloping loss 3.92 dB and 1.42 dB for the rectangle and Hann windows: F. J. Harris, “On the use of windows for harmonic analysis with the discrete Fourier transform”, Proceedings of the IEEE, vol. 66, no. 1, pp. 51–83 (1978).
- The DFT's definition, and what happens to a frequency that is not a bin: the sum “is N if ωₖ = ωₓ and zero at ωₗ, for l ≠ k. However, the sum is nonzero at all other frequencies”: J. O. Smith III, Mathematics of the Discrete Fourier Transform (DFT), with Audio Applications, 2nd ed., W3K Publishing (2007), “DFT Definition” and “Frequencies in the ‘Cracks’”.