Forum: Digitale Signalverarbeitung / DSP / Machine Learning Faltung berechnen


von Hannes M. (hannes23)


Lesenswert?

Hallo,

ich würde gerne die Faltung von Abtastwerten eines Sinus-Signals und 
Rechteck-Impulsen der Länge "T" bzw. Höhe "1" berechnen.

Ich versehe zwar das Prinzip dahinter, aber weiß leider nicht wie ich 
das mathematisch aufstellen kann, da ich noch nie eine Faltung berechnet 
habe.

Könnte mir jemand auf die Sprünge helfen?

Die Formel der Faltung lautet:
y(t) = f(t)*g(t) = Integral(-∞ bis ∞)(g(t-x)*f(x)dx)


Leider weiß ich nicht was ich für meinen Fall einsetzen muss.

Vielen Dank!

LG Hannes

: Verschoben durch Admin
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Der englische Suchbegriff ist "convolution"
Das Integral gilt für zeitkontinuiertliche Rechnung, keine diskreten 
Abtastwerte. Da reduziert es sich auf eine Summenbildung.

Mit welchem Programm soll es denn gerechnet werden?

von Hannes M. (hannes23)


Lesenswert?

Vielen Dank für die Antwort.

Zuerst möchte ich das ganze einmal händisch berechnen und später 
eventuell in MATLAB. Das mit den Abtastwerten hab ich etwas falsch 
formuliert, es handelt sich um einen zeitkontinuierlichen aber 
wertdiskreten Sinus (also mit Halteglied).

Im Grunde möchte ich eine Funktion (abhängig von der Zeit und "T") 
haben, die durch die Faltung vom abgetasteten Sinus (+Halteglied) und 
der Rechteckfunktion (Länge "T") entsteht.

Die resultierende Funktion müsste eigentlich ein um "T/2" verschobener 
kontinuierlicher Sinus sein.

Leider weiß ich nicht wie man mathematisch darauf kommt.


LG.

von Purzel H. (hacky)


Lesenswert?

Eine Faltung rechnet man als drueberziehen, multiplizieren, integrieren.

Ein Rechteck mal einen Sinus ist ein ausgeschnittener Sinusblock. Man 
muss also nur den Rechteck ueber eine Periode rueberziehen, der Rest ist 
periodisch.

von Hannes M. (hannes23)


Lesenswert?

Ein Rechteck im Frequenzbereich ist eine sinc-Funktion, aber wie stelle 
ich das Rechteck im Zeitbereich dar / bzw. wende es an? z.B in der 
Faltungsformel?

Ich lese meistens nur "rect()", aber wie wende ich die Funktion im 
Faltungsintegral an?

Danke für die Hilfe!

von Gerald M. (gerald_m17)


Lesenswert?

Das rechnet man im Frequenzraum. Dort entspricht eine Faltung einer 
einfachen Multiplikation.
Dann sieht man auch direkt was bei Faltung eines Sinus mit etwas anderem 
heraus kommt.

von holzi (Gast)


Lesenswert?

Hannes M. schrieb:
> ch lese meistens nur "rect()", aber wie wende ich die Funktion im
> Faltungsintegral an?

In dem du die rect Funktion stückweise betrachtest.

Zwölf M. schrieb:
> Eine Faltung rechnet man als drueberziehen, multiplizieren, integrieren.

Genau so. Die rect Funktion ist nur in einem Teil von Null verschieden. 
Du teilst dann dein Integral von -inf bis inf in Teile auf in denen die 
rect Funktion Null oder die Konstante ist. Das entspricht dann dem 
"drueberziehen" Für jeden Teilbereich rechnest du das integral der 
Multiplikation aus. Das Ergebnis ist dann sie Superposition aus allen 
Teilbereichen.

von Besucher (Gast)


Lesenswert?

Gerald M. schrieb:
> Das rechnet man im Frequenzraum. Dort entspricht eine Faltung
> einer
> einfachen Multiplikation.
> Dann sieht man auch direkt was bei Faltung eines Sinus mit etwas anderem
> heraus kommt.

Das ist zwar richtig, hilft dem TE aber glaube ich nur bedingt weiter.
Im Zeitbereich müsste man eigentlich abschnittsweise vorgehen: In 
manchen Teilen hat das Rechteck den Wert 1, in anderen Teilen den Wert 
0. Da die Perioden von Rechteck und Sinus aber nicht gleich sein müssen 
kann diese Rechnung ermüdend sein...
Bei der Aufgabe muss ich spontan an einen ADC mit Apertur denken, und 
das kann man glaube ich auch im Zeitbereich irgendwie rechnen. Ganz 
dunkel erinnere ich mich daran das es den Satz von irgendwem gab mit 
dem man den Sinus filtern konnte um anschließend mit einem Dirac-Kamm 
falten zu können. Irgendwie so ging das.
Naja, sowas muss man aber nur während des Studiums wissen. Danach nutzt 
man den Frequenzbereich, dafür isser ja schließlich da. ^^

von Martin O. (ossi-2)


Lesenswert?

Wie lang ist die Dauer T des Rechtecks im Vergleich zum Abstand der 
Abtastwerte des Sinus?

von Martin O. (ossi-2)


Lesenswert?

Ist die Dauer des Rechtecks=Dauer des Halteglieds=Dauer des 
Abtastschritts=T
geht das ganze wie folgt:

Faltung ist Assoziativ, d.h.
( (Summe Abtast-Dracstöße)*(Halte-RECT)  ) * RECT=
(RECT*RECT)*(Summe Abtast-Dracstöße)

RECT*RECT gibt ein Dreick mit der Breite 2T.

Dreieck*(Summe Abtast Diracstöße)=
SUMME(Dreick*Diracstoß)=Summe verschobener gewichteter Dreiecke.

Verschiebung um die Abtastzeit des jeweiligen Samples gewichtet
mit dem jeweiligen Sample.

Die Summe dieser Dreiecke entspricht jetzt einer Interpolation
der Sinusabtastwerte durch Geradenstücke, muss man sich graphisch
mal aufmalen. Immer wo das Maximum des einen Dreiecks liegt,sind die
benachbarten Dreiecke gerade auf Null abgeklungen.

Hört sich nach ner Übungsaufgabe zum Thema Interpolation an.

Nimmt man noch nen RECT dazu, ergibt sich Interpolation durch
Parabelstücke usw.

von Hannes M. (hannes23)


Angehängte Dateien:

Lesenswert?

Vielen Danke für die ausführlichen Antworten!

Im Grunde möchte ich die Formel für u(t) aus dem Bild herleiten. Die 
Formel beschreibt dabei den gestrichelten Sinus.
Leider weiß ich nicht wie ich von der angesprochenen Lösung (die ja noch 
Summen enthält) auf die kontinuierliche Formel komme.

Hat jemand eine Idee?

von Schau mal hier (Gast)


Lesenswert?

https://de.m.wikipedia.org/wiki/Faltung_(Mathematik)#/media/Datei%3AConvolution_of_box_signal_with_itself2.gif

Dann mach das mal händisch und vergleiche das Ergebnis mit der Formel.

von Hannes M. (hannes23)


Lesenswert?

Das eigentliche Problem liegt leider nicht an der Berechnung der 
Faltung, das ist jetzt zumindest schon klar.

Ich weiß leider nicht wie ich aus dem Bild bzw. Text die Funktionen für 
die Faltung aufstelle.
Logisch wäre für mich, die Abtastwerte mit einem Rechteck(1,T lang) zu 
falten, aber das wäre ja dann (wie bereits hier aufgezeigt) eine Lösung 
mit Summen.

Faltung = f*g
f = Abtastwert?, Treppenfunktion? (Wie stelle ich die dar?), 
Sinusfunktion (aufgrund der Annahme das nur tiefe Frequenzen übertragen 
werden?)
g = Rechteck Höhe 1, Länge T

Die Berechnung ansich sollte anschließend kein Problem mehr darstellen.

von Sven B. (scummos)


Lesenswert?

Hmm, bist du sicher dass die Faltung dafür der richtige Rechenweg ist? 
Wenn ich mir das Ergebnis anschaue, würde ich eher sowas versuchen wie 
a) beweisen, dass die gehaltenen Werte alle auf einer Sinuskurve mit 
gleicher Periodendauer liegen wie die ursprüngliche Funktion, und dann 
b) zwei konkret rausnehmen und die freien Parameter bestimmen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.