Sensorgegevens synchroniseren

Stel dat ik meerdere dataloggers heb die sensorgegevens ontvangen, hoe kan ik die signalen daarna synchroniseren? De meest voor de hand liggende manier is het toevoegen van tijdstempels aan de gegevens, maar ze hebben onafhankelijke klokken, dus ik kan de signalen niet echt synchroniseren, zelfs met die tijdstempels.

Zou het mogelijk zijn om hiervoor een kleine satelliet-tijdchip te gebruiken, zodat de postzegels allemaal van dezelfde bron komen? Of hoe zou je dit oplossen?

4

1 antwoord

Voor onafhankelijke nauwkeurige klokken kunt u GPS-ontvangers of de ontvangers met lange golftijd proberen, zoals voor WWVB.

Een andere optie is om redelijke kristaloscillators op elke eenheid te plaatsen en ze te synchroniseren als onderdeel van het proces voor het uploaden van gegevens. Het systeem dat de gegevens ontvangt, kent de huidige absolute tijd en extrapoleert naar achteren met de huidige tijd- en tijdstempels van de datalogger. Als het de absolute tijd van de laatste upload weet, kan het proberen om elke fout die het gelijk vindt tijdens het laatste interval te verspreiden.

Meer informatie over de tweede oplossing:

Je kunt een behoorlijk behoorlijke relatieve tijdmeting in elke datalogger zetten. 32768 Hz "watch" -kristallen zijn bijvoorbeeld goedkoop, laag vermogen en beschikbaar met een goede nauwkeurigheid. Je kunt gemakkelijk een goede tot 20 ppm krijgen.

Laten we zeggen dat gegevens ongeveer een keer per maand uit elke eenheid worden geüpload. Tussen uploads, noteert het toestel elk gegevensrecord van zijn lokale klok. Deze tijdstempels zijn niet in realtime gesynchroniseerd, maar hebben een accumulatiefout van maximaal 20 ppm ten opzichte van elkaar. 20 ppm in één maand is ongeveer één minuut.

De computer die de geüploade gegevens ontvangt, kent de realtime tijd en de huidige tijd van de datalogger en kan daarom bepalen hoe terug te werken om de werkelijke tijd van elk van de gegevensrecords te vinden met een fout tot 20 ppm achteruit. De oudste gegevens van een maand geleden zijn bijvoorbeeld slechts binnen ongeveer 1 minuut bekend. De gegevens van een halve maand geleden tot binnen een halve minuut, enz. Als 1 minuut fout acceptabel is, hoeft er weinig meer te worden gedaan.

Door de real-time van de uploadgebeurtenis op te slaan en deze natuurlijk op de gebruikelijke manier te timestampen, kan de fout in het slechtste geval aanzienlijk worden verminderd. Dit vereist slechts het schrijven van een enkele gebeurtenis in het logboek na elke upload. Dit is de eerste gebeurtenis in het logboek bij de volgende upload. Bij elke upload weet u de absolute tijd aan het begin en einde van de uploadgegevens. De worst case afwijking van een bekende tijd bevindt zich nu in het midden van de uploadperiode, die slechts een halve maand van een referentie is, of slechts ongeveer een halve minuut uit.

Nog beter is dat de fout nu onafhankelijk is van de absolute fout van de lokale klok. Tijdfouten zijn alleen afhankelijk van verschuivingen in de lokale klokfrequentie. Aangezien u de real-time aan het begin en het einde van de uploadgegevens kent, kunt u bepalen hoe snel of langzaam de lokale klok in die tijd liep en er rekening mee houden. Als de lokale oscillator bijvoorbeeld de hele tijd precies 20 ppm snel was, zullen de tijdstempels een periode van 1 minuut langer zijn dan de bekende tijd tussen het begin en het einde van de gegevens. Als u de tijdstempelfout lineair vergelijkt zodat de uiteinden passen (aangezien ze bekend zijn), zijn de gegevens in het midden exact zolang de lokale oscillator niet is gewijzigd. In het midden van de maand trek je ongeveer een halve minuut af, enz.

Kristallen worden vaak gespecificeerd voor een absolute fout en een relatieve fout in de loop van de tijd. Met het tweede schema wordt de absolute fout geannuleerd. Elke resterende tijdfout is slechts een functie van hoeveel de kristallen zijn veranderd in de afgelopen maand, wat aanzienlijk minder kan zijn dan de gemiddelde absolute fout.

6
toegevoegd
Uw tweede alinea is een eenvoudige en effectieve oplossing. Het zou heel gaaf zijn als je je beschrijving zou kunnen uitbreiden, zodat een meer beginner het kan volgen. Vooral het deel over "als het de absolute tijd van de laatste upload kent ..." Zelfs dan, +1.
toegevoegd de auteur user3624, de bron
Stoer. Ik zou je opnieuw +1 geven, maar dat laat ik natuurlijk niet.
toegevoegd de auteur user3624, de bron
@David: detail toegevoegd.
toegevoegd de auteur Olin Lathrop, de bron