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

Verzug zwischen 2 Signalen korrigieren

 

OneTwo

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2012, 09:36     Titel: Verzug zwischen 2 Signalen korrigieren
  Antworten mit Zitat      
Hallo,

ich habe ein Signal, dass mit unterschiedlichen Messystemen erfasst wurde. Die Abtastrate, die Auflösung und das SNR der Messsysteme ist stark unterschiedlich.

Hinzu kommt, dass das Signal einmal automatisch per Trigger aufgenommen wird, ein anderes Messystem wird von einem Menschen bedient, so dass beim Vergleich der 2 Messergebnisse immer ein unterschiedlicher Verzug zwischen dem automatisch aufgenommenen und dem manuell aufgenommenen Signal vorzufinden ist.

Kann man den Verzug automatisch korrigieren lassen?

Gruß,
Arne


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 27.07.2012, 09:42     Titel:
  Antworten mit Zitat      
Kannst du den Verzug spezifizieren...Phaseverschiebung oder Totzeit?
Private Nachricht senden Benutzer-Profile anzeigen
 
OneTwo

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2012, 11:10     Titel:
  Antworten mit Zitat      
DSP hat Folgendes geschrieben:
Kannst du den Verzug spezifizieren...Phaseverschiebung oder Totzeit?


Totzeit.
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 27.07.2012, 11:30     Titel:
  Antworten mit Zitat      
Bitte nicht so viele Infos auf einmal Wink

Wie ist denn der Signalverlauf bei der Totzeit und dem Nutzsignal...also worin unterscheiden sie sich?
Private Nachricht senden Benutzer-Profile anzeigen
 
OneTwo

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2012, 12:11     Titel:
  Antworten mit Zitat      
DSP hat Folgendes geschrieben:
Bitte nicht so viele Infos auf einmal Wink

Wie ist denn der Signalverlauf bei der Totzeit und dem Nutzsignal...also worin unterscheiden sie sich?


Okay Wink
Man muss sich das so vorstellen: aus einem angenommenen unendlichen, nichtperiodischen Signal wird automatisch durch eine Triggerbedingung zu einem Zeitpunkt t0 das Signal gemessen und zu einem Zeitpunkt t1 die Messung beendet. Gleichzeitig überwacht ein von einem Menschen getriggertes System das gleiche Signal. Entsprechend jittern bei ihm - durch den manuellen trigger die Mess-Startpunkte t0*. Was bei beiden gleich ist, ist die Messlänge, also t1-t0 = t1*-t0*. Das Signal kann jeden beliebigen Zustand einnehmen.
Ich denke, dass man in diesem Fall evtl. die Kreuzkorrelation nutzen könnte. In den Zeitbereichen, in denen beide Systeme messen, müsste zwischen beiden Signalen eine gewisse Ähnlichkeit bestehen.
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 27.07.2012, 12:51     Titel:
  Antworten mit Zitat      
Das wäre ein gute Ansatz Wink

Code:

% Testsignal;
X = [ones(1,512) zeros(1,512)];
% D um 20 Werte verschoben
D = [zeros(1,20) ones(1,512) zeros(1,512-20)];

% Kreuzkorrelation
[rDX,lags] = xcorr(D,X,'coeff');
rDX2 = corrcoef(D,X);
figure(2)
subplot(211)
stem(lags,rDX);title('Kreuzkorrelation rDX und Kreuzkovarianzfunktion cDX') ;
griD on;

% Kreuzkovarianzfunktion
[cDX,lags] = xcov(D,X,'coeff');
subplot(212)
stem(lags,cDX,'r');
griD on;
holD off;
 


Das Maximum beider Funktionen liegt jetzt genau bei 20 und stimmt somit mit der Verschiebung überein. Da kannst du nur hoffen, das dies bei deinen Signalen auch so deutlich ist, denn die Erkennung der Verschiebung aus den Daten müsste man ja auch mit einem Algorithmus umsetzen. In diesem Bsp. wäre es ja trivial.
Private Nachricht senden Benutzer-Profile anzeigen
 
OneTwo

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2012, 15:15     Titel:
  Antworten mit Zitat      
Hallo DSP,

ich habe die Lösung auf mein Problem angepasst. Wegen überlagerten Rauschen und unterschiedlichen Gain kann ich da bestimmt noch optimieren. Das Ergebnis passt schon jetzt halbwegs. Danke Smile

Arne
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 27.07.2012, 16:34     Titel:
  Antworten mit Zitat      
Ich würde mal testen, ob ein Mittelwert bereinigtes Signal nicht besser ist.


Code:

X = signal/sum(signal);
 


Rauschen kann man ja auch mit einem Filter entfernen, so lange Stör- und Nutzsignal einen unterschiedlichen Frequenzbereich haben.
Private Nachricht senden Benutzer-Profile anzeigen
 
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.