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

Geschwindigkeitsmessung mittels Kreuzkorrelation

 

Chloe
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 15.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.10.2014, 10:12     Titel: Geschwindigkeitsmessung mittels Kreuzkorrelation
  Antworten mit Zitat      
Hallo,

ich bin grad mit meinem Projekt, 'Geschwindigkeitsmessung mittels Kreuzkorrelation' beschäftigt, in dem man für 2 Signale, (die von zwei Sensoren mit Abstand 0.064 m bei der Bewegung eines Fahrzeuges erzeugt werden) die Kreuzkorrelation und somit die Geschwindigkeit bestimmt.

Meine Idee ist als Anfang nun Frame by Frame die Korrelation, max-wert, time-lag und somit die Geschwindigkeit auszurechnen, also Vektor mit länge num_frames: jedes Frame-ein Geschw.wert. SO etwa :

signal1 = load('...'); %hier die 2 Messwerte
signal2 = load('...');

a=0.064;
fs = 2000; &frequenz pro sec
N = length(signal1); %length(signal1)=length(signal2) = 90001
insg_sec = N/fs ; %Signal in sec (4,5005 sec)

frame_duration=0.1; %länge eines fensters in sec
frame_len=frame_duration*fs;
num_frames=floor(N/frame/len);

for k1=1:num:_frames
k2=1:num_frames
frame1=signal1((k1-1)*frame_len+1:frame_len*k1);
frame2=signal2((k2-1)*frame_len+1:frame_len*k2);
[C21, lag1]=xcorr(frame1, frame2, 'coeff'); % kreukorrelation für jedes Fenster
[~,Index] = max(C21); %finde max-value
time_lag=abs(lag1(Index))./fs;
new_frame(k)=a./time_lag; %Gesw.wert
end

....

Mathematisch gesehen wird diese Methode auch nicht optimal sein, da es dazu kommen könnte, dass die eigetliche Korrelation erst in dem Nachbarn-Frame stattfindet usw.. Ich habe mir noch überlegt, ich mache dann nur ein Fenster mit Länge 0.2 sec und Schrittweite z.B 0.15..

Hier bin ich leider stehengeblieben. Ich bin nicht so ein Matlab-Profi, deswegen wende ich mich an euch und bitte um Hilfe.
Hat jemand vlt Idee, wie könnte man das Program effizienter schreiben, damit das Ganze ein Sinn macht und bei der Bewegung des Fahrzeuges immer die Geschwindigkeit angezeigt wird?
Ich werde auch die tatsächlich gemessenen Signale hochladen (Signal1, Signal2), mir den man leider nicht so gut arbeiten kann, vlt hat jemand eine Idee was so schief geht. Wenn ich andere einfache Messwerte nehme: z.b test2_1 und test2_2 funktionisert es wieder...
ich bin schon ein wenig verwirrt

Danke im Voraus !

Signal1.txt
 Beschreibung:

Download
 Dateiname:  Signal1.txt
 Dateigröße:  171.63 KB
 Heruntergeladen:  734 mal
Signal2.txt
 Beschreibung:

Download
 Dateiname:  Signal2.txt
 Dateigröße:  171.61 KB
 Heruntergeladen:  709 mal
test2_2.txt
 Beschreibung:

Download
 Dateiname:  test2_2.txt
 Dateigröße:  3.42 KB
 Heruntergeladen:  669 mal
test2_1.txt
 Beschreibung:

Download
 Dateiname:  test2_1.txt
 Dateigröße:  3.42 KB
 Heruntergeladen:  683 mal
Private Nachricht senden Benutzer-Profile anzeigen


apopesc

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.03.2019, 12:10     Titel:
  Antworten mit Zitat      
Hallo,
gibt es dazu eine weitere Lösung?
 
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.