Forum: Digitale Signalverarbeitung / DSP / Machine Learning Kreuzkorrelation


von Chri (Gast)


Lesenswert?

Guten Morgen,
ich weiss nicht ob ich gerade einfach nur unglaublich dämlich bin, aber 
es hängt gerade an der händischen Kreuzkorrelation.

ich bezieh mich hier auf seite 5 und 6 aus
https://www.fh-muenster.de/maschinenbau/downloads/inf_maschbau/messtechnik/19.pdf

Ohne Grenzen:
rxy = summe( x(n)*y(n+m) )

+m ist eine LINKSverschiebung.

Das bedeutet doch das hier:
rxy(0) = summe(x(0) * y(0) + x(1) * y(1) ... + x(n) * y(n))
rxy(1) = summe(x(0) * y(1) + x(1) * y(2) ... + x(n) * y(n+1))
rxy(2) = summe(x(0) * y(2) + x(1) * y(3) ... + x(n) * y(n+2))

Warum ist die richtige Lösung, wie im Beispiel auf seite 6, dann aber 
eine rechtsverschiebung von y ? Matab macht das ja auch so. Dann müsste 
doch oben stehen:
rxy = summe( x(n)*y(n-m) )
Was aber nicht der definition entspricht.

Gruß
Christoph

von Michael A. (michiavelli)


Lesenswert?

Hast recht, ist falsch was der da macht. So wie er das definiert hat, 
muss y von rechts nach links geschoben werden.

In MATLAB kommt das selbe raus, da dort definitionsgemäß 
sum(x(n+m)*y(m)) berechnet wird.

von Chri (Gast)


Lesenswert?

Ja das doofe ist nun ich versuche halt herauszufinden wie es nun 
definiert ist.

Intuitiv finde ich die matlab version von links nach rechts zu schieben. 
Das wiederspricht aber den gägnigen definitionen, u.a. auf Wikipedia.

von Michael A. (michiavelli)


Lesenswert?

Bei MATLAB wird nichts von links nach rechts geschoben, sondern x von 
rechts nach links. Bei deinem FH-Münster Skript wird definitionsgemäß y 
nach rechts geschoben, in seinem Beispiel macht er es aber falsch.

Und mit der Definition ist das sonne Sache, da findest du in der 
Literatur sicherlich beides.

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.