FFT (या फास्ट फूरियर रूपांतरण) वास्तव में एक है एल्गोरिथ्म की गणना के लिए असतत फूरियर रूपांतरण या एफ टी। विशिष्ट कार्यान्वयन डीएफटी की पारंपरिक गणना से अधिक गति प्राप्त करता है , इस तथ्य का फायदा उठाकर कि , डेटा बिंदुओं की संख्या एक समग्र पूर्णांक है जो बाद से यहां मामला नहीं है एक प्रमुख संख्या है। (जबकि FFTs केस के लिए मौजूद हैं जब एक प्राइम है, वे एक अलग फॉर्मूलेशन का उपयोग करते हैं जो MATLAB में लागू हो सकता है या नहीं भी हो सकता है)। दरअसल, बहुत से लोग जानबूझकर को फॉर्म या में से चुनते हैं
ताकि FFT के माध्यम से DFT अभिकलन को गति दे सके।101 एन एन 2 के 4 केN101NN2k4k
सवाल यह है कि मिररिंग क्यों होता है, के लिए मुड़ते हुए, हॉटपावर 2 को अनिवार्य रूप से कारण बताया गया है, और इसलिए निम्नलिखित केवल विवरण भरने के लिए है। एक दृश्य की एफ टी के
डेटा बिंदुओं एक दृश्य होने के लिए परिभाषित किया गया है जहाँ
जहाँ । यह स्पष्ट होगा कि सामान्य रूप से एक जटिल-मूल्यवान अनुक्रम है, जब एक वास्तविक-मूल्यवान अनुक्रम है। लेकिन ध्यान दें कि जब N X = ( X [ 0 ] , X [ 1 ] , X [ 2 ] , … , X [] एन - 1 ] ) एक्स [ एम ] = एनx=(x[0],x[1],x[2],…,x[N−1])NX=(X[0],X[1],X[2],…,X[N−1])j=√
X[m]=∑n=0N−1x[n](exp(−j2πmN))n,m=0,1,…,N−1
एक्सएक्सएक्सएक्स[0]= एन - 1 Σ n = 0 एक्स[एन]एनexp(-जेπ)=-1एक्स [ एनj=−1−−−√Xxx एक वास्तविक-मूल्यवान अनुक्रम है, एक वास्तविक संख्या है। इसके अलावा, यदि एक
सम संख्या है, तो, , हमारे पास भी
एक वास्तविक संख्या है। लेकिन, इस बात की परवाह किए बिना कि क्या विषम है या है, वास्तविक-मूल्यवान अनुक्रम के DFT
में
हरमिटियन समरूपता गुण है जिसका आपने एक टिप्पणी में उल्लेख किया है। हमारे पास किसी भी
निश्चित ,
X[0]=∑n=0N−1x[n]Nexp(−jπ)=−1X[N2]=∑n=0N−1x[n](exp(−j2πN/2N))n=∑n=0N−1x[n](−1)n
NXx m1≤m≤N−1,
इस प्रकार, , । इस के एक विशेष मामले के रूप में, ध्यान दें कि यदि हम चयन करते हैं , जबकि भी है, तो हमें वह , इस प्रकार हमारी पुष्टि करता है पहले निष्कर्ष निकाला कि
X[m]X[N−m]=∑n=0N−1x[n](exp(−j2πmN))n=∑n=0N−1x[n](exp(−j2πN−mN))n=∑n=0N−1x[n](exp(−j2π+j2πmN))n=∑n=0N−1x[n](exp(j2πmN))n=(X[m])∗
1≤m≤N−1X[N−m]=(X[m])∗m=N/2NX[N/2]=(X[N/2])∗X[N/2]एक वास्तविक संख्या है। ध्यान दें कि हर्मिटियन समरूपता संपत्ति का एक प्रभाव है
एक वास्तविक मूल्य अनुक्रम के DFT में मई के बिन है उसी परिमाण के रूप में मई के बिन।m(N−m)
MATLABi लोगों को इस तथ्य के लिए इसका अनुवाद करने की आवश्यकता होगी कि MATLAB सरणियों को ऊपर की ओर गिना जाता है।1
अपने वास्तविक डेटा, के लिए करने से आपके के एक डीसी मूल्य है प्लस
थोड़ा एक से अधिक अवधि आवृत्ति के sinusoid के हर्ट्ज। वास्तव में, आप जो प्राप्त कर रहे हैं वह
जहां । इस प्रकार, नमूनों में से पहले और अंतिम का मूल्य समान है। आप जिस DFT की गणना कर रहे हैं, वह इस प्रकार
और
बीच बेमेल DFT में अव्यवस्था का कारण बनता है: मान
x11
x[n]=1+sin(2π(0.01n)), 0≤n≤100
x[0]=x[100]=1101X[m]=∑n=0100(1+sin(2π(n100)))(exp(−j2πm101))n
100101X[m]के लिए , अशून्य हैं छोटे यद्यपि। दूसरी ओर, मान लें कि आप अपने MATLAB कार्यक्रम में सरणी को समायोजित करने के लिए थे पर लिए गए नमूने ताकि आपके पास
तब DFT
आप देखेंगे कि आपका DFT
बिलकुल (या कम से कम राउंड-ऑफ त्रुटि के भीतर), और
उलटा DFT उसे ,
2≤m≤99t
100t=0,0.01,0.02,…,0.99x[n]=1+sin(2π(0.01n)), 0≤n≤99.
X[m]=∑n=099(1+sin(2π(n100)))(exp(−j2πm100))n,
X=(100,−50j,0,0,…,0,50j)0≤n≤99x[n]=1100∑m=099X[m](exp(j2πn100))m=1100[100−50jexp(j2πn100)1+50j(exp(j2πn100))99]=1+12j[exp(j2πn100)−exp(j2π−n100)]=1+sin(2π(0.01n))
जो ठीक से आप क्या शुरू किया है।