MATLAB Answers

EEMD(ensemble EMD)

79 views (last 30 days)
一樹 北山
一樹 北山 on 14 Sep 2021
Commented: Star Strider on 16 Sep 2021 at 14:12
I would like to decompose the waveform by using the following procedure to decompose the wav file into IMF by EMD(Empirical mode decomposition) using EEMD(ensemble EMD) code, but it does not work.
I use the following code to load the wav file into MATLAB and get EMD.
[X,fs] = audioread('sample.wav');
sound(X,fs);
t = (0:length(X)-1)/fs;
plot(t,X)
xlabel('Time(s)')
[imf,residual,info] = emd(X,'Interpolation','pchip');
hht(imf,fs)
Can you please tell me why it does not work?

Accepted Answer

Star Strider
Star Strider on 14 Sep 2021
I am not absolutely certain what the problem is, because ‘does not work’ can mean just about anything.
Note that according to the documentation, the first argument ‘x’, the time-domain signal must be ‘specified as a real-valued vector, or a single-variable timetable with a single column. If x is a timetable, x must contain increasing, finite row times.
MATLAB sound files characteristically contain 2 columns, corresponding to the left and right channels of a stereopohonic recording. If that is the situation with your ‘X’, choose one column or the other, not both, to present to the emd function.
.
  8 Comments
Star Strider
Star Strider on 16 Sep 2021 at 14:12
As always, my pleasure!
.

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!