Matlab implementation of fast fourier transform

6
MATLAB IMPLEMENTATION OF FFT PROF. RAKESH K. JHA CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL ( INDIA) DEPARTMENT OF ELECTRONICS & COMMUNICATION MATLAB IMPLEMENTATION OF FAST FOURIER TRANSFORM % fft of 10 hz and 20 hz signal clear all; clc; close all; fs= 100; f1=10 ; f2= 20 ; nfft=1024; %plot 10 hz signal t=-1:1/fs:1; y1= sin(2*pi*f1*t); figure; plot(t,y1) xlabel('----->t'); ylabel('sin(2*pi*f1*t)'); title('10 hz ferquency signal'); %plot 20 hz signal t=-1:1/fs:1; y2= sin(2*pi*f2*t); figure; plot(t,y2) xlabel('----->t'); ylabel('sin(2*pi*f2*t)'); title('20 hz ferquency signal'); %addition of two signals y3= y1+y2; figure; plot(t,y3) xlabel('----->t'); ylabel('sin(2*pi*f1*t)+sin(2*pi*f2*t)'); title(' addition of two signal'); % appended signal y4=[y1,y2]; figure plot(y4); xlabel('---->t'); ylabel('appended signal'); title(' plot appending of two signals'); %fft of y1 x1= fft(y1,nfft) x1= x1(1:nfft/2) mx1= abs(x1); f=(1:nfft/2)*fs/nfft; figure plot(f,mx1); xlabel(' frequency in hz'); ylabel('power'); title('fft of 10 hz signal'); %fft of y2 x2= fft(y2,nfft); x2=x2(1:nfft/2); mx2= abs(x2); f=(0:nfft/2-1)*fs/nfft; figure plot(f,mx2);

Transcript of Matlab implementation of fast fourier transform

Page 1: Matlab implementation of  fast fourier transform

MATLAB IMPLEMENTATION OF FFT PROF. RAKESH K. JHA

CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL ( INDIA) DEPARTMENT OF ELECTRONICS & COMMUNICATION

MATLAB IMPLEMENTATION OF FAST FOURIER TRANSFORM % fft of 10 hz and 20 hz signal clear all; clc; close all; fs= 100; f1=10 ; f2= 20 ; nfft=1024; %plot 10 hz signal t=-1:1/fs:1; y1= sin(2*pi*f1*t); figure; plot(t,y1) xlabel('----->t'); ylabel('sin(2*pi*f1*t)'); title('10 hz ferquency signal'); %plot 20 hz signal t=-1:1/fs:1; y2= sin(2*pi*f2*t); figure; plot(t,y2) xlabel('----->t'); ylabel('sin(2*pi*f2*t)'); title('20 hz ferquency signal'); %addition of two signals y3= y1+y2; figure; plot(t,y3) xlabel('----->t'); ylabel('sin(2*pi*f1*t)+sin(2*pi*f2*t)'); title(' addition of two signal'); % appended signal y4=[y1,y2]; figure plot(y4); xlabel('---->t'); ylabel('appended signal'); title(' plot appending of two signals'); %fft of y1 x1= fft(y1,nfft) x1= x1(1:nfft/2) mx1= abs(x1); f=(1:nfft/2)*fs/nfft; figure plot(f,mx1); xlabel(' frequency in hz'); ylabel('power'); title('fft of 10 hz signal'); %fft of y2 x2= fft(y2,nfft); x2=x2(1:nfft/2); mx2= abs(x2); f=(0:nfft/2-1)*fs/nfft; figure plot(f,mx2);

Page 2: Matlab implementation of  fast fourier transform

MATLAB IMPLEMENTATION OF FFT PROF. RAKESH K. JHA

CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL ( INDIA) DEPARTMENT OF ELECTRONICS & COMMUNICATION

xlabel(' frequency in hz'); ylabel('power'); title('fft of 20 hz signal'); % fft of added signal y3 x3= fft(y3,nfft); x3=x3(1:nfft/2); mx3= abs(x3); f=(0:nfft/2-1)*fs/nfft; figure plot(f,mx3); xlabel(' frequency in hz'); ylabel('power'); title('fft of added signal'); %fft of appended signal x4= fft(y4,nfft); x4=x4(1:nfft/2); mx4=abs(x4); f=(0:nfft/2-1)*fs/nfft; figure plot(f,mx4); xlabel(' frequency in hz'); ylabel('power'); title('fft of appended signal');

RESULTS:

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

----->t

sin(

2*pi

*f1*

t)

10 hz ferquency signal

Page 3: Matlab implementation of  fast fourier transform

MATLAB IMPLEMENTATION OF FFT PROF. RAKESH K. JHA

CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL ( INDIA) DEPARTMENT OF ELECTRONICS & COMMUNICATION

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

----->t

sin(

2*pi

*f2*

t)

20 hz ferquency signal

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

----->t

sin(

2*pi

*f1*

t)+si

n(2*

pi*f

2*t)

addition of two signal

Page 4: Matlab implementation of  fast fourier transform

MATLAB IMPLEMENTATION OF FFT PROF. RAKESH K. JHA

CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL ( INDIA) DEPARTMENT OF ELECTRONICS & COMMUNICATION

0 50 100 150 200 250 300 350 400 450-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

---->t

appe

nded

sig

nal

plot appending of two signals

0 5 10 15 20 25 30 35 40 45 500

10

20

30

40

50

60

70

80

90

100

frequency in hz

pow

er

fft of 10 hz signal

Page 5: Matlab implementation of  fast fourier transform

MATLAB IMPLEMENTATION OF FFT PROF. RAKESH K. JHA

CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL ( INDIA) DEPARTMENT OF ELECTRONICS & COMMUNICATION

0 5 10 15 20 25 30 35 40 45 500

10

20

30

40

50

60

70

80

90

100

frequency in hz

pow

erfft of 20 hz signal

0 5 10 15 20 25 30 35 40 45 500

10

20

30

40

50

60

70

80

90

100

frequency in hz

pow

er

fft of added signal

Page 6: Matlab implementation of  fast fourier transform

MATLAB IMPLEMENTATION OF FFT PROF. RAKESH K. JHA

CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL ( INDIA) DEPARTMENT OF ELECTRONICS & COMMUNICATION

0 5 10 15 20 25 30 35 40 45 50

0

10

20

30

40

50

60

70

80

90

100

frequency in hz

pow

erfft of appended signal