goMatlab - Mein MATLAB Forum

Mein MATLAB Forum

 
Login  | Registrieren
Bücher:


Studierende:
Praktikant/-in im Bereich Akustik
Kfz-Zulieferindustrie
Behr GmbH & Co. KG - Stuttgart

Abschlussarbeit Entwicklung von innovativen Technologien (Leistungselektronik, Regelungstechnik, Matlab; Bachelorarbeit)
Energieversorgung
SMA Solar Technology AG - Niestetal

Praktikanten und Diplomanden (m/w) im Bereich Steuerungsentwicklung für Hybridantriebe
Kfz-Zulieferindustrie
ZF Friedrichshafen AG - Schweinfurt

Praktikum Entwicklung von Leistungselektronik (Simulation mit Matlab / Simulink)
Energieversorgung
SMA Solar Technology AG - Niestetal

Praktikant (m/w) im Bereich digitale Signalverarbeitung - Simulation eines Funkkommunikationssystems
Mess- und Nachrichtentechnik
ROHDE & SCHWARZ GmbH & Co. KG - Stuttgart

weitere Angebote

Partner:




Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Problem mit Kreuzkorrelation

 

Q-Dog
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2012, 19:31     Titel: Problem mit Kreuzkorrelation
  Antworten mit Zitat      
Moin,

ich bin gerade dabei mit Matlab die Kreuzkorrelation zwischen zwei Signalen zu berechnen und bin dabei auf folgendes Problem gestoßen:

Angenommen, ich habe 2 Signale s1=sin(x) und s2=cos(x). Jetzt möchte ich anhand der Kreuzkorrelation bestimmen, um wie viel ich s2 verschieben muss, damit es möglich exakt mit s1 übereinstimmt (oder habe ich den Sinn der Kreuzkorrelation falsch verstanden?)

Code:

s = sind(0:360);
c = cosd(0:360);
cor = xcorr(s,c);
plot(cor)
 


Schaue ich mir den Plot an, so ist das Maximum der Kreuzkorrelation bei x=440. Die Mitte liegt bei x=360. Also eine Verschiebung um 440-360=80.

Wie aber jeder weiß, ist cos um 90° zu sin verschoben und nicht um 80°.

Was mache ich falsch?


Gruß Q-Dog


Habakuk Tibatong
Forum-Anfänger
Forum-Anfänger

Beiträge: 11
Anmeldedatum: 12.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.05.2012, 18:00     Titel:
  Antworten mit Zitat      
Hallo,

damit xcorr annimmt, dass Du eine periodische Funktion hast, musst Du den Aufruf folgendermaßen machen:

Code:
cor = xcorr(s,c,'unbiased');


Das verändert auch die ganze Kreuzkorrelationsfunktion, die beim Vergleichen eines nicht gefensterten (also als unendlich periodisch angenommenen) Sinus und Cosinus auch sinusförmig sein muss.

War sie aber vorher gar nicht, da der Algorithmus die Funktionen "s" und "c" nicht wie periodische Funktionen behandelt hat.

Ich hoffe Du kannst damit jetzt noch was anfangen. Wink

Viele Grüße, Habakuk
Private Nachricht senden Benutzer-Profile anzeigen
 
Andidas
Forum-Anfänger
Forum-Anfänger

Beiträge: 11
Anmeldedatum: 16.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.05.2012, 12:10     Titel:
  Antworten mit Zitat      
Hallo Leute,

ich hab zu dieser auch eine Frage:

[c,lags2]=xcorr(y,x,20,'coeff');

Wenn ich die Option 'coeff' verwende, dann sollte doch eine Normierung auf den nullten Wert stattfinden, d.h. ich müsste doch eigentlich für Lags=0 immer den Wert 1 angezeigt bekommen. Möglicherweise hab ich das falsch verstanden.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2012 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.