///<summary> A method for using a Butterworth filter to filter the triceps EMG samples. </summary> ///<param name="triceps_samples"> A pointer to an array of triceps EMG samples. </param> ///<param name="previous_triceps_samples"> A pointer to an array, with length of the filter order, of previous triceps EMG samples. </param> ///<returns> A pointer to an array of filtered triceps EMG data. </returns> public List <double> FilterEMG(ref List <double> emg_samples, ref List <double> previous_emg_samples) { List <double> highpassed_emg = emg_highpass_filter.process(ref emg_samples, ref previous_emg_samples, emg_samples.Count); List <double> filtered_emg = emg_lowpass_filter.process(ref highpassed_emg, ref previous_emg_samples, emg_samples.Count); return(filtered_emg); }
public List <double> LinearEnvelope(ref List <double> emg_samples, ref List <double> previous_emg_samples) { List <double> filtered_emg = linear_envelope_filter.process(ref emg_samples, ref previous_emg_samples, emg_samples.Count); return(filtered_emg); }
///<summary> A method for using a Butterworth filter to filter the angle samples. </summary> ///<param name="angle_samples"> A pointer to an array of angle samples. </param> ///<param name="previous_angle"> A pointer to an array, with length of the filter order, of previous angle samples. </param> ///<returns> A pointer to an array of filtered angle data. </returns> public List <double> FilterPosition(ref List <double> angle_samples, ref List <double> previous_angle_samples) { List <double> filtered_angle = position_filter.process(ref angle_samples, ref previous_angle_samples, angle_samples.Count); return(filtered_angle); }