.. highlightlang:: us .. index:: NC_SynchronizeTime .. _nc_synchronizetime: NC_SynchronizeTime ================== .. us.tag NC_SynchronizeTime GERMAN nc.misc New5148 Changed5603 Die Funktion berechnet die zeitliche Verschiebung zwischen zwei Datendateien, die über der Zeit aufgenommen worden sind. Beispielsweise um die Daten von zwei Messgeräte zu synchronisieren, die von Hand ausgelöst wurden. Beide Dateien müssen jeweils einen Zeitkanal sowie eine Messgröße enthalten, die in beiden Dateien vorhanden ist, z. B. Motordrehzahl oder Fahrzeuggeschwindigkeit. Die Zeitachse muss in der gleichen Einheit, z. B. Sekunde gemessen worden sein. Die Auflösung der Zeitachse darf unterschiedlich sein. Die Zeitachse muss aber mit konstanter Abtastfrequenz erzeugt worden sein. Der Zeit-Offset wird über eine Kreuzkorrelation berechnet. Die dafür verwendeten Signale, z. B. die Motordrehzahl darf nicht konstant sein. Fall die Berechnung des Zeit-Offsets nicht möglich ist, kann der Offset vorgegeben werden. Die Funktion berücksichtigt nur die ersten 250000 Punkte der Signale für die Berechnung der zeitlichen Verschiebung. .. function:: ssNCNewFile = NC_SynchronizeTime(ssNCFile1, ssTime1, ssSyncChannel1, ssNCFile2, ssTime2, ssSyncChannel2) ssNCNewFile = NC_SynchronizeTime(ssNCFile1, ssTime1, ssSyncChannel1, ssNCFile2, ssTime2, ssSyncChannel2, bMerge) ssNCNewFile = NC_SynchronizeTime(ssNCFile1, ssTime1, ssSyncChannel1, ssNCFile2, ssTime2, ssSyncChannel2, bMerge, bInterpolate) ssNCNewFile = NC_SynchronizeTime(ssNCFile1, ssTime1, ssSyncChannel1, ssNCFile2, ssTime2, ssSyncChannel2, bMerge, bInterpolate, bUseOffset) ssNCNewFile = NC_SynchronizeTime(ssNCFile1, ssTime1, ssSyncChannel1, ssNCFile2, ssTime2, ssSyncChannel2, bMerge, bInterpolate, bUseOffset, rsOffset) ssNCNewFile = NC_SynchronizeTime(ssNCFile1, ssTime1, ssSyncChannel1, ssNCFile2, ssTime2, ssSyncChannel2, bMerge, bInterpolate, bUseOffset, rsOffset, nUseTimeChannel) ssNCNewFile = NC_SynchronizeTime(ssNCFile1, ssTime1, ssSyncChannel1, ssNCFile2, ssTime2, ssSyncChannel2, oParameter) .. us.return **Returnwert** Ist der Name der synchronisierten NC-Datei oder ein leerer String, falls ein Fehler aufgetreten ist. .. us.params **Parameter** .. uparam:: ssNCFile1 *ssNCFile1* ist der Name einer NC-Datei. .. uparam:: ssTime1 *ssTime1* ist der Name des Zeitkanals von Datei 1. .. uparam:: ssSyncChannel1 *ssSyncChannel1* ist der Name des Signals von Datei 1. .. uparam:: ssNCFile2 *ssNCFile2* ist der Name einer NC-Datei. .. uparam:: ssTime2 *ssTime2* ist der Name des Zeitkanals von Datei 2. .. uparam:: ssSyncChannel2 *ssSyncChannel2* ist der Name des Signals von Datei 2. .. uparam:: oParameter Ist ein Objekt mit den folgenden optionalen Elementen: .. list-table:: :header-rows: 1 * - Element - Default Wert - Beschreibung * - bMerge - TRUE (1) - Falls *bMerge* TRUE (1) ist, werden die Kanäle der beiden Dateien in ein Datei kopiert. * - bInterpolate - TRUE (1) - Falls *bInterpol* TRUE (1) ist, werden alle Kanäle auf ein Zeitraster interpoliert. * - bUseOffset - FALSE (0) - Falls *bUseOffset* TRUE (1) ist, kann die zeitliche Verschiebung zwischen den beiden Zeitkanälen im Parameter *rsOffset* in der Einheit der Zeitkanäle angegeben werden. Falls *bUseOffset* FALSE (0) ist, wird die zeitliche Verschiebung mit Hilfe einer Kreuzkorrelation berechnet. * - rsOffset - kein Defaultwert - Ist der zeitliche Offset. Wird verwendet, wenn *bUseOffset* gleich TRUE (1) ist. Dann erfolgt keine Berechnung der Verschiebung. * - nUseTimeChannel - 0 - Der Parameter nUseTimeChannel legt fest, auf welchen Zeitkanal die Daten interpoliert werden sollen. Für den Wert 0 wird ein Dialogfeld angezeigt, in dem der Zeitkanal ausgewählt werden kann. Beim Wert 1 wird der Zeitkanal1 *ssTime1* und beim Wert 2 der Zeitkanal2 *ssTime2* verwendet. * - rsXStartSync - nicht definiert - Der Parameter soll nur angegeben werden, wenn nur ein Ausschnitt der Daten für die Berechnung der zeitlichen Verschiebung berücksichtigt werden soll. Der Wert so angegeben, als og die Daten bei 0 beginnen. * - rsXEndSync - nicht definiert - Der Parameter soll nur angegeben werden, wenn nur ein Ausschnitt der Daten für die Berechnung der zeitlichen Verschiebung berücksichtigt werden soll. Der Wert so angegeben, als og die Daten bei 0 beginnen. Wenn ein Ausscnitt definiert werden soll, müssen beide Parameter angegeben werden. .. uparam:: bMerge Falls *bMerge* TRUE (1) ist, werden die Kanäle der beiden Dateien in ein Datei kopiert. Default-Wert ist TRUE (1). .. uparam:: bInterpolate Falls *bInterpol* TRUE (1) ist, werden alle Kanäle auf ein Zeitraster interpoliert. Default-Wert ist TRUE (1). .. uparam:: bUseOffset Falls *bUseOffset* TRUE (1) ist, kann die zeitliche Verschiebung zwischen den beiden Zeitkanälen im Parameter *rsOffset* in der Einheit der Zeitkanäle angegeben werden. Falls *bUseOffset* FALSE (0) ist, wird die zeitliche Verschiebung mit Hilfe einer Kreuzkorrelation berechnet. Default-Wert ist FALSE (0). .. uparam:: rsOffset Ist der zeitliche Offset. Wird verwendet, wenn *bUseOffset* gleich TRUE (1) ist. Default-Wert ist 0. .. uparam:: nUseTimeChannel Der Parameter nUseTimeChannel legt fest, auf welchen Zeitkanal die Daten interpoliert werden sollen. Für den Wert 0 wird ein Dialogfeld angezeigt, in dem der Zeitkanal ausgewählt werden kann. Beim Wert 1 wird der Zeitkanal1 *ssTime1* und beim Wert2 der Zeitkanal2 *ssTime2* verwendet. Default-Wert ist 0. .. us.example **Beispiel** :: bMerge = TRUE bInterpolate = TRUE bUseOffset = FALSE rsOffset = 0 nUseTimeChannel = 1; ssNC1 = auto_ImportData("c:/a.xls") ssNC2 = auto_ImportData("c:/b.xls") ssNCNew = NC_SynchronizeTime(ssNC1, "Zeit", "nmot", ... ssNC2, "Zeitstempel_QP1", "Drehzahl", ... bMerge, bInterpolate, bUseOffset, rsOffset, nUseTimeChannel); if (ssNCNew == "") { // Fehler } **Beispiel2** :: oParameter = [.]; oParameter.bMerge = TRUE; oParameter.bInterpolate = FALSE; oParameter.bUseOffset = FALSE; oParameter.rsOffset = 0; oParameter.nUseTimeChannel = 1; oParameter.rsXStartSync = 0.0; oParameter.rsXEndSync = 100.0; ssNC1 = auto_ImportData("c:/a.xls") ssNC2 = auto_ImportData("c:/b.xls") ssNCNew = NC_SynchronizeTime(ssNC1, "Zeit", "nmot", ... ssNC2, "Zeitstempel_QP1", "Drehzahl", ... oParameter); if (ssNCNew == "") { // Fehler } .. us.history **History** .. list-table:: :header-rows: 1 * - Version - Beschreibung * - R2014.3 - Neuer Parameter oParameter * - 5.14.8 - Neu. .. seealso:: :ref:`uberblick-netcdf-dateien`, :ref:`filemore-file-functionssynchronize-data-files` :ref:`dateidaten-exportieren`, :ref:`nc_create` :sub:`id-653736`