# Signal Decomposition for a mixed signal

73 views (last 30 days)

Show older comments

Hi friends,

Suppose we have a mixed signal X composed of three component signals x1, x2, and x3:

t=0:0.00001:0.3;

x1=(exp(-3*t)).*(0.2*sin(2*pi*400*t));

x2=1.2+(exp(-1.5*t)).*(1.1*sin(2*pi*40*t+pi/6));

x3=(exp(-5*t)).*(0.8*sin(2*pi*75*t+pi/3));

X=x1+x2+x3;

subplot(4,1,1);

plot(t,x1);title('Component signal: x1');

subplot(4,1,2);

plot(t,x2);title('Component signal: x2');

subplot(4,1,3);

plot(t,x3);title('Component signal: x3');

subplot(4,1,4);

plot(t,X);title('Mixed signal: X=x1+x2+x3');

Now, inversely, how can we obtain the samples of the three component signals x1, x2, and x3 without any additional information except the samples of the mixed signal X?

I would be very grateful if anyone could provide a code or efficient technique for this challenging example.

Thanks in advance for your help.

Note: Unfortunately, the ICA package and also the function emd() did not lead to a desired result. Is there any other practical solution for this example?

##### 5 Comments

### Accepted Answer

Ridwan Alam
on 19 Dec 2019

t=0:0.00001:0.3;

x1=(exp(-3*t)).*(0.2*sin(2*pi*400*t));

x2=1.2+(exp(-1.5*t)).*(1.1*sin(2*pi*40*t+pi/6));

x3=(exp(-5*t)).*(0.8*sin(2*pi*75*t+pi/3));

X=x1+x2+x3;

fs = 1/.00001;

z1 = highpass(X,350,fs);

z3 = bandpass(X,[60 100],fs);

z2 = X - (z1 + z3);

Z = z1 + z2 + z3;

##### 3 Comments

Srivatsa Dasa
on 2 Apr 2022

### More Answers (0)

### See Also

### Community Treasure Hunt

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

Start Hunting!