WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Autokorrelationsberechnungen über xcorr() Problem

 

djagon
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 03.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.06.2010, 15:20     Titel: Autokorrelationsberechnungen über xcorr() Problem
  Antworten mit Zitat      
Liebes Forum,

ich habe ein grundsätzliches Problem bei der Berechnung der Autokorrelation eines Sprachsignals...ich fange mal bei einem ganz einfachen Sachverhalt an und zwar: Wenn ich die Autokorrelation eines Signals, das konstant 1 ist berechne per xcorr bekomme ich als ergebnis ein Dreieck, siehe angehängte Grafik. Das heißt für mich, dass Matlab an das Signal nullen anhängt und damit vergleicht anstatt nur die sich überschneidenden Abschnitte des Signal zu vergleichen. Rein theoretisch soll doch als Autokorrelation eine konstante 1 wieder herauskommen...? So bringen mir dann meine Berechnungen im Sprachbereich natürlich nichts, wenn schon da so ein gravierender Fehler drin steckt. Benutze ich die falsche Funktion ?? Wer kann mir helfen, bin um jede Idee dankbar !!

Gruß

Julian

untitled.jpg
 Beschreibung:
verwendeter matlab code:

test = ones(1,100);
plot(xcorr(test, 'coeff'));

Download
 Dateiname:  untitled.jpg
 Dateigröße:  13.19 KB
 Heruntergeladen:  1192 mal
Private Nachricht senden Benutzer-Profile anzeigen


eisvogel_2

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.06.2010, 11:37     Titel: Re: Autokorrelationsberechnungen über xcorr() Problem
  Antworten mit Zitat      
djagon hat Folgendes geschrieben:
Rein theoretisch soll doch als Autokorrelation eine konstante 1 wieder herauskommen...?



Hallo Julian,

nein, nicht ganz. Ein "Quasi-Dreieck" als Resultat von xCorr(ones(1,100), ones(1,100)) ist zu erwarten. Soweit ich das verstanden haben ergibt die Autokorrelation zu genau den Verschiebungszeiten eine 1 (vorausgesetzt, sie wurde normiert: 'coef') an Dein Signal sich exakt wiederholt.

Oder anders ausgedrückt, wenn Du eine Autokorrelation durchführst und dann zum Beispiel einen recht hohen Peak bei z.B. x=2 sec fändest, so würde Dir das sagen, dass Dein Signal nach zwei Sekunden wieder selbstähnlich wird. Das ließe Dich dann vermuten, dass Dein Signal möglicher weise immer aus Stücken von zwei Sekunden Länge bestände, die sich relativ gleichförmig wiederholten. (Achtung: dieser letzte Satz ist lediglich eine berechtigte Hypothese aus der Findung eines Peaks, keine unmittelbare Tatsache).

Ich kann nicht beurteilen wie viel Du über Autkorrelationen weißt oder nicht, aber wenn ich Dir etwas empfehlen dürfte, so würde ich Dir etwas mehr Literatur zum Thema Autokorrelation nahe legen wollen.

eisvogel
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button 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.