I am trying to compare two time series produced by the Muse. Both are obviously recorded at different times, but I want them to have the same time scale so as to compare t = beginning, t+1 unit, t+2 units, t+3 units, and so on. When I print out the values given by the headband, I usually get a series of time stamps that are irregular. Some time stamps have more than data point associated with it. In this case, I take the average of the values. After doing that, I notice that the time intervals are not equally spaced. For example, my last run had time elapsed intervals of .009 seconds, .065 seconds, .001 seconds, and so on. Is there any way to get regular spaced intervals? Thanks! - Kate
I apologize for the very late response. Hopefully you’ve already found the answer, but I will post it here for completeness.
The headbands are sampling at an even 220Hz, however we can’t send perfect timestamps for each sample on the headband. What you see on the receiving end is a timestamp of the parse. Since the packets come with chunks of data you will see several very close timestamps and then a larger gap while waiting for the next packet.
The good news is assuming even 220Hz is very reasonable so you can take all your samples and redistribute the timestamps to be evenly spaced for each sample.
The bad news is you might have a slight offset if you’re comparing two live streaming Muse. The offset should definitely be less than a second however which should be sufficient for comparing two users for most applications.
We do hope to improve the time stamping output in the future.
Hope that helps.