I have multiple, fixed, identical sensors, each monitoring a different room, throughout a day. The sensors produce data as pairs: integer value and timestamp. The sensors capture data at varying time intervals (based on the local condition variations) producing on average 10000 samples per day.
Another sensor (connected to a mobile unit, sensor similar to the fixed ones above) is used to capture data all day and it sometimes enters a room that has a fixed sensor, but I do now know which room. A mobile sensor can visit multiple rooms. Therefore we have data for the mobile unit in the rooms with sensors and in other areas with no sensors.
Considerations: - I have a pretty good timestamp on the mobile sensor data (max. a few seconds – introduced by the clock sync really); - While in a room, the mobile sensor will give similar but not identical results with the fixed sensor placed in the room. -The mobile sensor data is collected / downloaded to be analyzed at the end of the day.
The question: What is the best way to proceed in determining the rooms where the mobile sensor has entered? I am looking for an algorithm not a specific implementation, but if you have any, C# would be nice.
My idea: I have split the mobile sensor data in small chunks (about 5 minutes that I have determined to be the minimum time range to distinguish between data sets) then, for each chunk I have used a correlation function to compute the correlation coefficient (as seen here: Correlation of two arrays in C#) between the mobile and the fixed sensor data at that time position (I run +/- a few seconds and get the best value to handle the possible lag). This works but I was wondering if there is another (better way) to proceed?
@moderators I am not entirely sure that this is entirely a programming question, please feel free to move it to the correct forum if necessary. Thanks!