मैं एफएफटी को समझने की कोशिश कर रहा हूं, यहां मेरे पास अभी तक क्या है:
एक तरंग में आवृत्तियों की भयावहता को खोजने के लिए, किसी को उनके द्वारा खोज की जाने वाली आवृत्ति को दो अलग-अलग चरणों (पाप और कोस) में तरंग को गुणा करके और प्रत्येक के लिए औसत रूप से जांचना चाहिए। चरण दो के संबंध से पाया जाता है, और उसके लिए कोड कुछ इस तरह है:
//simple pseudocode
var wave = [...]; //an array of floats representing amplitude of wave
var numSamples = wave.length;
var spectrum = [1,2,3,4,5,6...] //all frequencies being tested for.
function getMagnitudesOfSpectrum() {
var magnitudesOut = [];
var phasesOut = [];
for(freq in spectrum) {
var magnitudeSin = 0;
var magnitudeCos = 0;
for(sample in numSamples) {
magnitudeSin += amplitudeSinAt(sample, freq) * wave[sample];
magnitudeCos += amplitudeCosAt(sample, freq) * wave[sample];
}
magnitudesOut[freq] = (magnitudeSin + magnitudeCos)/numSamples;
phasesOut[freq] = //based off magnitudeSin and magnitudeCos
}
return magnitudesOut and phasesOut;
}
बहुत जल्दी कई आवृत्तियों के लिए ऐसा करने के लिए, एफएफटी कई ट्रिक्स का उपयोग करते हैं।
एफएफटी को डीएफटी की तुलना में बहुत तेज करने के लिए उपयोग किए जाने वाले कुछ गुर क्या हैं?
PS मैंने वेब पर पूर्ण FFT एल्गोरिदम को देखने की कोशिश की है, लेकिन सभी तरकीबें बिना किसी स्पष्टीकरण के एक सुंदर टुकड़े में संघनित होती हैं। मुझे पूरी बात समझने से पहले सबसे पहले क्या चाहिए, इन अवधारणाओं में से प्रत्येक के रूप में कुछ कुशल परिवर्तनों का परिचय है।
धन्यवाद।
sudo
आपके कोड उदाहरण का उपयोग भ्रामक हो सकता है, क्योंकि यह कंप्यूटर की दुनिया में एक प्रसिद्ध कमांड है। आप शायद psuedocode का मतलब था।