Page 170 -
P. 170
โครงการหนังสืออิเล็กทรอนิกส์ เฉลิมพระเกียรติสมเด็จพระเทพรัตนราชสุดาฯ สยามบรมราชกุมารี
161
ทํา FFT ของสัญญาณขนาด N จุดจะแปรผันตรงกับคา N.log(N) แทน และการทํา
n
FFT จะมีประสิทธิภาพสูงเมื่อ N มีคาเปนเลขยกกําลังของสอง นั้นคือ N =2 ดังนั้น
ถาขนาดขอมูล N มีคาเทากับ 512 เวลาที่ใชในการทํา DFT เทากับ 262141 ในขณะที่
ใชเวลาในการทํา FFT เทากับ 4608 นั้นคือ สําหรับขอมูลขนาด 512 การทํา FFT จะ
เร็วกวาการทํา DFT อยูประมาณ 56.88 เทา และความแตกตางของความเร็วนี้จะมาก
ขึ้นเมื่อคา N มีคาใหญมากๆ จึงนิยมใชเทคนิค FFT ในการทํา DFT เสมอ
คําสั่ง MATLAB ที่ใชในการแปลงฟูริเยรของเว็คเตอร a ดวยวิธี FFT และการแปลง
กลับฟูริเยร คือ คําสั่ง fft(.) และ ifft(.) ตามลําดับ และคําสั่งที่ใชหาขนาดและเฟส
สเปคตรัมที่ได คือคําสั่ง abs(.) และ angle(.) ตามตัวอยางโปรแกรมการทํา FFT กับ
สัญญาณสี่เหลี่ยมดานลาง
>> a = [1 1 1 1, -1 -1 -1 -1]; %สัญญาณสี่เหลี่ยม
>> A = fft(a’) % เก็บสัญญาณในรูปเว็คเตอร แลวทํา FFT
A =
0
2.0000 - 4.8284i
0
2.0000 - 0.8284i
0
2.0000 + 0.8284i
0
2.0000 + 4.8284i
>> magnitude = abs(A)
magnitude = 0 5.2263 0 2.1648 0 2.1648 0 5.2263
>> phase = angle(A)
phase = 0 -1.1781 0 -0.3927 0 0.3927 0 1.1781
>> z = ifft(A);