Plot discrete fourier transform of a sine wave
20 views (last 30 days)
Show older comments
Cynthia Lucy
on 10 May 2021
Commented: Star Strider
on 10 May 2021
Hi, I want to plot the sampled signal in frequency domain which means I need to use the discrete fourier transform, right? But when I run the code below I only get the display of sampled signal in discrete time domain and an error saying vector lengths must match came out on the command window. What does this mean? And what should be fixed? Please help me.
%chap1-38a
f = 6000;
fs = 16000;
w = 2*pi*(f/fs);
n = 0:50;
y = sin(w.*n);
subplot(2,1,1);
stem(n,y);
f = -fs/2:fs/(N-1):fs/2;
z = fftshift(fft(x));
subplot(2,1,2);
plot(f,abs(z));
The display when I run the code.

0 Comments
Accepted Answer
Star Strider
on 10 May 2021
Try this —
f = 6000;
fs = 16000;
w = 2*pi*(f/fs);
N = 50;
n = 0:N;
y = sin(w.*n);
subplot(2,1,1);
stem(n,y);
f = -fs/2:fs/(N):fs/2;
z = fftshift(fft(y));
subplot(2,1,2);
plot(f,abs(z));
I will let you discover the changes I made that are necessary to make it run!
2 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!