Was versteht man unter einer schnellen Fourier-Transformation (FFT)?
Eine schnelle Fourier-Transformation (FFT) ist eine hochoptimierte Implementierung der diskreten Fourier-Transformation (DFT), die diskrete Signale von der Zeit- in die Frequenzdomäne umwandelt. FFT-Berechnungen liefern Informationen über die Frequenz-Zusammensetzung, die Phase und andere Eigenschaften eines Signals.
Zu den gängigsten FFT-Algorithmen gehören der Cooley-Tukey-Algorithmus, der Primfaktor-FFT-Algorithmus und der Rader FFT-Algorithmus. Der am häufigsten verwendete FFT-Algorithmus ist der Cooley-Tukey-Algorithmus, der eine große DFT in kleinere DFTs zerlegt, um die Rechengeschwindigkeit zu erhöhen und die Komplexität zu verringern. FFTs findet in vielen Bereichen Anwendung.
Anwendungen für FFTs
In der Signalverarbeitung bildet die FFT die Grundlage der Frequenzdomänen-Analyse (Spektralanalyse) und wird zur Signalfilterung, Spektralschätzung, Datenkomprimierung und für andere Anwendungen eingesetzt. Durch Varianten der FFT wie etwa die Kurzzeit-Fourier-Transformation ist auch eine simultane Analyse in der Zeit- und Frequenzdomäne möglich. Diese Verfahren können auf eine Vielzahl von Signalen angewandt werden, etwa auf Audio- und Sprachsignale, Radarsignale, Kommunikationssignale und andere Datensignale von Sensoren. Die FFT wird manchmal auch als Zwischenschritt für komplexere Signalverarbeitungs-Verfahren verwendet.
In der Bildverarbeitung wird sie beispielsweise zur Filterung und Komprimierung von Bildern eingesetzt. Darüber hinaus wird die FFT in der Physik und Mathematik zur Lösung partieller Differentialgleichungen (PDEs) herangezogen.
Signalverarbeitung
FFT-basierte Zeit-Frequenz-Analyse
Umwandlung von Zeitdomänen-Daten in die Frequenzdomäne
Audioverarbeitung
Kompression des Dynamikumfangs durch Overlap-Add-Rekonstruktion
Tonhöhen- und Geschwindigkeitsänderung in Simulink
Radar- und Kommunikationstechnik
Frequenzagilität in Radar-, Kommunikations- und EloKa-Systemen
Bildverarbeitung
FFTs in MATLAB
MATLAB® bietet viele Funktionen wie fft, ifft und fft2, mit denen FFTs direkt implementiert werden können. In MATLAB ist die Implementierung von FFTs dadurch optimiert, dass je nach Datenumfang und Rechenaufwand verschiedene FFT-Algorithmen zur Auswahl stehen. Ebenso bietet Simulink® Blöcke für FFTs, die beim Model-Based Design und in Simulationen verwendet werden können. MATLAB und Simulink unterstützen außerdem die Implementierung von FFTs auf spezifischer Hardware wie FPGAs, Prozessoren (auch ARM) und NVIDIA-GPUs durch automatische Codegenerierung.
Die untenstehenden Funktionen und Beispiele geben Ihnen weitere Informationen über Fourier-Transformationen, deren Anwendungsmöglichkeiten sowie Implementierungen von FFTs mit MATLAB.
FFT-Beispiele in MATLAB Online ausführen
Entfernung von Signalrauschen mit FFTs
Einführung in FFTs und die Frequenzdomänen-Analyse
Schätzung der spektralen Leistungsdichte mit FFTs
Hardware-Implementierung von FFTs
Die Implementierung von FFTs auf programmierbaren Logikbausteinen ist nicht so einfach wie deren Software-Implementierung. Falsche Entscheidungen zu technischen Kompromissen bezüglich Geschwindigkeit und Genauigkeit, aber auch ineffizienter Code, können die Qualität und Leistung einer Anwendung erheblich beeinträchtigen. Mit den Codegenerierungs-Tools für MATLAB und Simulink lassen sich FFTs auf einfache Weise auf verschiedenen Hardwaregeräten implementieren, von Allzweckprozessoren wie ARMs bis hin zu spezialisierten Chips wie FPGAs.
Weitere Informationen über FFTs
Erfahren Sie von Expertinnen und Experten mehr über die Geschichte und die Anwendungsmöglichkeiten von FFTs.
Siehe auch: MATLAB and Simulink for signal processing, MATLAB for image processing and computer vision, MATLAB and Simulink for radar systems, Signal Processing Toolbox, Audio Toolbox, Radar Toolbox, Entrauschung, Faltung, digitale Signalverarbeitung
Tutorial zur Signalverarbeitung
Gratis-Tutorial zu Signalverarbeitungs-Verfahren für die Spektralanalyse