I am a researcher mainly focusing on low-cost raspberry shake sensors for delivering EEW using community engagement. For the project, at the moment, I am working on comparing three different installation methods and using the shake table, I am comparing the results obtained. The main focus of the study is to select the best installation method for the raspberry shake sensor. However, when comparing the results, even though I sliced the mini seed file using the exact start and end time, I could see a few milliseconds lags in the waveform between my three setups. Could you please let me know how to overcome it? I have attached a figure for your attention.
Thanks in advance
This is a very interesting project! As you are working with multiple Shakes, I would recommend synchronizing the timing of the same different devices via a single PC server. We have some documentation here on our manual, on the dedicated NTP page: NTP and GPS timing details — Instructions on Setting Up Your Raspberry Shake
The computer that would run the local NTP server can be any computer whatsoever: a regular PC, a laptop, or even another Raspberry Pi.
The basic idea behind this is that you have a local computer that has two things:
- a connected GPS device/constant internet connection that governs the HW clock on this computer
- running an NTP
server (not the client daemon) to which a Shake Pi will connect to use as its NTP server
In this way, you will have a single NTP server that will regulate the timing of all the connected devices instead of having multiple NTP connections for each device. This will give you an improved level of accuracy, ensuring that all your devices are in synchro with each other, and all their data can be promptly used together without the need to check for the aforementioned synchronization.
Just a note on NTP - which you may already be aware of.
NTP is designed to work over the Internet, synchronizing clocks on systems which may be hundreds or thousands of miles from the master clock over varying speed and quality connections.
It makes changes to the local clock in small increments, speeding it up and slowing it down to bring it into (eventual) sync with the master. Those changes converge on a final clock frequency which is monitored for drift and corrective action taken if any is detected.
The master clock is initially sampled at 64s intervals, slowly increasing to 1024s intervals.
It can take several hours for the steady state to be reached.
If time synchronization is really important (as in your case) a good first step is the one described by Stormchaser - your own local “master”. This will have less network delays and jitter, and so help improve the settle/convergence time of the R-PI’s clocks.
You should also leave your 'Shakes running. If you have to stop them, give them as long as possible before running your tests - preferably overnight.
In this paper “Structural health monitoring of South America’s first 6-Story experimental light-frame timber-building by using a low-cost RaspberryShake seismic instrumentation”, Engineering Structures, Volume 275, Part B, January 2023, one raspberry pi 3B+ provides a local NTP server for the RS4Ds to stay in sync.
If you use one shake table, RS4D must be directly anchored to it.
The use of a plate can eventually add damping and vibration frequency of the plate
Here’s an alternative (off the wall) possibility for synchronisation problems:
Are you using Matlab?
If so, which routine are you using for reading the mseed file?
If it’s ReadMSEEDFast or the GISMO package, be aware that the times can be up to a second out because of a truncation bug in the routine.
Thanks everyone for your prompt response. As suggested by @Stormchaser I designed a dedicated clock within my local area network using the chrony NTP for mac. I have attached an image after synchronisation for your attention.
Once again, thanks,
Amazing job chanthuj, happy to have been of help!
The final image definitely speaks for itself.