Diskrete Fourier-Transformation. Fourier-Transformation. Lineare Filterung im Frequenzbereich

Ich glaube, dass alles so ist allgemeiner Überblick Wissen Sie, dass es ein so wunderbares mathematisches Werkzeug wie die Fourier-Transformation gibt? Aus irgendeinem Grund wird es an Universitäten jedoch so schlecht gelehrt, dass relativ wenige Menschen verstehen, wie diese Transformation funktioniert und wie sie richtig angewendet werden sollte. Mittlerweile ist die Mathematik dieser Transformation überraschend schön, einfach und elegant. Ich lade alle ein, etwas mehr über die Fourier-Transformation und das damit verbundene Thema zu erfahren, wie analoge Signale für die rechnerische Verarbeitung effektiv in digitale Signale umgewandelt werden können.

Ohne komplexe Formeln und Matlab zu verwenden, werde ich versuchen, die folgenden Fragen zu beantworten:

  • FT, DTF, DTFT – was sind die Unterschiede und wie führen scheinbar völlig unterschiedliche Formeln zu solch konzeptionell ähnlichen Ergebnissen?
  • So interpretieren Sie die Ergebnisse der schnellen Fourier-Transformation (FFT) richtig
  • Was tun, wenn Sie ein Signal mit 179 Samples erhalten und die FFT eine Eingabesequenz mit einer Länge erfordert, die einer Zweierpotenz entspricht?
  • Warum beim Versuch, das Spektrum einer Sinuskurve mithilfe von Fourier zu erhalten, anstelle des erwarteten einzelnen „Stäbchens“ ein seltsames Kringel in der Grafik erscheint und was man dagegen tun kann
  • Warum werden analoge Filter vor dem ADC und nach dem DAC platziert?
  • Ist es möglich, ein ADC-Signal mit einer Frequenz zu digitalisieren, die höher als die Hälfte der Abtastfrequenz ist (die Antwort der Schule ist falsch, die richtige Antwort ist möglich)?
  • So stellen Sie das Originalsignal mithilfe einer digitalen Sequenz wieder her

Ich gehe davon aus, dass der Leser versteht, was ein Integral, eine komplexe Zahl (sowie ihr Modul und ihr Argument), eine Faltung von Funktionen und zumindest eine „praktische“ Vorstellung davon ist, was die Dirac-Delta-Funktion ist Ist. Wenn Sie es nicht wissen, kein Problem, lesen Sie die obigen Links. Im gesamten Text meine ich mit „Produkt von Funktionen“ „punktweise Multiplikation“.

Wir sollten wahrscheinlich mit der Tatsache beginnen, dass die übliche Fourier-Transformation, wie Sie anhand des Namens erraten können, eine Funktion in eine andere umwandelt, das heißt, sie verknüpft jede Funktion einer reellen Variablen x(t) mit ihrer Spektrum oder Fourierbild y (w):

Wenn wir Analogien angeben, kann ein Beispiel für eine Transformation mit ähnlicher Bedeutung beispielsweise die Differenzierung sein, bei der eine Funktion in ihre Ableitung umgewandelt wird. Das heißt, die Fourier-Transformation ist im Wesentlichen die gleiche Operation wie die Ableitung und wird oft auf ähnliche Weise gekennzeichnet, indem eine dreieckige „Kappe“ über die Funktion gezogen wird. Nur im Gegensatz zur Differentiation, die auch für reelle Zahlen definiert werden kann, „funktioniert“ die Fourier-Transformation immer mit allgemeineren komplexen Zahlen. Aus diesem Grund kommt es immer wieder zu Problemen bei der Anzeige der Ergebnisse dieser Konvertierung komplexe Zahlen werden nicht durch eine, sondern durch zwei Koordinaten in einem mit reellen Zahlen arbeitenden Graphen bestimmt. Der bequemste Weg besteht in der Regel darin, komplexe Zahlen in Form eines Moduls und eines Arguments darzustellen und sie getrennt als zwei separate Diagramme zu zeichnen:

Der Graph eines komplexen Wertarguments wird häufig aufgerufen in diesem Fall„Phasenspektrum“ und das Moduldiagramm – „Amplitudenspektrum“. Das Amplitudenspektrum ist normalerweise von viel größerem Interesse und daher wird der „Phasen“-Teil des Spektrums häufig übersprungen. In diesem Artikel werden wir uns auch auf „Amplituden“-Themen konzentrieren, aber wir sollten die Existenz des fehlenden Phasenteils des Diagramms nicht vergessen. Außerdem wird anstelle des üblichen Moduls eines komplexen Werts häufig dessen dezimaler Logarithmus multipliziert mit 10 gezeichnet. Das Ergebnis ist ein logarithmischer Graph, dessen Werte in Dezibel (dB) angezeigt werden.

Bitte beachten Sie, dass nicht sehr viel negative Zahlen logarithmische Grafik (-20 dB oder weniger) entsprechen in diesem Fall fast Nullzahlen in der „normalen“ Grafik. Daher verschwinden die langen und breiten „Schwänze“ verschiedener Spektren in solchen Diagrammen in der Regel praktisch, wenn sie in „normalen“ Koordinaten angezeigt werden. Der Komfort einer solch auf den ersten Blick seltsamen Darstellung ergibt sich aus der Tatsache, dass die Fourier-Bilder verschiedener Funktionen oft untereinander multipliziert werden müssen. Bei einer solchen punktweisen Multiplikation komplexwertiger Fourier-Bilder werden deren Phasenspektren addiert und ihre Amplitudenspektren multipliziert. Ersteres ist einfach zu bewerkstelligen, während zweites relativ schwierig ist. Allerdings addieren sich bei der Multiplikation der Amplituden die Logarithmen der Amplitude, sodass logarithmische Amplitudengraphen ebenso wie Phasengraphen einfach punktweise addiert werden können. Darüber hinaus ist es bei praktischen Problemen oft bequemer, nicht mit der „Amplitude“ des Signals, sondern mit seiner „Leistung“ (dem Quadrat der Amplitude) zu arbeiten. Auf einer logarithmischen Skala sehen beide Diagramme (Amplitude und Leistung) identisch aus und unterscheiden sich nur im Koeffizienten – alle Werte auf dem Leistungsdiagramm sind genau doppelt so groß wie auf der Amplitudenskala. Um ein Diagramm der Leistungsverteilung nach Frequenz (in Dezibel) zu zeichnen, können Sie dementsprechend nichts quadrieren, sondern den Dezimallogarithmus berechnen und ihn mit 20 multiplizieren.

Bist du gelangweilt? Warten Sie einfach noch ein wenig, wir werden mit dem langweiligen Teil des Artikels, der erklärt, wie man Grafiken interpretiert, bald fertig sein :). Aber vorher gilt es noch etwas äußerst Wichtiges zu verstehen: Obwohl alle oben genannten Spektrumsdiagramme für einige begrenzte Wertebereiche (insbesondere positive Zahlen) gezeichnet wurden, verlaufen alle diese Diagramme tatsächlich weiterhin plus und minus unendlich. Die Diagramme stellen lediglich einen „bedeutungsvollsten“ Teil des Diagramms dar, der normalerweise gespiegelt wird negative Werte Parameter und wird bei Betrachtung im größeren Maßstab oft periodisch mit einem bestimmten Schritt wiederholt.

Nachdem wir entschieden haben, was in den Diagrammen dargestellt wird, kehren wir zur Fourier-Transformation selbst und ihren Eigenschaften zurück. Es gibt einige verschiedene Wege wie man diese Transformation bestimmt, die sich in kleinen Details unterscheidet (verschiedene Normalisierungen). An unseren Universitäten wird beispielsweise aus irgendeinem Grund häufig die Normalisierung der Fourier-Transformation verwendet, die das Spektrum anhand der Kreisfrequenz (Bogenmaß pro Sekunde) definiert. Ich werde eine bequemere westliche Formulierung verwenden, die das Spektrum anhand der gewöhnlichen Frequenz (Hertz) definiert. Die direkte und die inverse Fourier-Transformation werden in diesem Fall durch die Formeln auf der linken Seite bestimmt, und einige Eigenschaften dieser Transformation, die wir benötigen, werden durch eine Liste von sieben Punkten auf der rechten Seite bestimmt:

Die erste dieser Eigenschaften ist die Linearität. Wenn wir eine lineare Kombination von Funktionen nehmen, ist die Fourier-Transformation dieser Kombination dieselbe lineare Kombination der Fourier-Bilder dieser Funktionen. Diese Eigenschaft ermöglicht es, komplexe Funktionen und ihre Fourier-Bilder auf einfachere zu reduzieren. Beispielsweise ist die Fourier-Transformation einer Sinusfunktion mit der Frequenz f und der Amplitude a eine Kombination zweier Deltafunktionen an den Punkten f und -f und mit dem Koeffizienten a/2:

Wenn wir eine Funktion nehmen, die aus der Summe einer Menge von Sinuskurven mit unterschiedlichen Frequenzen besteht, dann besteht die Fourier-Transformation dieser Funktion gemäß der Eigenschaft der Linearität aus einer entsprechenden Menge von Deltafunktionen. Dies ermöglicht uns eine naive, aber visuelle Interpretation des Spektrums nach dem Prinzip „Wenn im Spektrum einer Funktion die Frequenz f der Amplitude a entspricht, dann kann die ursprüngliche Funktion als Summe von Sinuskurven dargestellt werden, von denen eine sein wird.“ eine Sinuskurve mit der Frequenz f und der Amplitude 2a.“ Streng genommen ist diese Interpretation falsch, da die Delta-Funktion und der Punkt im Diagramm völlig unterschiedliche Dinge sind, aber wie wir später sehen werden, wird sie bei diskreten Fourier-Transformationen nicht so weit von der Wahrheit entfernt sein.

Die zweite Eigenschaft der Fourier-Transformation ist die Unabhängigkeit des Amplitudenspektrums von der Zeitverschiebung des Signals. Wenn wir eine Funktion entlang der x-Achse nach links oder rechts verschieben, ändert sich nur ihr Phasenspektrum.

Die dritte Eigenschaft besteht darin, dass durch das Strecken (Komprimieren) der ursprünglichen Funktion entlang der Zeitachse (x) ihr Fourier-Bild entlang der Frequenzskala (w) proportional komprimiert (gedehnt) wird. Insbesondere ist das Spektrum eines Signals endlicher Dauer immer unendlich breit und umgekehrt entspricht das Spektrum endlicher Breite immer einem Signal unbegrenzter Dauer.

Die vierte und fünfte Eigenschaft sind vielleicht die nützlichsten von allen. Sie ermöglichen es, die Faltung von Funktionen auf eine punktweise Multiplikation ihrer Fourier-Bilder zu reduzieren und umgekehrt – die punktweise Multiplikation von Funktionen auf die Faltung ihrer Fourier-Bilder. Etwas weiter unten werde ich zeigen, wie praktisch das ist.

Die sechste Eigenschaft spricht von der Symmetrie von Fourier-Bildern. Aus dieser Eigenschaft folgt insbesondere, dass in der Fourier-Transformation einer reellwertigen Funktion (d. h. jedem „realen“ Signal) das Amplitudenspektrum immer gleich ist gleiche Funktion und das Phasenspektrum (wenn es auf den Bereich -pi...pi gebracht wird) ist ungerade. Aus diesem Grund wird der negative Teil des Spektrums fast nie in Spektrendiagrammen eingezeichnet – für reellwertige Signale liefert er keine neuen Informationen (aber ich wiederhole, er ist auch nicht Null).

Die letzte, siebte Eigenschaft schließlich besagt, dass die Fourier-Transformation die „Energie“ des Signals bewahrt. Es ist nur für Signale endlicher Dauer von Bedeutung, deren Energie endlich ist, und legt nahe, dass das Spektrum solcher Signale im Unendlichen schnell gegen Null geht. Genau aufgrund dieser Eigenschaft zeigen Spektrumdiagramme normalerweise nur den „Hauptteil“ des Signals, der den Löwenanteil der Energie trägt – der Rest des Diagramms tendiert einfach gegen Null (ist aber wiederum nicht Null).

Mit diesen 7 Eigenschaften ausgestattet, werfen wir einen Blick auf die Mathematik der Signaldigitalisierung, die es Ihnen ermöglicht, ein kontinuierliches Signal in eine Zahlenfolge umzuwandeln. Dazu müssen wir eine Funktion verwenden, die als „Dirac-Kamm“ bekannt ist:

Ein Dirac-Kamm ist einfach eine periodische Folge von Deltafunktionen mit Eins-Koeffizienten, die bei Null beginnt und mit Schritt T fortfährt. Für die Digitalisierung von Signalen wird T als möglichst kleine Zahl, T, gewählt<<1. Фурье-образ этой функции - тоже гребенка Дирака, только с гораздо большим шагом 1/T и несколько меньшим коэффициентом (1/T). С математической точки зрения, дискретизация сигнала по времени - это просто поточечное умножение исходного сигнала на гребенку Дирака. Значение 1/T при этом называют частотой дискретизации:

Anstelle einer kontinuierlichen Funktion erhält man nach einer solchen Multiplikation eine Folge von Deltaimpulsen einer bestimmten Höhe. Darüber hinaus ist das Spektrum des resultierenden diskreten Signals gemäß Eigenschaft 5 der Fourier-Transformation eine Faltung des ursprünglichen Spektrums mit dem entsprechenden Dirac-Kamm. Es ist leicht zu verstehen, dass aufgrund der Faltungseigenschaften das Spektrum des Originalsignals unendlich oft entlang der Frequenzachse in Schritten von 1/T „kopiert“ und dann summiert wird.

Beachten Sie, dass sich die Kopien des Originalspektrums nicht überlappen und daher nicht miteinander summiert werden, wenn das Originalspektrum eine endliche Breite hätte und wir eine ausreichend hohe Abtastfrequenz verwenden. Es ist leicht zu verstehen, dass aus einem solchen „kollabierten“ Spektrum das Original leicht wiederhergestellt werden kann – es reicht aus, einfach die Spektrumskomponente im Bereich von Null zu nehmen und die zusätzlichen Kopien bis ins Unendliche „abzuschneiden“. Der einfachste Weg, dies zu tun, besteht darin, das Spektrum mit einer Rechteckfunktion zu multiplizieren, die T im Bereich -1/2T...1/2T und Null außerhalb dieses Bereichs entspricht. Eine solche Fourier-Transformation entspricht der Funktion sinc(Tx) und gemäß Eigenschaft 4 entspricht eine solche Multiplikation der Faltung der ursprünglichen Folge von Deltafunktionen mit der Funktion sinc(Tx)



Das heißt, mit der Fourier-Transformation haben wir eine Möglichkeit, das ursprüngliche Signal einfach aus einem zeitabgetasteten Signal zu rekonstruieren. Dies funktioniert unter der Voraussetzung, dass wir eine Abtastfrequenz verwenden, die mindestens doppelt so hoch ist (aufgrund des Vorhandenseins negativer Frequenzen im Spektrum). höher sein als die im Originalsignal vorhandene Maximalfrequenz. Dieses Ergebnis ist weithin bekannt und wird als „Kotelnikov/Shannon-Nyquist-Theorem“ bezeichnet. Wie jedoch jetzt (nach Verständnis des Beweises) leicht zu erkennen ist, ist dieses Ergebnis entgegen der weit verbreiteten falschen Vorstellung entscheidend ausreichend, aber nicht notwendig Voraussetzung für die Wiederherstellung des ursprünglichen Signals. Wir müssen lediglich sicherstellen, dass die Teile des Spektrums, die uns interessieren, nachdem wir das Signal abgetastet haben, einander nicht überlappen, und wenn das Signal ausreichend schmalbandig ist (eine kleine „Breite“ des Nicht-Null-Teils des Spektrums aufweist), dann kann dieses Ergebnis oft bei einer Abtastfrequenz erreicht werden, die viel niedriger ist als das Doppelte der maximalen Frequenz des Signals. Diese Technik wird als „Unterabtastung“ (Unterabtastung, Bandpass-Abtastung) bezeichnet und wird häufig bei der Verarbeitung aller Arten von Funksignalen eingesetzt. Nehmen wir zum Beispiel ein UKW-Radio, das im Frequenzband von 88 bis 108 MHz arbeitet, dann können wir zum Digitalisieren einen ADC mit einer Frequenz von nur 43,5 MHz anstelle der im Satz von Kotelnikov angenommenen 216 MHz verwenden. In diesem Fall benötigen Sie jedoch einen hochwertigen ADC und einen guten Filter.

Ich möchte darauf hinweisen, dass die „Verdoppelung“ hoher Frequenzen mit Frequenzen niedrigerer Ordnung (Aliasing) eine unmittelbare Eigenschaft der Signalabtastung ist, die das Ergebnis irreversibel „verdirbt“. Wenn das Signal also grundsätzlich Frequenzen höherer Ordnung enthalten kann (also fast immer), wird vor dem ADC ein analoger Filter platziert, der alles Unnötige direkt im Originalsignal „abschneidet“ (da nach der Abtastung). dazu wird es zu spät sein). Die Eigenschaften dieser Filter sind als analoge Geräte nicht ideal, so dass es immer noch zu einer gewissen „Beschädigung“ des Signals kommt, und in der Praxis folgt daraus, dass die höchsten Frequenzen im Spektrum in der Regel unzuverlässig sind. Um dieses Problem zu reduzieren, wird das Signal oft überabgetastet, indem der analoge Eingangsfilter auf eine niedrigere Bandbreite eingestellt wird und nur der untere Teil des theoretisch verfügbaren Frequenzbereichs des ADC genutzt wird.

Ein weiteres häufiges Missverständnis besteht übrigens darin, dass das Signal am DAC-Ausgang in „Schritten“ abgerufen wird. „Schritte“ entsprechen der Faltung einer abgetasteten Signalfolge mit einer Rechteckfunktion der Breite T und der Höhe 1:

Das Signalspektrum wird bei dieser Transformation mit dem Fourier-Bild dieser Rechteckfunktion multipliziert und für eine ähnliche Rechteckfunktion wiederum sinc(w) umso mehr „gedehnt“, je kleiner die Breite des entsprechenden Rechtecks ​​ist. Das Spektrum des mit einem solchen „DAC“ abgetasteten Signals wird Punkt für Punkt mit diesem Spektrum multipliziert. In diesem Fall werden unnötig hohe Frequenzen mit „zusätzlichen Kopien“ des Spektrums nicht vollständig abgeschnitten, sondern der obere Teil des „nützlichen“ Teils des Spektrums wird im Gegenteil gedämpft.

In der Praxis macht das natürlich niemand. Es gibt viele verschiedene Ansätze zum Aufbau eines DAC, aber selbst in den DACs mit der engsten Gewichtung werden die Rechteckimpulse im DAC im Gegensatz dazu so gewählt, dass sie in der richtigen Reihenfolge so kurz wie möglich sind (und sich der tatsächlichen Folge von Deltafunktionen annähern). um eine übermäßige Unterdrückung des nützlichen Teils des Spektrums zu vermeiden. „Zusätzliche“ Frequenzen im resultierenden Breitbandsignal werden fast immer gelöscht, indem das Signal durch einen analogen Tiefpassfilter geleitet wird, so dass es weder „innerhalb“ des Wandlers noch insbesondere an seinem Ausgang zu „digitalen Stufen“ kommt.

Kehren wir jedoch zur Fourier-Transformation zurück. Die oben beschriebene Fourier-Transformation, die auf eine vorabgetastete Signalsequenz angewendet wird, wird als diskrete Zeit-Fourier-Transformation (DTFT) bezeichnet. Das durch eine solche Transformation erhaltene Spektrum ist immer 1/T-periodisch, daher wird das DTFT-Spektrum vollständig durch seine Werte auf dem Segment bestimmt.