In projects involving the use of Electromyography, it can be useful to generate artificial (synthesized) EMG signals to create datasets with controlled conditions, including the level of noise, location and amplitude of muscle activity bursts, which can, for example, accelerate training and testing of machine-learning models for onset detection across a wide variety of signal conditions.
To address this, two functions were added to BioSPPy: "synthesizers.emg.synth_uniform" and "synthesizers.emg.synth_gaussian". These functions generate a synthetic EMG signal of a given duration and sampling rate, where muscle activity bursts are modeled as an uniform distribution and a zero-mean Gaussian process, respectively. An auxiliary function, "synthesizers.emg._truncated_gaussian_window", was also added, which generates a truncated Gaussian window, used in "synthesizers.emg.synth_gaussian" to model the amplitude of the muscle activity bursts.
In projects involving the use of Electromyography, it can be useful to generate artificial (synthesized) EMG signals to create datasets with controlled conditions, including the level of noise, location and amplitude of muscle activity bursts, which can, for example, accelerate training and testing of machine-learning models for onset detection across a wide variety of signal conditions.
To address this, two functions were added to BioSPPy: "synthesizers.emg.synth_uniform" and "synthesizers.emg.synth_gaussian". These functions generate a synthetic EMG signal of a given duration and sampling rate, where muscle activity bursts are modeled as an uniform distribution and a zero-mean Gaussian process, respectively. An auxiliary function, "synthesizers.emg._truncated_gaussian_window", was also added, which generates a truncated Gaussian window, used in "synthesizers.emg.synth_gaussian" to model the amplitude of the muscle activity bursts.
Preview of the synthesized signals: