Clear Filters
Clear Filters

Synchronizing data from IMU and DVL

36 views (last 30 days)
I have IMU data which is at sampling rate of 123Hz, and then DVL data which is at sampling rate of 4Hz. I am requried to synchronise these two datas. I have time stamps for the sensor values. But then the time of start of both the data is not same and obviously the number of records present is also not same. How do I solve this problem? I required to use this data for estimation of Position, velocity and orientation of an AUV via sensor fusion of these two sensors.

Accepted Answer

Nandini
Nandini on 18 Jul 2023
To synchronize the IMU and DVL data, you can follow these steps:
1. Determine a common time reference: Since you have timestamps for both the IMU and DVL data, you can select a common time reference point that aligns with both datasets. This can be a specific timestamp or an event that occurred simultaneously in both datasets.
2. Resample the data: Since the sampling rates of the IMU and DVL data are different, you need to resample one of the datasets to match the sampling rate of the other. In this case, you can resample the DVL data to 123Hz to match the IMU data.
3. Align the timestamps: Once you have a common time reference and the datasets have the same sampling rate, you can align the timestamps of the IMU and DVL data. This involves finding the corresponding timestamps in both datasets that are closest to each other.
4. Perform sensor fusion: Now that the IMU and DVL data are synchronized, you can use sensor fusion techniques to estimate the position, velocity, and orientation of the AUV. Sensor fusion combines the information from multiple sensors to improve the accuracy and reliability of the estimates. Common techniques for sensor fusion include Kalman filters, particle filters, and complementary filters.
It is important to note that the synchronization process may introduce some error due to the difference in sampling rates and potential time drift between the sensors. Proper calibration and alignment of the sensors can help minimize these errors. Additionally, you may need to consider the relative orientation and position of the sensors on the AUV when fusing the data.
Overall, synchronizing the IMU and DVL data and performing sensor fusion will enable you to obtain more accurate estimates of the AUV's position, velocity, and orientation.
  3 Comments
Nandini
Nandini on 19 Jul 2023
To resample the DVL data to match the sampling rate of the IMU data, you can use the `resample` function in MATLAB. The `resample` function allows you to change the sampling rate of a signal while preserving its characteristics.
Here's an example of how you can resample the DVL data to 123Hz:
% Assuming you have the DVL data stored in a variable called 'dvlData'
% 'dvlData' represents the DVL measurements with timestamps
% Extract the timestamps and DVL measurements
timestamps_dvl = dvlData(:, 1); % Assuming timestamps are in the first column
measurements_dvl = dvlData(:, 2:end); % Assuming DVL measurements are in the remaining columns
% Resample the DVL data to 123Hz
fs_dvl = 4; % Original sampling rate of DVL data
fs_target = 123; % Target sampling rate
resampled_dvl = resample(measurements_dvl, timestamps_dvl, fs_target, fs_dvl);
% The resampled DVL data will be stored in the variable 'resampled_dvl'
In this code, the `resample` function is used to resample the DVL measurements (`measurements_dvl`) using the original timestamps (`timestamps_dvl`), the target sampling rate (`fs_target`), and the original sampling rate (`fs_dvl`). The resampled DVL data will be stored in the variable `resampled_dvl`.
After resampling the DVL data to match the sampling rate of the IMU data, you can proceed with the synchronization and sensor fusion steps as mentioned earlier.
Hope it helps you.
NISHCHALA MUKKU
NISHCHALA MUKKU on 20 Jul 2023
Thank you for your help! It worked!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!