Frequenzmessung und Tonanalyse


 Zurück zum Menü

In den Kapiteln  über Tonhöhe und Frequenz und Gleichstufige und ungleichstufige Stimmungen wurde erläutert, dass alle Töne einer Tonskala sich durch ihre Frequenz charakterisieren lassen, die sich in Abhängigkeit von der Frequenz des a1, der verwendeten Stimmskala sowie eventuell Grundton und Bezugston berechnen läßt.

Das Programm muss also die Frequenz eines gespielten Tones messen, mit den berechneten Frequenzen vergleichen und die Differenz zur Frequenz des nächstgelegenen Tones der Stimmskala geeignet darstellen.

In den bisherigen Überlegungen wurde einem bestimmten Ton auch eine bestimmte Frequenz zugeordnet. Ein solcher Ton wäre mathematisch ausgedrückt eine reine Sinusschwingung. Orgelpfeifen und andere flötenartige Instrumente kommen diesem Ideal sehr nahe. Bei ihnen besteht ein gespielter Ton aus einer sehr intensiven Grundfrequenz f0, aber zusätzlich treten deutlich schwächere Oberschwingungen in harmonischer Folge auf, d.h. mit ganzzahligen Vielfachen der Grundfrequenz (2f0, 3f0, ...). Bei anderen Instrumenten können diese Oberschwingungen stärker werden als die Grundfrequenz, oder es gesellen sich auch nichtharmonische Schwingungen dazu (z.B. bei Saiteninstrumenten). Letztlich bestimmen alle diese Frequenzen in ihrer Überlagerung den typischen Klang eines Instrumentes.

Die Tonhöhe, die es hier zu beurteilen gilt, wird festgelegt durch die Grundfrequenz, die tiefste Frequenz im Frequenzspektrum des Instrumentenklangs. Das Programm muss daher aus dem vom Mikrofon aufgezeichneten Signal (zeitlicher Verlauf der Schwingungsamplitude) auf das darin enthaltene Frequenzspektrum schließen und aus diesem die Grundfrequenz des gespielten Tones bestimmen.

Das mathematische Verfahren, aus einem periodischen Amplitudenverlauf das Frequenzspektrum zu berechnen, ist die Fouriertransformation, hier in der für schnelle Computerberechnungen geeigneten Form der Fast Fourier Transformation (FFT). Die Anwendung der FFT auf das Mikrofonsignal liefert das Spektrum der darin enthaltenen Frequenzen mit ihren relativen Intensitäten.

Beispiel:
Amplitudenverlauf - zeitlicher Verlauf der Schwingungsamplitude bei einer Grundfrequenz
und zwei harmonischen Oberschwingungen.
Frequenzspektrum - mittels FFT berechnetes Frequenzspektrum, Grundfrequenz und
Oberschwingungen sind als Maxima (Peaks) zu erkennen.

Im Programmteil Tonanalyse werden Amplitudenverlauf und Frequenzspektrum dargestellt, da sie zur Beurteilung des Instrumentenklanges interessante Informationen liefern können. Für die Beurteilung der Stimmlage sucht das Programm den tiefsten, noch deutlich erkennbaren Peak heraus und interpretiert ihn als Grundfrequenz des aufgenommenen Instrumententons.

Im folgenden sollen einige Parameter erläutert werden, die für die Funktion des Messverfahrens wichtig sind und vom Programm automatisch gesetzt werden. Zum Teil lassen sie sich auch individuell einstellen (siehe Kapitel Messeinstellungen). Die Aufnahme des Mikrofonsignals über die Soundkarte geschieht nicht kontinuierlich, sondern mit einer bestimmten Abtastrate, d.h. es werden in kurzen Zeitabständen die momentanen Werte der Schwingungsamplitude (Samples) registriert. Die Abtastrate ist üblicherweise einstellbar auf 11025, 22050 und 44100 Samples/s. Da der Amplitudenverlauf als Folge diskreter, in konstantem zeitlichen Abstand genommener Werte vorliegt, ist das mittels FFT gewonnene Frequenzspektrum ebenfalls eine Folge diskreter Werte (Fourierkoeffizienten) in konstantem Frequenzabstand. Dieser Abstand wird als FFT-Auflösung bezeichnet und ist das Reziproke der gesamten Abtastzeit (auch Transformationszeit genannt), die für die FFT-Berechnung herangezogen wird. Beispielsweise liefert die FFT bei einer Abtastzeit von 1/10 s eine Folge von Fourierkoeffizienten im Frequenzabstand von 10 Hz.

Um aus dem Frequenzspektrum die Grundfrequenz mit der erforderlichen Genauigkeit bestimmen zu können, darf die FFT-Auflösung im interessierenden Frequenzbereich nicht zu groß sein. Daher muss die FFT-Auflösung mit abnehmender Grundfrequenz verkleinert und folglich die Abtastzeit verlängert werden. Diese Anpassung geschieht im Programm durch Veränderung der Abtastrate und/oder der Anzahl registrierter Werte. Die Anzahl registrierter und zur FFT verwendeter Werte wird auch als LFT (length of Fourier Transformation) bezeichnet. Die LFT muss für die FFT eine Potenz von 2 sein, daher kommen hierfür Werte wie 1024, 2048, 4096 u.s.w. in Frage.

Im Programm paßt eine Automatik Abtastrate und LFT der jeweils erkannten Grundfrequenz an, um über den gesamten Frequenzbereich eine gleichbleibend genaue Messung zu gewährleisten. Dabei wird folgendes Schema benutzt:

  Frequenzbereich  

  Abtastrate  

  LFT  

  Abtastzeit  

  FFT-Auflösung  

30-60 Hz

11025 /s

4096

0,43 s

2,5 Hz

60-120 Hz

11025 /s

2048

0,21 s

5 Hz

120-350 Hz

11025 /s

1024

0,1 s

10 Hz

350-4200 Hz

22050 /s

1024

0,05 s

20 Hz

Nachdem das Programm durch einen internen Algorithmus aus dem Frequenzspektrum den Grundfrequenz Peak identifiziert hat, folgt die genaue Bestimmung dieser Grundfrequenz. Dazu werden alle Spektrenanteile oberhalb und unterhalb des Grundfrequenz-Peaks abgeschnitten (d.h. die entsprechenden Fourierkoeffizienten werden  auf 0 gesetzt) und das praktisch nur noch aus der Grundfrequenz bestehende Spektrum rücktransformiert. Das Resultat ist eine (fast) reine Sinusschwingung, deren Frequenz sich als Kehrwert der Periodendauer leicht bestimmen läßt (Ausmessen der Nulldurchgänge). Die Genauigkeit dieser Bestimmung hängt bei gegebener Abtastzeit von der Abtastrate ab. Die in der oben angegebenen Tabelle aufgeführten Werte für Abtastrate und LFT gelten für die Einstellung des Programms auf normale Genauigkeit. In der Standardeinstellung auf hohe Genauigkeit sind Abtastrate und LFT doppelt so groß (die Abtastzeit bleibt damit gleich).

 Zurück zum Menü