what does the notation ( ' ) in the time sample t = (0:dt:0.002-dt) ' mean ??and thanks in advance
Show older comments
Fs = 800e3;
dt = 1/Fs;
t = (0:dt:0.002-dt)';
Fm = 5000;
y = cos(2*pi*Fm*t);
figure;
plot(t,y);
Accepted Answer
More Answers (1)
Wayne King
on 17 Dec 2013
Edited: Wayne King
on 17 Dec 2013
What makes you say the spectrum is not correct?
Fs = 800e3;
dt = 1/Fs;
t = (0:dt:0.002-dt);
Fm = 5000;
y = cos(2*pi*Fm*t);
ydft = fft(y);
ydft = ydft(1:length(y)/2+1);
df = Fs/length(y);
freqvec = 0:df:Fs/2;
plot(freqvec,abs(ydft))
It is exactly what I would expect.
5 Comments
abdalrahman elhaw
on 17 Dec 2013
Edited: abdalrahman elhaw
on 17 Dec 2013
Wayne King
on 17 Dec 2013
Well for one thing I see in the above you have the sampling frequency set to 1000 Hz. I don't know what values you eventually provide for all your input() statements, but I see from your xlabel() in kHz that you are way undersampling the signal -- you are going to alias the output. You can't have a carrier frequency in the kHz range when the sampling frequency is only 1 kHz.
abdalrahman elhaw
on 17 Dec 2013
Wayne King
on 17 Dec 2013
because you have called fftshift which centers the DC component in the middle so the spectrum runs from -Fs/2 to Fs/2 in increments of df
abdalrahman elhaw
on 18 Dec 2013
Categories
Find more on Descriptive Statistics 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!