Guidance with DFT Transform

1 view (last 30 days)
Moshe
Moshe on 29 Apr 2016
Edited: Moshe on 30 Apr 2016
I need help with implement DFT transform i am attaching the function i should do the DFT. i need guidance and code example.
thanks a lot Moshe

Answers (2)

Kevin
Kevin on 29 Apr 2016
f = 10; % 10 Hz.
t = (0:2047)/100; % 100 Hz sampling rate.
x = sin(2*pi*f*t);
X = fft(x);

Moshe
Moshe on 30 Apr 2016
Edited: Moshe on 30 Apr 2016
First of all thanks for you quick answer. from your guidance i wrote this matlab code implement DFT. See source code:
f0=46.875;
W0=2*pi*f0;
Fs=1000;
T=1/Fs;
NFFT=512;
FFTperiod=NFFT*T;
t=(0:NFFT-1)*T;
str=['FFT period is ',num2str(FFTperiod), ' seconds'];
Freq=10*1/FFTperiod
strFreq =['Frequency is ', num2str(Freq), ' Hz'];
Freqbin =1/FFTperiod
strFreqbin =['FFT frequency bin is ',num2str(1/FFTperiod), ' Hz'];
strFreqNyquist =['FNyquist is ',num2str(1/FFTperiod*512), ' Hz'];
disp(str);
disp(strFreq);
disp(strFreqbin);
disp(strFreqNyquist);
x_t=sin(W0*t);
subplot(3,1,1)
plot(t,x_t);
title('time domain signal')
xlabel('Time')
ylabel('Amplitude')
Z=fft(x_t,NFFT)/NFFT;
f=Fs/2*linspace(0,1,NFFT/2);
subplot(3,1,2);
plot(f,abs(Z(1:NFFT/2)))
title('freq domain')
xlabel('Hz')
ylabel('Amplitude')
now i would like to add zero padding and plotting it to a graph and i am not success.
can some one advise me?

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!