لماذا يُظهر مخطط KISS FFT قممًا مكررة معكوسة على المحور الصادي؟

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

  •  29-10-2019
  •  | 
  •  

سؤال

أنا مبتدئ بمفاهيم FFT ولذا ما أفهمه هو أنه إذا وضعت 1024 إشارة ، فسأستعيد 513 حاوية تتراوح من 0 هرتز إلى 22050 هرتز (في حالة معدل أخذ العينات 44100 هرتز). باستخدام KISS FFT في Cinder ، تُرجع الدالة getBinSize القيم المتوقعة 513 لإدخال 1024 إشارة. ما لا أفهمه هو سبب ظهور قمم مكررة. عند تشغيل عينة اختبار صوتية تمر عبر ترددات (بالترتيب) من 20 هرتز إلى 22000 هرتز ، أرى ذروتين طوال الوقت. يبدو مثل:

strong> __ _ __ _ __ | __ _ __

أثناء تشغيل الصوت ، يبدو أن القمم تتحرك باتجاه بعضها البعض لذا يبدو أن الذروة الثانية هي نسخة معكوسة للأولى. يبدو أن كل مثال مررت به هو المضي قدمًا ورسم جميع قيم 513 ولا يبدو أن لديهم مشكلة النسخ هذه. لست متأكدًا مما أفقده.

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

المحلول

حسنًا ، بعد قراءة هذا وجدت الحل.سبب الانعكاس هو أنني أستخدم FFT على أرقام حقيقية (FFT حقيقية).FFT العادي كما يعلم الجميع يعمل على الأعداد المركبة.ومن ثم يتم "ضبط" الجزء التخيلي على 0 في FFT الحقيقي ، مما يؤدي إلى انعكاس حول المنتصف (أو بالمعنى الفني ، يكون الانعكاس حوالي 0 و N / 2).

هنا مناقشة مفصلة: http://www.edaboard.com/thread144315.html

وقراءة ص 238 - 242 في هذا الكتاب.إنه رائع ، لذا قم بشرائه.أعتقد أن هناك نسخة pdf مجانية على موقع المؤلف: http://www.dspguide.com/

نصائح أخرى

من المحتمل أنك تقوم بالتخطيط لحجم جميع صناديق نتائج FFT البالغ عددها 1024 والتي يبلغ طولها 1024 FFT ، ولكن النصف العلوي مجرد صورة معكوسة للنصف السفلي (نظرًا لأن الإدخال الحقيقي فقط إلى fft المعقد لا يوفر درجات كافيةحرية جعل النصف العلوي فريدًا).

سوف تتحرك القمم نحو بعضها البعض عندما تعكس الصور بعضها البعض حول المركز.

الاحتمال الآخر هو أن طول FFT الخاص بك كان بطريقة ما بطول 512 فقط.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top