मैं माइक्रोफोन इनपुट से एफएफटी की गणना कर रहा हूं। मुझे लगता है कि कम आवृत्तियों को हमेशा लगता है कि उच्च आवृत्तियों की तुलना में अधिक शक्ति (उच्च डीबी) है।
- मैंने डेटा को 24576 बाइट्स (4096 * 6) के फ्रेम में काटा।
- हैमिंग विंडो लागू करें:
input[i] *= (0.54d - 0.46d*(double) Math.Cos((2d*Math.PI*i)/fs));
- इसे FFTW के माध्यम से चलाएं
Process1D()
। - जटिल संख्याओं से परिवर्तित करें:
output[i] = 10.0 * Math.Log10((fout[i * 2] * fout[i * 2]) + (fout[i * 2 + 1] * fout[i * 2 + 1]));
- 4096 बाइट्स का पूरा एफएफटी प्राप्त करने के लिए 6 मानों का औसत।
- सुंदर चित्र पेंट करें (पैलेट पर मैप किए गए रंग)।
औसत (पीटी। 5) एफएफटी शोर को कम करने के लिए किया जाता है।
जैसा कि छवि ध्वनि के साथ और माइक के साथ दिखाती है कि कम आवृत्तियों में अधिक ऊर्जा (और अधिक शोर) है। यह सिर्फ एक mic / उप समस्या से अधिक इंगित करता है।
मेरे प्रश्न:
1. क्या यह अपेक्षित है? क्यों?
2. इसे ठीक करने का कोई मानक तरीका? लगभग कुछ Math.Tan () जादू की तरह लग रहा है जहां यह है इसे उठा सकता है।
मेरा लक्ष्य डिफ़ॉल्ट रूप से जीतने वाली कम आवृत्तियों के बिना शीर्ष 5 आवृत्तियों की पहचान करने में सक्षम होना है।