Welche Hardware implementiert die Fourier-Transformation?


12

Ich habe mich online umgesehen, aber nichts Relevantes gefunden. Es ist für ein elektronisches Gerät sehr schwierig, ein Signal in verschiedene Frequenzen zu zerlegen.

Wie geht das auf der Bare-Metal-Ebene?

Jede vorgeschlagene Quelle oder Kommentar wird sehr hilfreich sein


4
In den meisten Fällen benötigen Sie keine FT, um die Signalverarbeitung, insbesondere das Filtern, durchzuführen. Sie können beispielsweise passive oder aktive Filter verwenden, die von den Eigenschaften der Kondensatoren und Induktivitäten abhängen. Selbst im digitalen Bereich können Sie beim Arbeiten mit Werten außerhalb von ADC für einige Aufgaben auf FT verzichten (z. B. siehe Exponential-Glättung ).
Anrieff

"Welche Art von ..." Fragen sind zu weit gefasst, um in das Stapelaustauschmodell zu passen. Typischerweise wird, wenn man eine Fouriertransformation speziell erwähnt, etwas impliziert , das zur Berechnung in der Lage ist (annähernd Faltung, dh Verzögerung, Multiplikation und Akkumulation, parallel oder mit Speicherung und Logik für iterative Abfolge), aber die Hardwareanforderungen hängen von den Anwendungsanforderungen und ebenso vielen ab weisen darauf hin, dass es Alternativen zur numerischen (oder zumindest digitalen) Berechnung gibt.
Chris Stratton

3
Eine Linse tut es (keine Antwort, da es sich nicht um ein elektronisches Gerät handelt, aber auch nicht um vibrierende Stimmzungen).
Ghanima

Antworten:


39

Geräte, die die Fourier-Transformation verwenden

Es ist für ein elektronisches Gerät sehr schwierig, ein Signal in verschiedene Frequenzen zu zerlegen.

Es ist nicht.

Es gibt tatsächlich einige Geräte, die das explizit tun.

Zunächst einmal werden Sie einen Unterschied zwischen der kontinuierlichen Fourier - Transformation machen müssen (die Sie wahrscheinlich wissen , F{x(t)}(f)=-x(t)ej2πftdt ) und die digitale Fourier-Transformation (DFT), die Sie mit einem abgetasteten Signal durchführen können.

Für beide gibt es Geräte, die diese implementieren.

Kontinuierliche Fourier-Transformation

In der digitalen Elektronik gibt es kaum Möglichkeiten, dies tatsächlich zu tun - digitale Signale werden abgetastet, sodass Sie die DFT verwenden würden.

In der Optik und Photonik werden Sie feststellen, dass es tatsächlich eine Chance gibt, perfekt periodische Dinge für eine "große" Länge (gelesen als: fast so unendlich wie das obige Integral) zu erhalten. Tatsächlich kann ein akustooptisches Element mit einem oder mehreren Tönen angeregt werden, und es hat die gleichen Korrelationseffekte wie das obige Integral. Sie müssen sich nicht die Physik-Nobelpreisträger von 2018 ansehen, um ein Beispiel für Fourier-Optik zu finden .

diskrete Fourier-Transformation

Dies ist wirklich überall ; Es ist so ein Standardverarbeitungsschritt, dass wir als Kommunikationsingenieur oft sogar vergessen, wo er sich befindet.

Diese Liste ist also weit weniger als vollständig. nur beispiele:

  • Equalizer : Es ist ziemlich einfach, einen digitalen Audio-Equalizer mit einer DFT zu erstellen. Typischerweise verwendet der Zero-Forcing- Equalizer-Typ für Kommunikationssysteme eine DFT, um die Frequenzdomänendarstellung des Kanals zu finden, der "entfernt" werden muss, invertiert diese und verwendet die IDFT, um diese Zeitdomäne wieder herzustellen, um als Abgriffe verwendet zu werden ein FIR-Filter.
  • Antennenarrays / Beamsteering : Wenn Sie ein Array von Antennen in festem Abstand voneinander haben, können Sie den Strahl dieser Antennen steuern, indem Sie die DFT des "Richtungsvektors" berechnen, den Sie erzielen möchten, und das Ergebnis als komplex verwenden Koeffizienten, die mit dem Sendesignal multipliziert werden, das Sie an diese Antennen verteilen. Das machen echte MIMO-Systeme.
  • Direction Finding : Was in Senderichtung funktioniert , funktioniert genauso, aber umgekehrt, in Empfangsrichtung: Holen Sie sich ein Signal für jede Ihrer Antennen in Ihrem Array, finden Sie die komplexen Faktoren zwischen diesen Signalen, machen Sie eine IDFT, holen Sie sich einen Vektor mit den Informationen Wie die Macht aus welcher Richtung kam. Einfach! Und zur Abschätzung, wo Flugzeuge sind, wo Wifi-Kommunikationspartner sind, U-Boote (obwohl es keine Antennen, sondern Unterwassermikrofone gibt) ...
  • Kanalisierung : Satelliten im Weltraum sind teuer, daher müssen mehrere Fernsehprogramme auf einen Satelliten übertragen werden. Sie können eine DFT (insbesondere in einer Polyphase-Filterbank) verwenden, um mehrere Kanäle in einem Uplink zu platzieren oder einzelne Kanäle von einem Breitbandsignal zu isolieren. Das ist keine Domäne des Fernsehens. es passiert in der Audiobearbeitung, medizinischen Bildgebung, Ultraschallanalyse, Rundfunkübertragung ...)
  • Datenkodierung für Mehrträgersysteme : Um die Probleme von Breitkanälen (die Sie benötigen, wenn Sie viele Bits pro Sekunde übertragen möchten), dh die Notwendigkeit komplexer Equalizer, zu lösen, möchten Sie Ihren Kanal in viele kleine Kanäle aufteilen (siehe "Kanalisierung" oben). Sie können jedoch die DFT allein als Filterbank für frequenzverschobene Rechteckfilter im Zeitbereich verstehen. Das Schöne daran ist, dass diese Kanäle sehr eng gepackt sind. Das andere Schöne ist, dass sich die Faltung mit dem Kanal auf eine punktweise Multiplikation reduziert, die sehr einfach rückgängig zu machen ist. Wir nennen diese Methode OFDM , und alle Wifi, LTE, 5G, WiMax, ATSC, DVB-T, Digital Audio Broadcasting, DSL und viele andere Systeme verwenden diese Methode .
  • Effizientes Filtern : Ein FIR-Filter ist eine Faltung mit der Filterimpulsantwort im Zeitbereich. Aus diesem Grund werden pro Ausgabesample viele Operationen ausgeführt - dies ist sehr rechenintensiv. Sie können diesen Aufwand erheblich reduzieren, wenn Sie eine schnelle Faltung implementieren , die auf der DFT'-Verarbeitung von Abschnitten von Eingangsabtastwerten basiert, diese mit der DFT der Impulsantwort im Frequenzbereich multipliziert, die sich mit vorherigen Segmenten überlappt, und eine Rücktransformation in den Zeitbereich vornimmt. Das ist so praktisch, dass es in fast allen Systemen mit langen FIR-Filtern verwendet wird (und "long" kann mit so harmlosen Zahlen wie "16 taps" beginnen).
  • Radar : Klassische Kfz-Radare verwenden selbstmodulierende FMCW-Radare. Um ein Bild von der relativen Geschwindigkeit und der Entfernung der Reflektoren zu erhalten, die dabei beobachtet werden, wird normalerweise eine zweidimensionale DFT durchgeführt (die eigentlich nur alle Spalten einer Matrix und anschließend alle Zeilen des Ergebnisses abbildet).
  • Audio- und Bild- / Videokomprimierung : Obwohl JPEG die diskrete Kosinustransformation verwendet , nicht die DFT selbst, gibt es zahlreiche Codecs, die zumindest wesentliche Teile einer DFT verwenden.

Beachten Sie, dass die obige Liste nur Dinge enthält, die DFTs während des Betriebs ausführen . Sie können zu 100% sicher sein, dass bei der Entwicklung von HF-bezogenen Objekten, insbesondere Antennen, Mischern, Verstärkern und (De-) Modulatoren, zahlreiche Fourier-Transformationen / Spektralanalysen durchgeführt wurden. Gleiches gilt für das Design von Audiogeräten, das Design von Hochgeschwindigkeitsdatenverbindungen, die Bildanalyse usw.

Wie wird es gemacht?

Ich werde hier nur die DFT ansprechen.

Normalerweise wird dies als FFT (Fast Fourier Transform) implementiert . Das ist eine der wichtigsten algorithmischen Entdeckungen des 20. Jahrhunderts, daher möchte ich nur ein paar Worte dazu verlieren, denn es gibt buchstäblich Tausende von Artikeln, die die FFT erklären.

ej2πnNkej2π1Nkn=Wn

NLogNN

LogNN=2l

In der Software ist das Prinzip dasselbe, Sie müssen jedoch wissen, wie Sie sehr große Transformationen per Multithread verarbeiten und wie Sie durch optimale Ausnutzung Ihrer CPU-Caches so schnell wie möglich auf den Arbeitsspeicher zugreifen können.

Es gibt jedoch sowohl für Hardware als auch für Software Bibliotheken, die Sie nur zur Berechnung der DFT (FFT) verwenden würden. Bei Hardware stammt dies normalerweise von Ihrem FPGA-Anbieter (z. B. Altera / Intel, Xilinx, Lattice…) oder einem großen ASIC-Design-Tool-Unternehmen (Cadence) oder Ihrem ASIC-Unternehmen.


Beeindruckende Hingabe an Ihre Kunst, stimmen Sie zu, dass 'long' für FIR-Filter O (16) ist.
Neil_UK

:) Danke! Gesehen, dass Sie weitaus beeindruckendere Antworten als diese schreiben :)
Marcus Müller

1
Dies ist eine sehr detaillierte Antwort, die zwar eine genaue FFT eines eingehenden Signals liefert, die Frage jedoch nicht beantwortet. Dies ist ein digitaler Prozess, der auf ein Eingangssignal angewendet wird. Es handelt sich nicht um eine in Hardware implementierte Lösung (außer dem AD-Wandler am Front-End).
Jennifer

1
Jennifer hat recht. Sie sollten über analoge DFT sprechen oder zumindest klarstellen, dass DFT diskrete FT bedeutet , aber nicht unbedingt digitale FT.
links um den

2
Seite 43 (PDF-Nummerierung) in diesem Verfahren behandelt eine FIR basierend auf analoger FFT: imagesensors.org/Past%20Workshops/Marvin%20White%20Collection/…
leftaroundabout

12

Man kann nicht viel mehr "Bare Metal" und "Hardware" bekommen als einen Satz vibrierender Stimmzungen.

http://www.stichtco.com/freq_met.htm

Welche Hardware also eine Fourier-Transformation durchführt, kann eine Reihe resonanter Systeme tun


1
huh, schick. Mein Vater erzählte mir von ähnlichen Geräten, die sie an der Uni zur Frequenzanalyse von Vibrationsmaschinen verwendeten.
Marcus Müller

5
So ungefähr funktionieren auch Ihre Ohren, siehe cochlea.eu/en/cochlea/function
zwol

5

Oberflächenakustische Wellenvorrichtungen wurden als analoge elektromechanische Vorrichtungen verwendet, um verschiedene Signalverarbeitungsaufgaben auszuführen. Die meisten Papiere sind kostenpflichtig.

Kapitel 16 von Colin Campbells 1989 erschienenem Buch " Surface Acoustic Wave Devices" und deren Signalverarbeitungsanwendungen

Publisher-Zusammenfassung

In diesem Kapitel werden schnelle Fourier-Transformationstechniken in Echtzeit unter Verwendung von linear frequenzmodulierten SAW-Chirp-Filtern (FM) mit Verarbeitungszeiten von nur wenigen Mikrosekunden vorgestellt. SAW-basierte Techniken finden Anwendung auf Sonar-, Radar-, Streuspektrum- und andere Kommunikationstechnologien, die eine schnelle Analyse oder Filterung komplexer Signale erfordern. Bei SAW-basierten Fourier-Transformationssystemen erfolgt dies in den Zwischenfrequenz-Stufen (IF) des Empfängers. SAW-Linear-FM-Chirp-Filter können so konfiguriert werden, dass sie eine Reihe von Fourier-Transformationsmanipulationen beeinflussen. Drei davon sind (1) einstufige Fouriertransformatoren für die Spektrum- oder Netzwerkanalyse, (2) zweistufige Fouriertransformationsprozessoren für die Cepstrumanalyse und (3) zweistufige Fouriertransformationsprozessoren für die Echtzeitfilterung. SAW-basierte Fourier-Transformationsprozessoren für die Spektralanalyse von Signalen, sogenannte Kompressionsempfänger, sind in einer Vielzahl von Konfigurationen erhältlich, um spektrale Auflösungen über analytische Bandbreiten bis zu 1 GHz bereitzustellen. In diesem Kapitel wird auch die Verwendung von bilinearen Mischern in einem SAW-Fourier-Transformationsprozessor erörtert.



4

Eine Fouriertransformation einer diskreten abgetasteten Funktion ist eine Änderung der Basisfunktionen von einer Reihe von (typischerweise) Abtastzeitwerten zu einer äquivalenten Reihe von Frequenzkomponentenwerten. Es handelt sich um eine lineare Transformation (die Fouriertransformation einer Summe von zwei Reihen ist die Summe der Fouriertransformationen der beiden Reihen). Sie ist also identisch mit einer Matrix, die auf einem Vektor arbeitet (die Zeitreihen der Stichprobe).

Eine Matrix mit Rang N, die einen Vektor mit N Komponenten bearbeitet, erzeugt einen zweiten Vektor mit N Komponenten, indem N ^ 2 Multiplikationen und (N ^ 2 - N) Additionen durchgeführt werden.

Okay, nun wie macht das Metall das:

Es gibt ein Gizmo namens "Harmonic Analyzer", das eine Frequenz (im Grunde eine Zeile der Matrix) multipliziert und akkumuliert. Dies ist eine Art analoger Computer. Dabei wird die Funktionseingabe auf einem Millimeterpapier aufgezeichnet, ein Polarplanimeter (mechanischer Integrator) und eine Verknüpfung (mechanischer Multiplikator) angeschlossen und die Kurve verfolgt, sodass Sie ... ein Element der Ausgabe erhalten. Die Verwendung ist nicht schlecht, aber für eine 1024-Element-Transformation müssen Sie die Operation ... 1024-mal ausführen. So wurden Gezeitentabellen jedoch vor einem Jahrhundert berechnet. siehe Artikel über mathematische Instrumente hier, Seite 71

Dann gibt es die manuelle Methode mit Rechenschieber und Addiermaschine, bei der die Matrixelemente in einer Sinus- / Cosinustabelle nachgeschlagen werden müssen. Das bedeutet, dass Sie Ihren Rechenschieber für eine Stichprobe von 1024 Elementen über 2 Millionen Mal bedienen.

Auch ein Allzweckcomputer kann die Operation ausführen.

Einige (digitaler Signalprozessor, DSP) spezialisierte CPU-Designs werden mit beschleunigter Multiplikations-Akkumulations-Hardware hergestellt, was die Dinge beschleunigt. Und es gibt einen sehr cleveren Algorithmus, die FFT, die das Problem von N Abtastwerten umgeht, die N ^ 2-Operationen erfordern, indem sie feststellt, dass eine 4x4-Matrix eine 2x2-Matrix von 2x2-Matrizen ist; Es gibt eine Möglichkeit, eine beliebige zusammengesetzte Zahl zu verwenden (eine Zweierpotenz wie '1024' ist praktisch) und statt N ^ 2 nur Operationen in der Reihenfolge N * Log (N) zu verwenden. Das heißt, die 1024 Eingänge erfordern nur 61.440 Operationen anstelle von 1.048.576.

Die FFT vereinfacht eine allgemeine diskrete Fouriertransformation nicht, da sie erfordert, dass der N-Wert nicht primitiv ist (und fast immer eine Zweierpotenz verwendet wird), sie kann jedoch auf verschiedene Arten hardwaregestützt werden, damit die Operationen ausgeführt werden können (Multiplizieren-Akkumulieren) sind der zeitlich begrenzende Schritt. Ein moderner (2019) Chip (ADBSP-561 von Analog Devices MMAC-Säule ) kann 2400 derartige Operationen pro Mikrosekunde ausführen.


-4

9
Nein, es ist nicht das, was ein Spektrumanalysator im Allgemeinen tut. Einige (viele) Spektrumanalysatoren haben einen FFT-Modus, aber selbst dann zeigt der Spektrumanalysator, dass es sich um eine PSD-Schätzung und nicht um eine Fouriertransformation handelt.
Marcus Müller

Antworten, bei denen es sich hauptsächlich um einen Link zu einer anderen Website handelt, bieten keinen dauerhaften Wert, da der Link möglicherweise morgen unterbrochen wird. Sie sollten den wichtigen Inhalt des Links in Ihrer eigenen Antwort zusammenfassen.
Elliot Alderson

@ MarcusMüller - was ist eine "PSD-Schätzung"?
Pete Becker

1
@PeteBecker Eine Schätzung für die spektrale Leistungsdichte. Die Verteilung der erwarteten Leistung über die Frequenzen für ein Signal, das Sie als zufällig betrachten müssen, weil Sie es nicht kennen. Die mathematisch genaue Definition für eine PSD lautet "Fouriertransformation der Autokorrelationsfunktion eines stochastischen Prozesses"; In den meisten Fällen nehmen wir jedoch an, dass der stochastische Prozess (== Zufallssignal) stationär ist und daher FT (ACF) == Erwartung (FT² (Zeitsignal)).
Marcus Müller
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.