ฉันกำลังพยายามสร้างตัววิเคราะห์สเปกตรัมแบบกราฟิกใน python
ฉันกำลังอ่าน 1024 ไบต์ของ 16 บิตดูอัลแชนเนล 44,100 เฮิรตซ์สตรีมเสียงอัตราตัวอย่างและเฉลี่ยแอมพลิจูดของ 2 แชนเนลเข้าด้วยกัน ตอนนี้ฉันมีกางเกงขาสั้นลายเซ็น 256 ตัว ตอนนี้ฉันต้องการสร้าง fft ล่วงหน้าบนอาร์เรย์นั้นโดยใช้โมดูลเช่น numpy และใช้ผลลัพธ์เพื่อสร้างตัววิเคราะห์สเปกตรัมกราฟิกซึ่งในการเริ่มต้นจะเป็นเพียง 32 บาร์
ฉันได้อ่านบทความวิกิพีเดียเรื่อง Fast Fourier Transform และ Discrete Fourier Transform แล้ว แต่ฉันยังไม่ชัดเจนว่าอาร์เรย์ผลลัพธ์นั้นหมายถึงอะไร นี่คือลักษณะของอาร์เรย์หลังจากที่ฉันสร้าง fft ไว้ล่วงหน้าบนอาร์เรย์ของฉันโดยใช้ numpy:
[ -3.37260500e+05 +0.00000000e+00j 7.11787022e+05 +1.70667403e+04j
4.10040193e+05 +3.28653370e+05j 9.90933073e+04 +1.60555003e+05j
2.28787050e+05 +3.24141951e+05j 2.09781047e+04 +2.31063376e+05j
-2.15941453e+05 +1.63773851e+05j -7.07833051e+04 +1.52467334e+05j
-1.37440802e+05 +6.28107674e+04j -7.07536614e+03 +5.55634993e+03j
-4.31009964e+04 -1.74891657e+05j 1.39384348e+05 +1.95956947e+04j
1.73613033e+05 +1.16883207e+05j 1.15610357e+05 -2.62619884e+04j
-2.05469722e+05 +1.71343186e+05j -1.56779748e+04 +1.51258101e+05j
-2.08639913e+05 +6.07372799e+04j -2.90623668e+05 -2.79550838e+05j
-1.68112214e+05 +4.47877871e+04j -1.21289916e+03 +1.18397979e+05j
-1.55779104e+05 +5.06852464e+04j 1.95309737e+05 +1.93876325e+04j
-2.80400414e+05 +6.90079265e+04j 1.25892113e+04 -1.39293422e+05j
3.10709174e+04 -1.35248953e+05j 1.31003438e+05 +1.90799303e+05j...
ฉันสงสัยว่าตัวเลขเหล่านี้แสดงถึงอะไรกันแน่และฉันจะแปลงตัวเลขเหล่านี้เป็นเปอร์เซ็นต์ของความสูงสำหรับแต่ละแท่ง 32 แท่งได้อย่างไร นอกจากนี้ฉันควรเฉลี่ย 2 ช่องด้วยกันหรือไม่?