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 ) :
| Gl. 1 |
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

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 :
| Gl. 2 |
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

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 :
| Gl. 3 |
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.

Siehe auch
Anmerkungen
- ^ Diese Bedingung impliziert, dass dasSegment mindestensangehängte Nullen aufweist, was eine zirkuläre Überlappung der Anstiegs- und Abfallvorgänge am Ausgang verhindert.
- Der Cooley-Tukey-FFT-Algorithmus für N=2 benötigt (N/2) log₂ ( N) – siehe FFT – Definition und Geschwindigkeit
Referenzen
Weiterführende Literatur
- Oppenheim, Alan V.; Schafer, Ronald W. (1975). Digitale Signalverarbeitung . Englewood Cliffs, NJ: Prentice-Hall. ISBN 0-13-214635-5Die
- Hayes, M. Horace (1999). Digitale Signalverarbeitung . Schaum's Outline Series. New York: McGraw Hill. ISBN 0-07-027389-8Die
- Senobari, Nader Shakibay; Funning, Gareth J.; Keogh, Eamonn; Zhu, Yan; Yeh, Chin-Chia Michael; Zimmerman, Zachary; Mueen, Abdullah (2019). „Super-Efficient Cross-Correlation (SEC-C): Ein schneller Matched-Filtering-Code für Desktop-Computer“ (PDF) . Seismological Research Letters . 90 (1): 322–334 . doi : 10.1785/0220180122 . ISSN 0895-0695 .