Convolution (FPScript)

07.02.2018
 Daten mathematisch analysieren > Referenz > FPScript-Funktionen > Signalanalyse > Convolution

Convolution (FPScript)

<< Klicken, um Inhaltsverzeichnis anzuzeigen >>

  Daten mathematisch analysieren > Referenz > FPScript-Funktionen > Signalanalyse >

Convolution (FPScript)

Berechnet das Faltungsprodukt zweier Signale.

Syntax

Convolution(Signal1, Signal2 [ , Mode = CONVOLUTION_NONCIRCULAR ])

 

Die Syntax der Convolution-Funktion besteht aus folgenden Teilen:

Teil

Beschreibung

Signal1

Das Signal, das mit dem zweiten Signal gefaltet wird.

Erlaubte Datenstrukturen sind Datenreihe, Datenmatrix, Signal und Signalreihe. Es sind alle numerischen Datentypen erlaubt.

Für die X-Komponente gelten zusätzliche Beschränkungen. Die Werte müssen einen konstanten positiven Abstand haben.

Bei komplexen Datentypen erfolgt eine Betragsbildung.

Ist das Argument eine Liste, dann wird die Funktion für jedes Element der Liste ausgeführt und das Ergebnis ist ebenfalls eine Liste.

Signal2

Das Signal, das mit dem ersten Signal gefaltet wird.

Erlaubte Datenstrukturen sind Datenreihe, Datenmatrix, Signal und Signalreihe. Es sind alle numerischen Datentypen erlaubt.

Für die X-Komponente gelten zusätzliche Beschränkungen. Die Werte müssen einen konstanten positiven Abstand haben.

Bei komplexen Datentypen erfolgt eine Betragsbildung.

Ist das Argument eine Liste, dann wird die Funktion für jedes Element der Liste ausgeführt und das Ergebnis ist ebenfalls eine Liste.

Mode

Gibt den Berechnungsmodus an.

Das Argument Mode kann folgende Werte haben:

Konstante

Bedeutung

CONVOLUTION_CIRCULAR

Zirkuläres Faltungsprodukt für periodische Signale.

CONVOLUTION_NONCIRCULAR

Nicht-zirkuläres Faltungsprodukt für transiente Signale.

Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt.

Wenn das Argument nicht angegeben wird, wird es auf den Vorgabewert CONVOLUTION_NONCIRCULAR gesetzt.

Anmerkungen

Das Ergebnis ist immer vom Datentyp 64-Bit Fließkomma.

Die Einheit des Ergebnisses ist gleich dem Produkt der Einheiten von Signal1 und Signal2. Das Faltungsprodukt für zwei Datenreihen s und g ist definiert als:

und N, der Anzahl der Werte in s und g.

Die Berechnung erfolgt in allen Fällen im Frequenzbereich nach folgender Formel:

IRFFTn(*FFTn(Signal1) * FFTn(Signal2 ))

Bei zweidimensionalen Argumenten erfolgt die Berechnung spaltenweise und das Ergebnis ist ebenfalls zweidimensional. Hat eines der Argumente eine X-Komponente, so gilt dies auch für das Ergebnis. Diese enthält dann den Zeitversatz τ des Faltungsproduktes.

Bei der zirkulären Faltung erfolgt die Berechnung unter der Annahme, dass in Signal1 und Signal2 eine oder mehrere vollständige Perioden der zu analysierenden Signale abgelegt sind. In diesem Fall müssen die Zeilenanzahlen von Signal1 und Signal2 übereinstimmen und gerade sein. Bei ungerader Zeilenanzahl werden die Signale um einen Wert verkürzt. Die Berechnung erfolgt dann exakt wie oben angegeben. Die Anzahl der Zeilen im Ergebnis ist immer gleich der der verkürzten Signale.

Die nicht-zirkuläre Faltung basiert auf der Annahme, dass die Signale außerhalb der durch die Datensätze Signal1 und Signal2 abgedeckten Ausschnitte den Betrag Null haben. Vor dem Übergang in den Frequenzbereich wird deshalb eine ausreichende Anzahl von Nullen an die Datensätze angehängt. Das Faltungsprodukt wird für alle τ berechnet, für die dieses einen Wert ungleich 0 haben kann, d. h. für die noch eine Überlappung der beiden Signale vorliegt.

Folgende Grafik zeigt die Faltung eines Wobbelkosinussignals mit der Impulsantwort eines Tiefpassfilters für alle positiven τ:

Verfügbarkeit

FlexPro Standard, Professional, Developer Suite

Beispiele

 
Dim Signal1 = Signal(0.5 * Square(2. * PI * 1.0 * (1000, 0.0, 0.001), 0.5) + 0.5, (1000, 0.0, 0.001))
Dim Signal2 = Signal(0.5 * Square(2. * PI * 1.0 * ((1000, 0.0, 0.001) + 0.5), 0.5) + 0.5, (1000, 0.0, 0.001))
Convolution(Signal1, Signal2, CONVOLUTION_NONCIRCULAR)
 

Nicht-zirkuläres Faltungsprodukt zweier Rechtecksignale.

Siehe auch

CCF-Funktion

Analyseobjekt Faltung

Literatur

 [1] "Oppenheim, A. V. and Schafer, R. W.": "Discrete-Time Signal Processing, 2nd Edition", Seite 570 - 73. "Prentice Hall, New Jersey", 1999. ISBN 0-13-754920-2.

[2] "H. D. Lüke": "Signalübertragung", Seite 79 - 81. "Springer-Verlag Berlin, Heidelberg, New York", 1985. ISBN 3-540-15526-0.

Share article or send as email:

You might be interested in these articles