Skip to main content
. 2020 Nov 21;20(22):6670. doi: 10.3390/s20226670
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