MATLAB: A composite signal is defined as: x(t) = sin(2*pi*10*t) + sin(2*pi *40*t) + sin(2*pi *60*t) + sin(2*pi *50*t). Separate the four frequencies without using any of the transform techniques.

filterfir

Which Filtering should i employ for this question? Almost all filtering techniques employ fft in one way or the other, Is there any other way?

Best Answer

My way is all about converting this expression to a equivalent transfer function and let you see the frequency peaks in Bode plot. The following code does the trick:
syms t
x=sin(2*pi*10*t)+sin(2*pi*40*t)+sin(2*pi*50*t)+sin(2*pi*60*t);
Xs=laplace(x);
XsTf=syms2tf(Xs);
opts=bodeoptions;
opts.FreqUnits='Hz';
bode(XsTf,opts)
The first two line defines the x expression symbolically. Then, I took the laplace transform of the expression and the converted it to transfer function(the attached syms2tf function does it). Afterwards, since I obtain a transfer function expression, I expect to see peaks at those frequencies in Bode Plot and the attached figure contains it. Hope this helps to you.
Related Question