<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Schnelle_Faltung</id>
	<title>Schnelle Faltung - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Schnelle_Faltung"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Schnelle_Faltung&amp;action=history"/>
	<updated>2026-06-25T00:23:25Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Schnelle_Faltung&amp;diff=72333&amp;oldid=prev</id>
		<title>imported&gt;Hybridrix: /* Literatur */Link zu Kammeyer</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Schnelle_Faltung&amp;diff=72333&amp;oldid=prev"/>
		<updated>2025-08-22T16:32:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Literatur: &lt;/span&gt;Link zu Kammeyer&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Die &amp;#039;&amp;#039;&amp;#039;Schnelle Faltung&amp;#039;&amp;#039;&amp;#039; ist ein [[Algorithmus]] zur Berechnung der diskreten, aperiodischen [[Faltung (Mathematik)|Faltungsoperation]] mit Hilfe der [[Schnelle Fourier-Transformation|schnellen Fourier-Transformation]] (FFT). Dabei wird die rechenintensive aperiodische Faltungsoperation im [[Zeitbereich]] durch eine wesentlich einfachere, funktionell gleichwertige, Multiplikation im [[Frequenzspektrum|Frequenzbereich]] ersetzt. Anwendung findet die schnelle Faltung im Bereich der [[Digitale Signalverarbeitung|digitalen Signalverarbeitung]] unter anderem bei [[Filter mit endlicher Impulsantwort|nicht-rekursiven digitalen Filtern]] (&amp;#039;&amp;#039;FIR-Filter&amp;#039;&amp;#039;) zur Reduktion des Berechnungsaufwandes.&lt;br /&gt;
&lt;br /&gt;
== Von der diskreten Faltung zur schnellen diskreten Faltung ==&lt;br /&gt;
Im [[Zeitbereich]] ist die [[Faltung (Mathematik)#Diskrete Faltung|diskrete Faltung]] definiert als:&lt;br /&gt;
: &amp;lt;math&amp;gt; h(n) = (f * g)(n) = \sum_{k} f(k) \cdot g(n-k)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wird die diskrete Faltung in den [[Frequenzspektrum|Frequenzbereich]] [[Diskrete Fourier-Transformation|diskret fourier-transformiert]], ergibt sich folgender Term:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; H(N) = \mathcal{F}(h(n)) = \mathcal{F}(f(n)) \cdot \mathcal{F}(g(n))&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;H(N)&amp;lt;/math&amp;gt; wird berechnet und anschließend in den Zeitbereich zurücktransformiert, es ergibt sich die gesuchte Funktion:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; h(n) = \mathcal{F}^{-1}(H(N)) = (f * g)(n)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
Die Anwendungsbereiche der schnellen Faltung umfassen primär Filteranwendungen im Bereich [[Filter mit endlicher Impulsantwort|nicht rekursiver Filter]] (FIR-Filter). Die dabei eingesetzten Verfahren nennen sich [[Overlap-Save-Verfahren]] und [[Segmentierte Faltung|Overlap-Add-Verfahren]]. Da es sich bei der schnellen Faltung mittels FFT und deren Zusammenfassen der Daten in Blöcke um eine [[zyklische Faltung]] handelt, andererseits aber FIR-Filter mit der aperiodischen Faltung im Zeitbereich arbeiten, sind zur Gleichstellung der periodischen mit der aperiodischen Faltung Verfahren nötig, um die Daten in den Überlappungsbereichen zwischen den Datenblöcken zu „korrigieren“. Daraus leitet sich der Name &amp;#039;&amp;#039;Overlap&amp;#039;&amp;#039; in den Verfahren zur schnellen Faltung ab.&lt;br /&gt;
&lt;br /&gt;
== Überlappungsfehler ==&lt;br /&gt;
Im Folgenden wird auf den Effekt der Überlappung bei der schnellen (zyklische-) Faltung eingegangen, und&lt;br /&gt;
in welchen Fällen das Resultat &amp;lt;math&amp;gt;h[n]&amp;lt;/math&amp;gt; identisch ist zur [[Faltung (Mathematik)#Diskrete Faltung|diskreten linearen Faltung]].&lt;br /&gt;
&lt;br /&gt;
Wird die Eingangsfolge &amp;lt;math&amp;gt;f[n]&amp;lt;/math&amp;gt; der Länge&amp;amp;nbsp;&amp;#039;&amp;#039;K&amp;#039;&amp;#039; mit der [[Impulsantwort]] &amp;lt;math&amp;gt;g[n]&amp;lt;/math&amp;gt; der Länge&amp;amp;nbsp;&amp;#039;&amp;#039;G&amp;#039;&amp;#039; gefaltet, ergeben sich bei der linearen Faltung &amp;lt;math&amp;gt;N=K+G-1&amp;lt;/math&amp;gt; Ausgangswerte &amp;lt;math&amp;gt;h[n]&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Um die zyklische Faltung über die [[Diskrete Fourier-Transformation|DFT]] überhaupt durchführen zu können, müssen Eingangssequenz und [[Impulsantwort]] gleich lang sein. Ist dies nicht gegeben, muss der kürzere Vektor durch Anfügen von Nullen ausgeglichen werden (&amp;#039;&amp;#039;zero-padding&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
Zur Vereinfachung der folgenden Betrachtung nehmen wir an die Impulsantwort &amp;lt;math&amp;gt;g[n]&amp;lt;/math&amp;gt; sei kürzer als die Eingangsfolge &amp;lt;math&amp;gt;f[n]&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;G &amp;lt; K&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Da die Rücktransformation mittels [[IFFT]] aus dem [[Frequenzspektrum|Spektrum]] in diesem Fall als Faltungsprodukt anstelle von &amp;lt;math&amp;gt;N=K+G-1&amp;lt;/math&amp;gt; ebenfalls nur K [[Abtastung (Signalverarbeitung)|Samples]] liefert (siehe Eigenschaften der DFT), ergibt sich in der Ausgangsfolge ein Überlappungsfehler an den ersten &amp;lt;math&amp;gt;G-1&amp;lt;/math&amp;gt; Stellen. Zudem ist sie um &amp;lt;math&amp;gt;G-1&amp;lt;/math&amp;gt; zu kurz, da sich die fehlenden Werte zu den ersten hinzuaddieren. Der Fehler lässt sich durch Anfügen von &amp;#039;&amp;#039;mindestens&amp;#039;&amp;#039; &amp;lt;math&amp;gt;G-1&amp;lt;/math&amp;gt; Nullen an &amp;lt;math&amp;gt;f[n]&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;K-1&amp;lt;/math&amp;gt; Nullen an &amp;lt;math&amp;gt;g[n]&amp;lt;/math&amp;gt; korrigieren (zusätzliche Nullen am Ende stören den DFT-[[Algorithmus]] nicht, wenn die Länge eine Zweierpotenz ist, arbeiten manche [[Schnelle Fourier-Transformation|FFT]]-Implementierungen wesentlich effizienter).&lt;br /&gt;
&lt;br /&gt;
Mithilfe des &amp;#039;&amp;#039;Zero-Padding&amp;#039;&amp;#039; haben beide Vektoren nun &amp;lt;math&amp;gt;N=K+G-1&amp;lt;/math&amp;gt; Elemente, das Ergebnis &amp;lt;math&amp;gt;h[n]&amp;lt;/math&amp;gt; der schnellen Faltung liefert ebenfalls &amp;lt;math&amp;gt;N=K+G-1&amp;lt;/math&amp;gt; Werte.&lt;br /&gt;
Wie bei der linearen Faltung tritt kein Überlappungsfehler mehr auf.&lt;br /&gt;
&lt;br /&gt;
== Vorteile ==&lt;br /&gt;
Der Einsatz der schnellen Faltung mit Hilfe der [[Schnelle Fourier-Transformation|FFT]] führt zu einer Reduktion des [[Rechenaufwand]]es, sodass dieser für jeden Wert (jedes Sample) nicht mehr proportional von der Länge (Anzahl der Werte) &amp;#039;&amp;#039;K&amp;#039;&amp;#039; der Funktion &amp;lt;math&amp;gt;g(k)&amp;lt;/math&amp;gt; abhängt, sondern nur noch logarithmisch von der gewählten Blockgröße&amp;amp;nbsp;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;, mit der Randbedingung, dass &amp;#039;&amp;#039;N&amp;#039;&amp;#039; größer als &amp;#039;&amp;#039;K&amp;#039;&amp;#039; sein muss, mit der die [[Schnelle Fourier-Transformation|FFT]] durchgeführt wird.&lt;br /&gt;
&lt;br /&gt;
Für eine Menge von &amp;#039;&amp;#039;N&amp;#039;&amp;#039; Werten (Samples) ergeben sich folgende [[Komplexität (Informatik)|Komplexitäten]] (gemessen als Anzahl arithmetischer Grundoperationen wie Additionen und Multiplikationen):&lt;br /&gt;
* diskrete Faltung&lt;br /&gt;
:&amp;lt;math&amp;gt; O(N \cdot K) &amp;lt;/math&amp;gt;&lt;br /&gt;
* schnelle diskrete Faltung&lt;br /&gt;
:&amp;lt;math&amp;gt; O(N \cdot \mathrm{log}(N))&amp;lt;/math&amp;gt;, falls &amp;lt;math&amp;gt;N&amp;gt;K&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Praktisch realisierte FIR-Filter sind ab einer Ordnung von ca. 20 bis 40 mittels der schnellen Faltung meist effizienter als in der direkten Form zu implementieren.&lt;br /&gt;
&lt;br /&gt;
== Nachteile ==&lt;br /&gt;
Ein Problem der schnellen diskreten Faltung ist ihre [[Verzögerung (Telekommunikation)|Verzögerung]], die durch das Warten auf eine der Blockgröße &amp;#039;&amp;#039;N&amp;#039;&amp;#039; entsprechenden Menge an Werten (Samples) zur Berechnung der schnellen diskreten Faltung verursacht wird:&lt;br /&gt;
&lt;br /&gt;
Die Blockgröße muss mindestens der Länge des Signals im Zeitbereich, mit dem die Funktion gefaltet werden soll, entsprechen, da sonst das Ergebnis kürzer als die Impulsantwort der Faltung wäre. Zudem muss bei Verwendung des [[Segmentierte Faltung|Overlap-Add-]] oder [[Overlap-Save-Verfahren]]s, wenn die Entstehung von Artefakten durch das Verfahren gänzlich vermieden werden soll, diese minimale Blocklänge zusätzlich um den Abstand der einzelnen Pakete, in denen die Faltung vorgenommen werden soll, verlängert werden – weswegen große Blocklängen tendenziell eher Ergebnisse mit einer höheren Effizienz liefern. Weiterhin kann je nach konkreter FFT-Implementierung noch die Bedingung existieren, dass die Blockgröße &amp;#039;&amp;#039;N&amp;#039;&amp;#039; einer ganzzahligen Potenz von 2, 4 oder 8 entsprechen muss – was zusammen am Ende unter Umständen zu einer sehr hohen Blockgröße &amp;#039;&amp;#039;N&amp;#039;&amp;#039; führen kann.&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Nachteil ist das schwerer zu kalkulierende [[Quantisierungsrauschen]] über die gesamte Faltungsoperation. Dieses ist bei der schnellen Faltung tendenziell höher als bei der diskreten Faltung. Das Problem des Quantisierungsrauschens ist vor allem bei [[Digitaler Signalprozessor|Signalprozessoren]] mit [[Festkommazahl|Festkommaarithmetik]] zu beachten.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=[[Karl-Dirk Kammeyer]]&lt;br /&gt;
   |Titel=Digitale Signalverarbeitung&lt;br /&gt;
   |Auflage=6.&lt;br /&gt;
   |Verlag=Teubner&lt;br /&gt;
   |Datum=2006&lt;br /&gt;
   |ISBN=3-8351-0072-6&lt;br /&gt;
   |Seiten=248–260}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Steven W. Smith, Ph.D.&lt;br /&gt;
   |Titel=The Scientist and Engineer’s Guide to Digital Signal Processing&lt;br /&gt;
   |Auflage=1.&lt;br /&gt;
   |Verlag=Elsevier Ltd&lt;br /&gt;
   |Ort=Oxford&lt;br /&gt;
   |Datum=2002&lt;br /&gt;
   |ISBN=978-0-7506-7444-7&lt;br /&gt;
   |Kapitel=18. Kapitel&lt;br /&gt;
   |Sprache=en&lt;br /&gt;
   |Online=[http://www.dspguide.com/ dspguide.com]}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Algorithmus]]&lt;br /&gt;
[[Kategorie:Filter (Elektrotechnik)|!]]&lt;br /&gt;
[[Kategorie:Digitale Signalverarbeitung]]&lt;br /&gt;
&lt;br /&gt;
[[en:Convolution#Fast convolution algorithms]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Hybridrix</name></author>
	</entry>
</feed>