| Algorithm 1: Multi-fused inertial signal (acc, gyro, mag) feature extraction |
|
Input: acc = acceleration data (x,y,z), gyro = gyroscope data (x,y,z), mag = magnetometer data (x,y,z), WS = window size and SR= sampling rate (100 Hz). Output: feature vector for physical healthcare activities (PHA). feature_vector ← [] window_dimension ← AcquireWindow_dimension ()/* acquire window size of inertial signal */ over_lap ← Acquirelap_time() /* Get overlapping time */ Method PHA(IMU(acc,gyro,mag)) Multi-FusedVector <- [] /* Combine inertial signal data for preprocessing*/ Filtered_Data <- MovingAverageFilter(acc, gyro, mag) /*acquire frame data from filtered data(sampled and windowed) */ Frame_Data(Filtered_Data, SR, WS) While exit condition not true do /* Extracting statistical, frequency, and acoustic features */ statistical_features <- ExtractStatisticalFeatures(Frame_Data)/* extract statistical features */ frequency_features <- ExtractFrequencyFeatures(Frame_Data)/*extract frequency-based features */ Acoustic_features <- ExtractAcousticFeatures(Frame_Data)/* extract acoustic features */ /* appending all above calculated features into one vector */ Multi-FusedVector <- [statistical_features, frequency_features, acoustic_features] end while return Multi-FusedVector |