Two-side spectrum in Matlab
Show older comments
Dear my colleagues, I am a new user of Matlab. Now, I have a signal like x(t) = A1*sin(2*pi*f1*t) + A2*sin(-2*pi*f2*t), where f1, f2>0. Could anyone please show me whether I could obtain the spectrum of x in which frequency f2 is present only as a negative frequency of two-side spectrum (normally, f2 will appear in both sides of Matlab's FFT)?
Thank you very much.
Lomath.
Accepted Answer
More Answers (1)
Youssef Khmou
on 3 Nov 2013
You can start by many tutorials, each offers a different approach to the DFT problem, in terms of resolution and amplitude estimation, i wrote a 2 sided example for you , verify it :
Fs=40;
Ts=1/Fs;
t=0:Ts:10-Ts;
f1=4;f2=15;
y=sin(2*pi*t*f1)+sin(2*pi*t*f2);
N=length(y);
F=fft(y);
fr=(-N/2:N/2-1)*Fs/(N);
figure, plot(fr,abs(F))
xlabel(' frequency Hz')
4 Comments
Hoang
on 3 Nov 2013
Youssef Khmou
on 3 Nov 2013
Hoang, it is not possible to have f1 on the right and f2 on the left, the frequency is positive metric, fi{i=1,2,..} is >0 and the spectrum is two sided,
Unless you are talking about new concept of negative frequency, you have to provide some evidence .
Hoang
on 3 Nov 2013
Renan Ribeiro
on 15 Oct 2018
Sorry to revive the post, but the given code did not work with me (maybe I am messing something). The code given in this post worked just fine.
Categories
Find more on Discrete Fourier and Cosine Transforms in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!