In der Signalverarbeitung ist die Überlappungs-Add-Methode ein effizientes Verfahren zur Auswertung der diskreten Faltung eines sehr langen Signals mit einem FIR-Filter ( Finite Impulse Response ) :

wo außerhalb der Region 

In diesem Artikel werden gängige abstrakte Notationen verwendet, wie z. B. oder , bei denen davon ausgegangen wird, dass die Funktionen in ihrer Gesamtheit und nicht zu bestimmten Zeitpunkten betrachtet werden sollten (siehe Faltung#Notation ).

Algorithmus

Abb. 1: Eine Sequenz aus fünf Diagrammen veranschaulicht einen Zyklus des Overlap-Add-Faltungsalgorithmus. Das erste Diagramm zeigt eine lange Datensequenz, die mit einem FIR-Tiefpassfilter verarbeitet wird. Das zweite Diagramm zeigt ein Segment der Daten, das stückweise verarbeitet wird. Das dritte Diagramm zeigt das gefilterte Segment einschließlich der Anstiegs- und Abfallvorgänge des Filters. Das vierte Diagramm zeigt die Stelle, an der die neuen Daten mit dem Ergebnis der vorherigen Segmente addiert werden. Das fünfte Diagramm zeigt den aktualisierten Ausgabestrom. Der FIR-Filter ist ein Boxcar-Tiefpassfilter mit Abtastwerten, die Segmentlänge beträgt Abtastwerte und die Überlappung 15 Abtastwerte.

Das Konzept besteht darin, das Problem in mehrere Faltungen mit kurzen Segmenten von zu unterteilen :

wobei eine beliebige Segmentlänge ist. Dann :

und kann als Summe kurzer Faltungen geschrieben werden : [ 1 ]

wobei die lineare Faltung außerhalb des Bereichs null ist. Und für jeden Parameter [ A ] ist sie äquivalent zur -Punkt -Kreisfaltung von mit im Bereich.   Der Vorteil besteht darin, dass die Kreisfaltung gemäß dem Kreisfaltungssatz effizienter berechnet werden kann als die lineare Faltung :

Wo :

  • DFT N und IDFT N bezeichnen die diskrete Fourier-Transformation und ihre Inverse, ausgewertet über diskrete Punkte, und
  • Üblicherweise wird so gewählt, dass es sich um eine Zweierpotenz handelt, und die Transformationen werden aus Effizienzgründen mit dem FFT- Algorithmus implementiert .

Pseudocode

Nachfolgend die Pseudocode -Darstellung des Algorithmus :

( Überlappungs-Add-Algorithmus für lineare Faltung ) h = FIR-Filter M = Länge(h) Nx = Länge(x) N = 8 × 2^ceiling( log2(M) ) (8 mal die kleinste Zweierpotenz größer als die Filterlänge M. Siehe nächsten Abschnitt für eine etwas bessere Wahl.) Schrittweite = N - (M-1) (L im obigen Text) H = DFT(h, N) Position = 0 y(1 : Nx + M-1) = 0 solange Position + Schrittweite ≤ Nx tue y(position+(1:N)) = y(position+(1:N)) + IDFT(DFT(x(position+(1:step_size)), N) × H) Position = Position + Schrittweite Ende

Effizienzüberlegungen

Abb. 2: Graph der Werte von N (einer ganzzahligen Zweierpotenz), die die Kostenfunktion minimieren

Wenn DFT und IDFT durch den FFT-Algorithmus implementiert werden, benötigt der obige Pseudocode etwa N (log₂ ( N) + 1) komplexe Multiplikationen für die FFT, das Produkt von Arrays und die IFFT. [ B ] Jede Iteration erzeugt N-M+1 Ausgabewerte, sodass die Anzahl der komplexen Multiplikationen pro Ausgabewert etwa beträgt :

Wenn beispielsweise und Gl. 3 gleich ist , würde die direkte Auswertung von Gl. 1 bis zu komplexen Multiplikationen pro Ausgabewert erfordern, wobei der ungünstigste Fall eintritt, wenn sowohl als auch komplexwertig sind. Beachten Sie außerdem, dass Gl. 3 für jedes gegebene ein Minimum bezüglich besitzt. Abbildung 2 zeigt die Werte von , die Gl. 3 für verschiedene Filterlängen minimieren ( ).

Anstelle von Gl. 1 können wir auch Gl. 2 auf eine lange Folge von Längenabtastwerten anwenden . Die Gesamtzahl der komplexen Multiplikationen wäre dann:

Im Vergleich dazu ist die Anzahl der komplexen Multiplikationen, die der Pseudocode-Algorithmus benötigt, folgende:

Daher skalieren die Kosten der Überlappungs-Additions-Methode nahezu proportional zu den Kosten einer einzelnen, großen kreisförmigen Faltung . Die beiden Methoden werden auch in Abbildung 3 verglichen, die mittels MATLAB- Simulation erstellt wurde. Die Konturen stellen Linien mit konstantem Verhältnis der Laufzeiten beider Methoden dar. Ist die Überlappungs-Additions-Methode schneller, übersteigt das Verhältnis 1, und es werden sogar Werte bis zu 3 beobachtet.

Abb. 3: Gewinn der Überlappungsaddierungsmethode im Vergleich zu einer einzelnen, großen kreisförmigen Faltung. Die Achsen zeigen die Werte der Signallänge N<sub> x</sub> und der Filterlänge N<sub> h</sub> .

Siehe auch

Anmerkungen

  1. ^ Diese Bedingung impliziert, dass dasSegment mindestensangehängte Nullen aufweist, was eine zirkuläre Überlappung der Anstiegs- und Abfallvorgänge am Ausgang verhindert.
  2. Der Cooley-Tukey-FFT-Algorithmus für N=2 benötigt (N/2) log₂ ( N) – siehe FFT – Definition und Geschwindigkeit

Referenzen

  1. ^ Rabiner, Lawrence R.; Gold, Bernard (1975). „2.25“ . Theorie und Anwendung der digitalen Signalverarbeitung . Englewood Cliffs, NJ: Prentice-Hall. S.  63–65 . ISBN 0-13-914101-4Die

Weiterführende Literatur