كيفية استخراج تردد معلومات عن عينات من PortAudio باستخدام FFTW في ج

StackOverflow https://stackoverflow.com/questions/3058236

سؤال

أريد برنامج تسجيل الصوت البيانات باستخدام PortAudio (لدي هذا الجزء به) ثم عرض تواتر المعلومات من أن الصوت المسجل (الآن, أود أن عرض متوسط تردد كل مجموعة من العينات كما أنها تأتي في).

من بحث قمت به, وأنا أعلم أنني بحاجة إلى القيام به الاتحاد الفرنسي للتنس.لذلك أنا بحثت عن مكتبة للقيام بذلك ، ج ، وجدت FFTW.

ولكن الآن أنا فقدت قليلا.بالضبط ما أنا من المفترض القيام به مع عينات أنا سجلت في استخراج بعض التردد المعلومات منهم ؟ ما هو نوع من الاتحاد الفرنسي للتنس يجب استخدام (أعتقد أنني بحاجة إلى بيانات حقيقية 1D?)?

و مرة كنت تفعل الاتحاد الفرنسي للتنس ، كيف يمكنني الحصول على تواتر المعلومات من البيانات أنه يعطي لي ؟

تحرير :أنا الآن وجدت أيضا الارتباط الذاتي الخوارزمية.هل هو أفضل ؟ أبسط ؟

شكرا جزيلا مقدما و اسف لا يوجد لدي اي خبرة إذا هذا.وآمل أن يجعل على الأقل القليل من الحس.

هل كانت مفيدة؟

المحلول

تحويل العينات الصوتية إلى طاقة الطيف:

  • إذا كان الصوت البيانات هي البيانات عدد صحيح ثم تحويله إلى النقطة العائمة
  • اختيار الاتحاد الفرنسي للتنس الحجم (مثلا ، N=1024)
  • تطبيق نافذة وظيفة أن ن عينات من البيانات الخاصة بك (على سبيل المثال هانينج)
  • استخدام الحقيقية إلى مجمع الاتحاد الفرنسي للتنس من الحجم N لتوليد تردد المجال البيانات
  • حساب حجم الخاصة بك معقدة تردد المجال البيانات (magnitude = sqrt(re^2 + im^2))
  • اختياريا تحويل قوته على مقياس (dB) (magnitude_dB = 20*log10(magnitude))
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top