Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
FFT on MATLAB with Graphical Illustration

Subject: FFT on MATLAB with Graphical Illustration

From: Kola Ogidi

Date: 23 May, 2009 19:32:01

Message: 1 of 3

Hello,

I am trying to produce the FFT for a 16Hz sine wave sampled at 1024Hz on MATLAB and also illlustrate this graphically on MATLAB.

I have tried the following code:
fs=1024;
f=16;
t1=0;
tstep=(1/1024);
t2=4/1024;
t=[t1:tstep:t2];
x=sin(2*pi*f*t);
X=fft(x);
Sampleresp=abs(X);
N=length(X);
F=[0:N-1]*fs/N;
stem(F,Sampleresp);

However, my output figure is not showing a peak at 16Hz as I expect. Could you please explain to me what changes I need to make to my code to yield the correct output/graph.

Thank you.

Subject: FFT on MATLAB with Graphical Illustration

From: Sadik

Date: 23 May, 2009 20:09:02

Message: 2 of 3

Please replace line starting with t2 by the following:

t2 = 63/1024;

This is because, although we think that we have only one period of the signal, in the discrete world, things are considered to be periodic. Therefore, you should have a full period of your sine wave. Your period is T = 1/16 which is equal to 64/1024. But since you started from 0/1024, which will have the identical signal amplitude with 64/1024, we will exclude 64/1024 and end the sequence at 63/1024.



"Kola Ogidi" <jreal_kkoo@hotmail.com> wrote in message <gv9ivh$97d$1@fred.mathworks.com>...
> Hello,
>
> I am trying to produce the FFT for a 16Hz sine wave sampled at 1024Hz on MATLAB and also illlustrate this graphically on MATLAB.
>
> I have tried the following code:
> fs=1024;
> f=16;
> t1=0;
> tstep=(1/1024);
> t2=4/1024;
> t=[t1:tstep:t2];
> x=sin(2*pi*f*t);
> X=fft(x);
> Sampleresp=abs(X);
> N=length(X);
> F=[0:N-1]*fs/N;
> stem(F,Sampleresp);
>
> However, my output figure is not showing a peak at 16Hz as I expect. Could you please explain to me what changes I need to make to my code to yield the correct output/graph.
>
> Thank you.

Subject: FFT on MATLAB with Graphical Illustration

From: Kola Ogidi

Date: 23 May, 2009 20:51:01

Message: 3 of 3

Thank you so very much, Sadik. My output figure is now showing a peak at approximately 16Hz. I believe I just need to tweak around with the MATLAB equivalent for zoom to confirm my results. Thanks again.
 
Kola

Tags for this Thread

No tags are associated with this thread.

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us