what does the notation ( ' ) in the time sample t = (0:dt:0.002-dt) ' mean ??and thanks in advance
Afficher commentaires plus anciens
Fs = 800e3;
dt = 1/Fs;
t = (0:dt:0.002-dt)';
Fm = 5000;
y = cos(2*pi*Fm*t);
figure;
plot(t,y);
Réponse acceptée
Plus de réponses (1)
Wayne King
le 17 Déc 2013
Modifié(e) : Wayne King
le 17 Déc 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 commentaires
abdalrahman elhaw
le 17 Déc 2013
Modifié(e) : abdalrahman elhaw
le 17 Déc 2013
Wayne King
le 17 Déc 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
le 17 Déc 2013
Wayne King
le 17 Déc 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
le 18 Déc 2013
Catégories
En savoir plus sur Descriptive Statistics dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!