|
CR |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 04.09.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.09.2008, 16:09
Titel: Kreuzkorrelation
|
|
Ausgangspunkt:
2 Wave Dateien (Einmal Streamingaufzeichnung einer Radiosendung, Einmal eine Aufzeichnung der selben Radiosendung mit Störungen(Auzeichnung während einer Autofahrt)).
Ich möcht nun zur "Ortung" der Störungen eine Kreuzkorrelation durchführen. (Alle Auzeichnungen durchhören wäre zu aufwendig!!)
Kreuzkorrelationsfunktion, einlesen einer wavedatei etc. ist in etwa bekannt.
Problem:
Um die Wavedateien für die Kreuzkorrelation verwenden zu können müssen sie synchronisiert werden, aber wie?
Was ist sonst noch zu beachten?
Habe schon ne Weile versucht mich schlau zu machen...war nur leider relativ erfolglos.
Bin für jeden Hinweis dankbar!
lg CR
|
|
|
|
|
Michael |
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 08.09.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.09.2008, 23:42
Titel: Re: Kreuzkorrelation
|
|
|
|
|
Hallo,
CR hat Folgendes geschrieben: |
Ausgangspunkt:
2 Wave Dateien (Einmal Streamingaufzeichnung einer Radiosendung, Einmal eine Aufzeichnung der selben Radiosendung mit Störungen(Auzeichnung während einer Autofahrt)).
Ich möcht nun zur "Ortung" der Störungen eine Kreuzkorrelation durchführen. (Alle Auzeichnungen durchhören wäre zu aufwendig!!)
Kreuzkorrelationsfunktion, einlesen einer wavedatei etc. ist in etwa bekannt.
Problem:
Um die Wavedateien für die Kreuzkorrelation verwenden zu können müssen sie synchronisiert werden, aber wie?
lg CR |
das Einlesen der Datei geht mit wavread, wenn Du die entsprechende Toolbox eingebunden hast.
Ich weiß nun nicht, wie sehr sich die beiden Aufnahmen unterscheiden. Aber ich könnte mir vorstellen, daß die Hüllkurven von Streaming s1 und Radioaufnahme s2 sich ähneln.
Die Hüllkurve erhältst Du mit
huell1 = abs(hilbert(s1));
huell2 = abs(hilbert(s2));
Anschließend bestimmst den x-Wert, bei dem
cor = xcorr(huell1, huell2)
maximimal wird. Wenn das mittlere Elemente maximal ist, sind beide Funktionen nicht gegeneinander verschoben (setzt gleiche Länge von huell1 und huell2 voraus).
Die Verschiebung des Maximums im Vergleich zur Mittenposition gibt an, um wieviele Samples (inkl evtl. Subsamples) die Radioaufnahme gegen die Streamingaufnahme verschoben ist.
Die Verschiebung kannst Du über die Funktion interp1 realisieren.
Bei gegebener Zeit t und Signal s erhältst Du eine Verschiebung um 2 über die Befehlsfolge:
s_neu = interp1(t-2,s,t);
Gruß,
Michael
|
|
|
CR |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 04.09.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2008, 09:06
Titel:
|
|
Danke für deine Antwort, kling nicht schlecht. Werd ich gleich mal probieren!
Gruß CR
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|