mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Kreuzkorrelation in Matlab


Autor: mgiaco (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ich Versuche eine Kreuzkorrelation in Matlab, es gilt zu Beweise 
das gil
cross(x1,x2) = iff(X1.*conj(X2)), habe zwei exp Funktionen genommen bin 
mir nicht sicher ob es daran liegt das das ergebnis nicht stimmt müsste 
aber schon oder nicht.

Was mache ich falsch?

Besten Dank

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schau mal in der hilfe unter "xcorr"

Autor: g_ast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
cxx = xcorr (x, 'options')
x: Signalvektor der Laenge N
cxx: Ergebnisvektor der Laenge 2N-1
'options' = 'none' --> Standard, ohne Skalierung 1/N
= 'biased' --> Skalierung wie in Formel
= 'coeff ' --> Skalierung, so dass xx(0) = 1

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sry war autokorreloation, aber schau mal nach, mit anderen parametern 
hast damit auch kreuzkorrelation

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hm meinst du das ist ein skalierungsfehler?

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Über die FFT bekommst du die zyklische Korrelation, siehe 
Beitrag "autocorrelation, matlab/octave". Um die "normale" 
Korrelation zu bekommen musst du zero padding machen.

Autor: mgiaco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
okay vertehe ich nicht ganz, zero pading ==> Werte auf null setzten aber 
welche?

Autor: mgiaco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, habe jetzt gelesen was mit zeropading gemeint ist aber wie mache 
ich das jetzt bei meinem Beispiel?

http://www.technick.net/public/code/cp_dpage.php?a...

? bitte danke

Autor: mgiaco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andreas

In dem einen Beitrag hast du geschrieben:

Korrelation(x, y) = Faltung(x, reverse(y)) = IDFT(DFT(x) * 
DFT(reverse(y)))

hm genau so habe ich es ja gemacht. Aber was verstehst du unter reverse 
(Werte flippen? ne verstehe ich nicht) ich habe konj. komplex genommen.

Autor: mgiaco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe es immer noch nicht geschaft, keinen Ahung was ich falsch mache. 
Niemand mehr einen Tipp für mich.

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
reverse ist umdrehen, also x[t] = x[N-t]. Im DFT-Bereich entspricht das 
Umdrehen dem konjugiert komplexen.

Autor: mgiaco (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andreas,

Da habe ich ja doch noch Hoffnung danke für die Antwort.

Ja verstanden, aber das habe ich ja gemacht siehe m-file. Nur stimmt das 
Ergebniss nicht.

Die Korrelation ansich stimmt denke ich wenn ich es über die Faltung 
rechne kommt zumindestens das gleiche heraus. Nur wenn ich es über den 
Bildbereich rechnen kommt etwas falsches heraus.

Vielleicht mache ich was generell falsch. Ich mache eine 
Kreuzkorrelation von 2 gleichen Signalen.

Im Anhang auch noch der plot.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.