mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP kreuzkorrelation 2-Signale mit MATLABoder JAVA


Autor: Basler Leo (Firma: Leo) (basler20)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute

Ich hab da ne Frage betreffend Kreuzkorrelation, die ich nicht lösen 
könnte:

Berechnen Sie von Abtastwerten der unten gezeichneten Signale die 
Kreuzkorrelationsfunktion. T=1s; TI=0,1s; Abtastschritt=0,01s. Amplitude 
beider Signale ist 1. Der Startwert des Signales x1(t) liegt beim 0,1s. 
Die Startwerte der Impulse sind um 0,3s verschoben.


ich würde mich auf eine Lösung von euch sehr freuen


LG

Leo

Autor: mki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke die Korrelation der beiden Signale löst du weder mit Matlab 
noch mit Java. Diese Aufgabe löst du per Hand. Überleg dir, wie die 
Integrale aussehen infolgenden Fällen:
1) Beide Signale überlappen sich nicht
2) Das Signal läuft in das andere hinein
3) Das Signal läuft wieder hinaus

Als Ergebnis sollte ein Dreieck heraus kommen.

Autor: Basler Leo (Firma: Leo) (basler20)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Vielen Dank für deine Antwort. Jetzt ein BITTE: könntest du mir eine 
Lösung schicken, somit kann ich es Nachvollzehen! ich weiß ehrlichgesagt 
nicht wie man auf diesem Dreieck kommt!

Ich würde mich auf deine Antwort sehr freuen


LG

Leo

Autor: mki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit Lösung schicken geht momentan schlecht. Höchstens erst heute 
abend, falls ich es gut hinkriege.

Autor: Basler Leo (Firma: Leo) (basler20)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Danke für deine Antwort. Heute Abend wäre es für mich auch super. Ich 
bin gerade am Java-Applet Suchen, vielleicht kann ich die Lösung auch in 
Java grafisch darstellen.

Vielen Dank

Autor: mki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es schon mit einem Programm gemacht werden soll dann lieber Matlab. 
Dann sollte es in etwa so aussehen:

signal_1 = zeros(1,100);
signal_2 = zeros(1,100);
signal_1(30:40) = 1;
signal_2(60:70) = 1;

Wenn man dann noch beachtet, dass Faltung im Zeitbereich eine 
Multiplikation im Frequenzbereich ist sieht es bei einer 
Kreuzkorrelation etwa so:

korr = real(ifft(fft(signal_1).*conj(fft(signal_2))));

Ich habe es zwar jetzt nicht gegengetestet aber so sollte es 
funktionieren.

Autor: Basler Leo (Firma: Leo) (basler20)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich hab es mit MatLab probiert, geht leider nicht! in Java kann ich es 
implementieren, brauche aber den Lösungsweg!

LG

Autor: mki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na wenn´s sein muss dann wer ich es mal probieren. Das eine Signal bei 
Null anfangen lassen. Beide Signale punktweise multiplizieren und Fläche 
berechnen. Das ist die Korrelation an der Stelle null. Das eine Signale 
um eine Stelle nach rechts verschieben, wieder punktweise multiplizieren 
und Fläche berechne - das ist dann Korrelatin an Stelle eins. So weiter 
machen bis zum Ende.

Du kannst ja auch mal die Fehler bei Matlab sagen. Kann er irgentwas 
nicht richtig berechnen oder kommt das falsche Ergebnis raus?

Autor: Basler Leo (Firma: Leo) (basler20)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

ich hab's nochmals probiert und es geht bei mir nicht!
hast du es auch Probiert? Du kannst mir auch die Lösung im PDF da Online 
anhängen!

viele Grüsse

Leo

Autor: T. H. (pumpkin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
RTMF

help xcorr

oder man drücke in MATLAB die Taste F1 und suche nach correlation.

Autor: Basler Leo (Firma: Leo) (basler20)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja schon, aber ich möchte gerne wissen, wie man es rechnerisch löst! 
hast du vielleicht eine Lösung!
LG

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

Bewertung
0 lesenswert
nicht lesenswert
Bitte Forum-Fragenformulierung lesen und beachten. Wer einfach 
Hausaufgaben einstellt und erwartet dass er die Lösung auf dem 
Präsentierteller bekommt macht sich hier nicht beliebt.

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

Bewertung
0 lesenswert
nicht lesenswert
Ich habe es jetzt mal in Matlab probiert und es funktioniert.

Autor: Basler Leo (Firma: Leo) (basler20)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, ich versuche es auch nochmals. Aber weisst du, ob die Bedingungen 
unten stimmen? :

" Berechnen Sie von Abtastwerten der unten gezeichneten Signale die
Kreuzkorrelationsfunktion. T=1s; TI=0,1s; Abtastschritt=0,01s. Amplitude
beider Signale ist 1. Der Startwert des Signales x1(t) liegt beim 0,1s.
Die Startwerte der Impulse sind um 0,3s verschoben."


liebe Grüsse

Leo

Autor: mki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein die Abstände stimmen natürlich nicht. Es geht mir ja nur darum die 
Form der Korrelation zu zeigen. Kannst ja damit rumspielen und die 
Stellen der einsen und deren weiter verändern. Du wirst sehen dass sich 
die Form nicht ändert. Nur die Stelle des Maximums und die Steigung des 
Dreiecks.

Autor: Basler Leo (Firma: Leo) (basler20)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah ok :-) jetzt weiss ich fast wie :-) in der Zwischenzeit habe ich mir 
eine Java-Applet-programmiert. Mal schauen, ob ich die Korrelation hin 
bekomme :-)

Vielen Dank nochmals

schönen Abend

LG

Leo

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.