Clear Filters
Clear Filters

Separate components of a signal using wavelet transforms

2 views (last 30 days)
Hi everyone
I am working on a project about separating different components in a mixed electrical signal. I am new to this subject so I apologize in advance if my question is too elementary.
Specifically, my mixed signal has three main components
(1) White-noise
(2) Signals from sympathetic action potentials. They fire at 4 Hz.
(3) Signals from motor units. Their frequency range is 1-5 Hz.
The signals of type (2) and (3) are not continuous: there are periods where there are none of them and the only recorded signal is the the white-noise (1). I am trying to separete (2) and (3) using discrete wavelet transforms.
I found a tutorial in matlab using MODWT.
wt = modwt(ecgsig,5);
wtrec = zeros(size(wt));
wtrec(4:5,:) = wt(4:5,:);
y = imodwt(wtrec,'sym4');
I am a bit confused about the step below. Is this step able to separate (1) from the rest of the signal. In other words, does it play the role of "denoising" the signal?
wtrec(4:5,:) = wt(4:5,:);
I would appreciate any comments and suggestions on the literature as well as the Matlab code.
Thank you for your help!

Accepted Answer

Prasanna
Prasanna on 22 Apr 2024
Hi,
The code given leverages the MODWT and the specific properties of the 'sym4' wavelet to enhance R peaks in ECG waveforms, which is valuable for cardiac signal analysis and diagnosis. By focusing on specific frequency bands that correspond to the QRS complex, the technique effectively isolates and enhances the R peaks, making them more pronounced and easier to detect in automated systems.
When you perform the operation
wtrec(4:5,:) = wt(4:5,:);
you're essentially selecting only the wavelet coefficients at scales 4 and 5 from the MODWT decomposition. This selection process is based on the understanding that:
  • Scale 4 corresponds to the frequency band [11.25, 22.5) Hz.
  • Scale 5 corresponds to the frequency band [5.625, 11.25) Hz.
These frequency bands are particularly relevant for the QRS complex, which is the most prominent feature of the ECG signal and includes the R peaks. By focusing on these scales, you're emphasizing the signal components that are most likely to represent the QRS complexes, thereby enhancing these features.
The operation does not directly "denoise" the signal in the traditional sense of removing all unwanted noise. Instead, it selectively reconstructs the signal from components that are less likely to include high-frequency noise and more likely to represent the signal of interest (i.e., the QRS complexes).
Hope this helps.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!