Warum verwenden wir zirkuläre Faltung in DSP?
Was ist der Hauptgrund für die Verwendung in der digitalen Verarbeitung?
Warum kommt das Konzept der Kreisfaltung häufiger vor als die lineare Faltung?
Warum verwenden wir zirkuläre Faltung in DSP?
Was ist der Hauptgrund für die Verwendung in der digitalen Verarbeitung?
Warum kommt das Konzept der Kreisfaltung häufiger vor als die lineare Faltung?
Antworten:
Bei einem zeitdiskreten LTI-System mit der Impulsantwort kann man seine Antwort auf jeden Eingang durch eine Faltungssumme berechnen :y [ n ] = x [ n ] ⋆ h [ n ] = ∞ ∑ k = - ∞ h [ k ] x [ n - k ]
Ohne weitere Angabe bezieht sich die obige Definition auf die lineare Faltung (aperiodische Faltung) zwischen und , bei der es sich um aperiodische zeitdiskrete Sequenzen von möglicherweise unendlicher Länge handelt, sofern nicht anders angegeben. Dies unterscheidet sich von einer kreisförmigen Faltung, die zwischen zwei periodischen Sequenzen der Periode liegt und über eine einzelne Periode berechnet wird.N.
Sie können eine lineare Faltung im Zeitbereich nach Gleichung 1 oder im Frequenzbereich mithilfe der folgenden DTFT-Eigenschaft (zeitdiskrete Fourier-Transformation) berechnen :
DTFT hängt natürlich mit der linearen Faltung zusammen, da es sich um theoretisch existierende aperiodische Sequenzen handelt, die sich von bis sich in ihren Grenzen der definierenden Summe widerspiegeln:
Wenn Sie eine Berechnung von Hand mit symbolischen Ausdrücken für Signale wie und möchten , können Sie die Ergebnisse zeitlich oder zeitlich berechnen Frequenzbereiche wie oben beschrieben.
Wenn Sie dasselbe Ergebnis mithilfe eines Computers berechnen möchten, können Sie auch den Zeitbereichsansatz verwenden, der auf einer LCCDE-Rekursion (für IIR-Systeme) oder einer direkten endlichen Faltungssumme (für FIR-Systeme) basiert, ABER der Frequenzbereichsansatz hat gewonnen. ' t mit DTFT arbeiten; da es hauptsächlich ein Werkzeug zur Entwicklung der Mathematik der Signal- und Systemtheorie ist und nicht für digitale Computerimplementierungen geeignet ist, da seine Variable eine reelle stetige Zahl ist.
Stattdessen wird die DFT (diskrete Fourier-Transformation) verwendet, die als
wobei und die Länge der DFT ist, die dann als N-Punkt- DFT des Signals .
Gleichung 4 impliziert, dass die DFT-Sequenz als einheitliche Abtastwerte der DTFT , die eine periodische Funktion ist, daher ist DFT ebenfalls periodisch, aber wir nur Betrachten Sie die erste Periode von bis .
Da DFT-Sequenzen von Natur aus periodisch sind, sind ihre Windungen auch periodisch (kreisförmig). Während eine lineare Faltung zwischen aperiodischen Signalen und durch den I-DTFT-Ausdruck impliziert wird, ist stattdessen wird eine kreisförmige Faltung zwischen zwei periodischen Sequenzen durch den I-DFT-Ausdruck impliziert.
Da wir also eine lineare Faltung zwischen zwei aperiodischen Sequenzen und der Längen bzw. unter Verwendung des Frequenzbereichs durch ihre Punkt-DFTs und berechnen wollen , Wir müssen tatsächlich eine zirkuläre Faltung zwischen den periodischen Erweiterungen der Signale und der Perioden berechnen .
Der Schlüssel liegt in der Auswahl einer geeigneten Länge der DFTs, die lang genug sein muss, um ein Zeitdomänen- Aliasing der Sequenz zu vermeiden , das von der IDFT-Berechnung zurückgegeben wird:
Dabei ist das Ergebnis der linearen Faltung, die von der theoretischen inversen DTFT zurückgegeben würde, und ist das periodische Ergebnis der periodischen (kreisförmigen) Faltung, die durch die inverse DFT impliziert wird.
Es ist zu beachten, dass, wenn eines der Signale unendlich lang ist, es NICHT möglich ist, ihre lineare Faltung unter Verwendung des DFT-Ansatzes zu berechnen, da praktisch unendlich werden würde. Die Implementierung einer linearen Faltung über DFT umfasst dann die folgenden Schritte:
Wählen Sie N gemäß den folgenden Kriterien: was eine Rekonstruktion des inversen Signals aus seiner DFT der berechneten Kreisfaltung über garantiert .
Berechnen Sie die N-Punkt-DFTs und von und .
Berechne
Berechnen Sie die inverse N-Punkt-DFT von , um die Ausgabe zu erzeugen.
Beantwortung Ihrer Fragen:
- Warum verwenden wir zirkuläre Faltung in DSP?
In DSP beschäftigen wir uns normalerweise mit diskreten Sequenzen endlicher Länge (selbst wenn das untersuchte Signal unendlich ist, können wir jeweils nur einen endlichen Teil davon analysieren). Wenn es darum geht, ein Signal so zu verarbeiten, muss es in einem diskreten Logikgerät implementiert werden können (nämlich einem Gerät, das keine kontinuierlichen Werte speichern kann, da diese Werte unendlich sind und eine begrenzte Menge an Speicher, Speicher usw. haben). Dies erklärt, warum die diskrete Zeit-Fourier-Transformation (DTFT), die eine diskrete Zeitsequenz in eine kontinuierliche Frequenzsequenz umwandelt, nicht in Hardware implementiert werden kann. Die lineare zeitliche Faltung entspricht der Multiplikation von DTFTs mit zwei Sequenzen. Da DTFT jedoch nicht in Hardware implementiert werden kann, ist dies nicht der Weg, um eine lineare Faltung zu erhalten.Die diskrete Fourier-Transformation (DFT) transformiert andererseits eine diskrete Zeitsequenz in eine diskrete Frequenzsequenz und dies ermöglicht die Implementierung in Hardware. Das Multiplizieren von 2 Sequenz-DFTs entspricht jedoch im Prinzip einer zirkulären Faltung(Eine lineare Faltung kann auch erhalten werden, wenn die Zeitsequenzen zuvor mit genügend Nullen aufgefüllt wurden, siehe Erklärung unten). Der Grund, warum das Multiplizieren von DFTs mit zwei Sequenzen einer kreisförmigen und nicht linearen Faltung entspricht, liegt in der Tatsache, dass die DFT für eine Sequenz mit endlicher Zeitlänge der Discrete Fourier Series (DFS) derselben Sequenz mit endlicher Zeitlänge entspricht, die periodisch verlängert wird (Verkettung der endliche Zeitlängenfolge unendlich in der Zeitachse) über einen Zeitraum genommen. DFS ist auch im Frequenzbereich periodisch, sodass dort keine lineare Faltung angewendet wird (siehe 8.2.5 und 8.6.5 der 3. Ausgabe von Oppenheims Discrete Time Signal Processing).
- Was ist der Hauptgrund für die Verwendung in der digitalen Verarbeitung?
Es wird durch DFT-Multiplikation erhalten und DFT ist leicht in Hardware implementiert. Darüber hinaus existieren sehr effiziente Algorithmen wie FFT zur Berechnung der DFT
- Warum kommt das Konzept der Kreisfaltung häufiger vor als die lineare Faltung?
Das hängt von der Anwendung ab. Eine kreisförmige Faltung kann auch die lineare Faltung ergeben. Nehmen wir zum Beispiel an, wir arbeiten mit Signal A der Länge N und Signal B auch der Länge N (dies kann auch für verschiedene Längen durchgeführt werden). Die kreisförmige Faltung hat die Länge N. Um eine lineare Faltung zu erhalten, müssen sowohl A als auch B mit Nullen aufgefüllt werden, bis sie eine Länge von mindestens 2 * N - 1 erreichen. Dann wird die DFT auf beide angewendet, multipliziert und umgekehrt DFT gibt Ihnen die lineare Faltung
Hier ist ein bisschen Intuition:
Wenn Sie digital mit Signalen umgehen, haben Sie es immer mit einem endlichen Signal zu tun. Dies liegt daran, dass Sie nur eine begrenzte Anzahl von Datenpunkten verarbeiten können.
Das Problem ist jedoch, dass bei der Durchführung von Transformationen in den Frequenzbereich mit der DFT per Definition ein Signal per Definition nicht endlich sein kann. Wenn Sie eine DFT-Operation ausführen, ändert sich Ihr Signal implizit von endlich zu periodisch, selbst wenn Ihr Signal nicht periodisch ist.
Diese Periodizität des Signals führt dazu, dass die Faltung kreisförmig verwendet werden muss.
Die DFT / FFT ist ein nützlicher rechnerischer "Hammer", aber alle ihre Transformationsbasisvektoren haben eine kreisförmige (ganzzahlige periodische) Apertur und können als periodische Funktionen unendlich erweitert werden, was einige Benutzer mit der Art ihrer Eingabedaten verwechseln.
Wenn Sie einen ausreichenden Nullpunkt auffüllen, führt die Kreisfaltung zum gleichen Ergebnis wie die lineare Faltung, jedoch mit einem etwas höheren Rechenaufwand als die Kreisfaltung.