FFT-Analyse
Die Anzeige des Spektrums in Echtzeit ist die am häufigsten genutzte Funktion eines Audioanalysators. Die Anzeige enthält die spektrale Dichte über der Frequenz. Die Schätzung der Spektrums basiert auf der schnellen Fourier-Transformation (FFT). Die Anzeige des Spektrums ist ein sehr vielseitiges Werkzeug.
Typische Anwendungen sind
- Verzerrungsanalyse (THD)
- Frequenzmessungen
- Geräuschanalyse - Tonhaltigkeit
- Messung des Frequenzgangs
FFT-RTA-Terz/Oktavanalyse
In der Audio-Messtechnik begegnen uns viele Darstellungen im Frequenzbereich, allen gemeinsam ist, dass die x-Achse Frequenzen enthält. Dieses führt häufig zu Verwirrungen.
Oktav/Terzfilter-RTA
Für weitergehende Untersuchungen wird der Audio-Bereich oft in mehrere Frequenzbänder unterteilt. Die einzelnen Bänder haben keine konstante Bandbreite, sondern „gehörrichtig“ logarithmisch. Dieser Zusammenhang bildet auch die Grundlage der Musiktheorie. Bei einem Oktavband ist die obere Grenzfrequenz doppelt so hoch wie die untere Grenzfrequenz. Unterteilt man ein Oktavband wiederum in 3 Bänder, so erhält man die Terzbänder.
Die Mittenfrequenzen sind in der DIN61260 normiert.
Oft wird der Begriff RTA (Real-Time-Analyzer) synonym für ein Terz/Oktavanalysator verwendet.
Für akustische Messungen wird eine Terz/Oktavanalysator sehr oft verwendet und ist Bestandteil vieler Normen. Dies sind insbesondere:
- Pegelmessungen
- Messung der Nachhallzeit (ISO3382)
- Messung der Sprachverständlichkeit (STI/STIPA)
- Messung tiefer Frequnzen DIN45680
- Bauakustische Messungen
Ein hochauflösender FFT-Analysator in Schallpegelmesserm wird fast nur für Spezialaufgaben verwendet (Tonhaltigkeit)
FFT-Analyse
Für schmalbandige Analysen verwendet man die FFT (Fast-Fourier-Transform). Mit der FFT können gut einzelne Töne/Frequenzen ermittelt werden. Die Frequenzauflösung kann beliebig gesteigert werden, allerdings sinkt im gleichen Masse die zeitliche Auflösung. Bei der FFT haben wir grundsätzlich eine feste Frequenzauflösung.
Die mathematische Grundlage der FFT ist die DFT. Eine FFT ist nur eine effiziente Implementierung einer DFT (diskrete Fourier-Transformation)
Das folgende Bild zeigt ein reines Sinus-Signal der Frequenz 1kHz. Die Frequenzachse ist logarithmisch. Bei den tiefen Frequenzen erkennt man auch einen "gezackten" Verlauf. Dies wird durch die konstante Frequenzauflösung der FFT verursacht.
Wenn der Eingang weißes Rauschen ist, erhalten Sie eine konstante Kurve. Eine weit verbreitete Methode zur Messung eines Frequenzgangs ist die Verwendung von weißem Rauschen als Eingangssignal für das Testgerät. Das Spektrum des Ausgangs ist direkt der Frequenzgang.
Das Spektrum kann in Linienform oder als Balkendiagramm angezeigt werden. Eine fortgeschrittenere Methode ist das Spektrogramm, um das Spektrum im Zeitverlauf zu überwachen. Sie können mehrere Messungen mitteln, bevor sie angezeigt werden, um eine glattere Kurve zu erhalten. Typische Audioanalysatoren können auch gleichzeitig einen minimalen, maximalen oder Gesamtdurchschnitt anzeigen. Sie können Messungen mit einem Messcursor präzise vom Display ablesen. Die Balkendiagrammanzeige ähnelt analogen Spektrumanalysatoren. Sie verfügt über eine Spitzenwertspeicherung und ein einstellbares dynamisches Verhalten, um eine schnelle oder langsame Anzeige zu simulieren. Alle FFT-Analysatoren verfügen über Fensterfunktionen zur Reduzierung der Nebenkeulen. Gewichtungsfunktionen werden verwendet, um hohe und niedrige Frequenzen zu dämpfen, damit die Messung dem menschlichen Ohr entspricht.
Abtastrate vs. Blockgröße
Die Frequenzauflösung ergibt sich aus der Abtastrate geteilt durch die Blockgröße der FFT und ist konstant für alle Frequenzen. Bei 44,1 kHz und einer Blockgröße von 1024 beträgt die Frequenzauflösung beispielsweise 43,0664 Hz. Sie können die Auflösung erhöhen, indem Sie größere Blöcke verwenden. Dies erhöht jedoch die Messzeit. Es ist unmöglich, gleichzeitig mit hoher Frequenz und hoher Zeitauflösung zu messen. Dies ist ein grundlegendes Theorem der Signalanalyse. Es kann anhand von analogen Filtern erklärt werden. Wenn Sie ein schmales Filter mit hoher Frequenzauflösung implementieren, ist seine Einschwingzeit lang. Wenn Sie dagegen ein schnelles Filter (mit kurzer Einschwingzeit) implementieren, hat dieses eine niedrige Frequenzauflösung.
Frequenzauflösung und FFT-Größe
Die Frequenzauflösung wird durch zwei Parameter bestimmt: die Abtastrate und die FFT-Größe. Beide sind durch eine einfache Gleichung verknüpft:
Frequenzauflösung = Abtastrate / FFT-Größe
Sie können die Frequenzauflösung problemlos erhöhen, indem Sie eine größere FFT verwenden. Typische Audioanalysatoren unterstützen bis zu 16 Millionen Punkte. Andererseits verringert eine größere FFT die Zeitauflösung. Dies ist keine Einschränkung des FFT-Analysators, sondern eines der grundlegenden Theoreme der Signalverarbeitung.
Wir veranschaulichen dies anhand eines Beispiels. Standardmäßig verwenden wir eine Abtastrate von 44100Hz und eine FFT-Größe von 1024 Punkten. Die Frequenzauflösung beträgt 43Hz und die Dauer eines Blocks beträgt 20ms. Für Analysen im Bereich von 20-200Hz ist diese Auflösung zu niedrig. Die effektivste Lösung wäre, die Abtastrate zu reduzieren, aber die meisten AD-Schnittstellen sind auf 32kHz beschränkt. Daher erhöhen wir die FFT-Größe auf z.B. 16384. Dies führt zu einer Frequenzauflösung von 2,7Hz, gleichzeitig erhöht sich aber die Dauer eines Blocks auf 372ms. Wenn Sie zur Rauschreduzierung eine zusätzliche Mittelwertbildung verwenden, können Sie problemlos eine Messdauer von mehreren Sekunden erreichen.
Daher: Messungen mit hoher Frequenzauflösung sind langsam.
Die folgende Tabelle fasst FFT-Größe, Frequenzauflösung und Zeitauflösung für typische Abtastraten zusammen.
Frequenzauflösung in Hz
Zeitauflösung in Sekunden
Fensterung
Die Transformation vom Zeit- in den Frequenzbereich mit der FFT setzt voraus, dass das Eingangssignal für die Blockgröße periodisch ist. Normalerweise trifft dies nur auf Sinuswellen mit bestimmten Frequenzen zu. Bei 44100Hz Abtastrate und einer Blockgröße von 1024 Abtastungen passt eine Sinuswelle mit einer Frequenz von z.B. 1378,125 Hz genau in einen FFT-Block. Für diesen Fall liefert die diskrete Fourier-Transformation die exakte Spektraldarstellung (ein Peak bei der Frequenz).
Diese speziellen Frequenzen können leicht berechnet werden. F ist die Abtastfrequenz, z. B. 44100 N ist die Blocklänge, z. B. 1024 n ist ein beliebiger ganzzahliger Faktor f ist die zyklische Frequenz
f=n*F/N n=1;2;3;4 ...
Bei anderen Frequenzen oder Signalen, die diese Eigenschaft nicht haben, gibt es Diskontinuitäten beim Übergang von einem Block zum anderen. Obwohl das Eingangssignal eine Sinuswelle mit einer einzigen Frequenz ist, enthält die FFT Pegel mit unterschiedlichen Frequenzen. Dieser Effekt wird als Leck-Effekt bezeichnet.
Um diesen Effekt zu reduzieren, wird der Eingang an den Grenzen der Blöcke gedämpft. Dadurch werden die Unterschiede zwischen periodischer und nichtperiodischer Fortsetzung geglättet. Diese Technik wird als Fensterung bezeichnet. Typische Fenster sind das rechteckige Fenster, das überhaupt keine Fensterung vornimmt, das Hamming- und das Blackman-Fenster.
Sinuston bei 1kHz. Bei einer Samplingrate von 44100Hz ist er nicht periodisch.
Ohne Fensterfunktion (rechteckiges Fenster) treten starke Nebenkeulen auf. Allerdings erreichen wir eine hohe Frequenzauflösung.
Wenn wir ein Blackman-Fenster verwenden, wird dieser Effekt erheblich reduziert.
Typische Audioanalysatoren unterstützen die folgenden Fensterfunktionen:
- Rechteck
- Hamming
- Hanning
- Blackman
- Blackman-Harris
- Gauss
- Flat-Top
- Kaiser-Bessel
- Bartlett
- Rife – Vincent 3-11
Je höher die Dämpfung der durch den Leckeffekt verursachten Nebenkeulen ist, desto geringer ist die Frequenzauflösung. Der Hauptpeak wird breiter. Wenn THD-Messungen durchgeführt werden und Sie die oben genannten Frequenzen nicht verwenden können, werden die besten Ergebnisse mit den Rife-Vincent- oder Blackman-Fenstern erzielt. Sie erhalten jedoch bessere Ergebnisse, wenn Sie blockperiodische Frequenzen verwenden.
Der Effekt lässt sich leicht demonstrieren. Stellen Sie den Generator auf Sinus bei 1 kHz und den Analysator auf FFT-Modus und Blockgröße 1024. Die Abtastrate sollte auf 44,1 kHz eingestellt sein. Wenn das rechteckige Fenster eingeschaltet ist, können Sie Nebenkeulen beobachten. Wenn Sie die Frequenz variieren, werden Sie feststellen, dass bei bestimmten Frequenzen keine Nebenkeulen auftreten. Wenn Sie eine andere Fensterfunktion verwenden, werden die Nebenkeulen unabhängig von der Eingangsfrequenz gedämpft.
Empfehlung für Fensterfunktionen
Die korrekte Verwendung von Fenstern erfordert ein tiefes Verständnis der Theorie dahinter. Wenn Sie ein nicht geeignetes Fenster verwenden, kann dies die Messergebnisse stark beeinflussen. Für typische Szenarien empfehlen wir die folgenden Fensterfunktionen:
- Allgemeiner Zweck: Blackman-Fenster
- Maximale Frequenzauflösung zur Messung von Frequenzen: Rechteckfenster
- Pegelmessungen: Flat-Top-Fenster
- Hohe Nebenkeulenunterdrückung: Rife-Vincent-5
Typische Fehler
Viele Menschen berechnen aus dem folgenden Bild einen Geräuschpegel von –150 dB, was zu einem THD+N von –147 dB (Pegel ist -3dB) führt.
Dieser Rauschpegel von –150dB ist jedoch eine spektrale Dichte, die über den Frequenzbereich integriert werden muss. Der Audioanalysator macht das automatisch und berechnet einen korrekten THD+N von –120dB. Dieser Fehler ist deutlich sichtbar, wenn wir die FFT-Größe auf 16384 erhöhen. Der Rauschpegel reduziert sich auf –156dB.
Wir können den Rauschpegel um 3dB reduzieren, wenn wir die FFT-Größe verdoppeln??? Das kann nicht sein. Unser Rauschpegel ist jedoch völlig unabhängig von jeder FFT-Größe, daher kann es nicht der Rauschpegel sein! WinAudioMLS berechnet den THD+N unabhängig von der FFT-Größe korrekt auf –120dB.
Machen wir die richtige Berechnung von Hand:
Abtastrate ist 192kHz
Wir gehen davon aus, dass wir bei einer FFT-Größe von 4096 eine konstante spektrale Dichte von -150 dB haben (grob aus der Grafik abgelesen).
Die Energie für jeden FFT-Bin beträgt pow(10,-150/10).
Im Frequenzbereich bis 24 kHz verfügen wir über 4096/8 FFT-Bins. Die wenigen FFT-Bins für den Einzelton bei 1 kHz ignorieren wir.
Insgesamt haben wir eine Energie von 10 log10(10^(-150/10) (4096/8))=-123dB.
Bei einem Signalpegel von -3dB ergibt sich ein korrekter THD+N von -120dB.