1 คะแนน โดย GN⁺ 2024-11-23 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ไมโครโฟนแบบ Phased Array

    • ไมโครโฟนแบบ phased array 192 แชนเนล ให้ความสามารถด้านการเก็บข้อมูลด้วย FPGA และการทำ beamforming/visualization บน GPU โดย phased array ทำให้เกิดการประยุกต์ใช้งานที่ไมโครโฟนทิศทางแบบดั้งเดิมทำไม่ได้ เช่น เปลี่ยนทิศทางรับเสียงได้ทันทีหลังอัดเสียง หรือโฟกัสพร้อมกันได้ที่จุดนับแสนจุด
    • แบบออกแบบทั้งหมดเปิดเป็นโอเพนซอร์ส:
      • ซอฟต์แวร์โฮสต์
      • FPGA gateware
      • เลย์เอาต์ PCB และสเกแมติก รวมถึงชิ้นส่วนเชิงกล
  • ฮาร์ดแวร์

    • ในการสร้างไมโครโฟนแบบ phased array จำเป็นต้องจัดเรียงไมโครโฟนจำนวนมากโดยเว้นระยะห่างค่อนข้างกว้าง สำหรับ linear array การเว้นระยะแบบเอ็กซ์โปเนนเชียลระหว่างไมโครโฟนเหมาะที่สุดสำหรับสัญญาณบรอดแบนด์
    • ต้นทุนรวมประมาณ $700

    แขน

    • ความยาวของแต่ละแขนถูกกำหนดโดยข้อจำกัดของการผลิตและประกอบ PCB ผลิตโดย JLCPCB และความยาวสูงสุดของ PCB 4 ชั้นคือ 570mm
    • ไมโครโฟนที่เลือกใช้คือไมโครโฟน MEMS แบบเอาต์พุตดิจิทัลที่ถูกที่สุด และไม่มีความแตกต่างด้านสมรรถนะมากนัก
    • ใช้ PDM ในการส่งออกข้อมูล และรองรับ DDR ทำให้สามารถมัลติเพล็กซ์ไมโครโฟนสองตัวบนสายเส้นเดียวได้
    • แต่ละแขนมีไมโครโฟน 8 ตัวใช้เอาต์พุตร่วมกัน 4 เส้น และมีเอาต์พุตบัฟเฟอร์อยู่บนเส้นสัญญาณนาฬิกาขาเข้า
    • อัตราการผ่านของ PCB ไม่ดีนัก และปัญหาที่พบบ่อยที่สุดคือเส้นสัญญาณนาฬิกาลัดวงจรกับ 3V3 หรือกราวด์

    ฮับ

    • FPGA ถูกใช้สำหรับเก็บข้อมูล เพราะสามารถรับ IO จำนวนมากที่มี latency ต่ำและสื่อสารผ่านอินเทอร์เฟซความเร็วสูงได้
    • ใช้การ์ด Colorlight i5 เพราะมี IO เพียงพอ ราคาถูก และรวม Ethernet PHY สองตัวไว้ในตัว
    • ฮับประกอบด้วยวงจรจัดการพลังงานอย่างง่าย รวมถึงคอนเน็กเตอร์สำหรับบอร์ดแขนและอีเทอร์เน็ต

    การออกแบบเชิงกล

    • แขนยึดกับฮับด้วยสกรู M3 และประกอบโดยใช้ standoff/nut สำหรับติดตั้ง PCB
    • แบบแรกเริ่มมีสล็อตบน PCB ของแขนเพื่อให้เข้าล็อกกับ structural PCB แต่แบบสุดท้ายใช้ MDF ล้อมรอบด้านนอกและยึดด้วยเคเบิลไท
    • ไมโครโฟนอาเรย์ที่ติดผนังไวต่อการสะท้อน จึงใช้ acoustic foam เพื่อลดการสะท้อน
  • เกตแวร์

    • เป้าหมายหลักของ gateware คือส่งข้อมูลดิบไปยังคอมพิวเตอร์โดยไม่สูญหาย
    • แม้การทำ decimation และ filtering บน FPGA จะช่วยลดอัตราการส่งข้อมูลได้ แต่ก็ยังสามารถส่งข้อมูล PDM ดิบได้

    อินเทอร์เฟซ PDM

    • โมดูลอินพุต PDM แบ่ง system clock 50MHz ด้วย 16 เพื่อสร้างสัญญาณนาฬิกา PDM 3.125MHz และ latch ขาอินพุต 96 ขาหลังแต่ละขอบสัญญาณนาฬิกา
    • อัตราข้อมูลคือ 600Mbps และเมื่อรวมเฮดเดอร์แล้วเป็น 700Mbps

    การแพ็กเก็ต

    • การแพ็กเก็ตทำงานเป็น FIFO buffer โดยจะเริ่มแพ็กเก็ตก็ต่อเมื่อมีข้อมูลในคิวมากพอ เพื่อรับประกันว่าแพ็กเก็ตมีขนาดคงที่
    • แต่ละแพ็กเก็ตรวม PDM output block 48 บล็อก และมีอัตราการส่ง 715 Mbps

    UDP สตรีมเมอร์

    • ด้วยโครงการ LiteEth ความซับซ้อนของการห่อหุ้ม UDP และ IP ถูก abstract ออกไป ทำให้การเชื่อม FIFO เข้ากับ UDP stream เป็นเรื่องง่าย
  • ซอฟต์แวร์

    ฟิลเตอร์ CIC

    • ไมโครโฟนแต่ละตัวสร้างสัญญาณ 1 บิตที่ 3.125MHz ซึ่งต้องถูกลดลงให้เหลืออัตราสุ่มตัวอย่างและความลึกบิตที่สมเหตุสมผลกว่าเดิม
    • ใช้ฟิลเตอร์ CIC แบบ 4 สเตจและ decimation 16 เท่า เพื่อลดอัตราสุ่มตัวอย่างลงเหลือ 195kHz

    การคาลิเบรต

    • สำหรับการคาลิเบรตอาเรย์ ใช้ลำโพงเล่น white noise และเคลื่อนที่ไปด้านหน้าอาเรย์
    • ใช้ cross-correlation แบบอิง FFT เพื่อคำนวณ relative delay ระหว่างไมโครโฟน
    • ทำ optimization กับตำแหน่งแหล่งกำเนิดเสียงและตำแหน่งไมโครโฟนเพื่อให้ได้โมเดลที่ดีที่สุดของระบบ

    บีมฟอร์มมิง

    • Beamforming คือวิธีประมวลผลอินพุตดิบจากไมโครโฟนเพื่อสร้างการตอบสนองเชิงทิศทาง
    • ประมวลผลสัญญาณโดยทำ delay ในโดเมนความถี่
    • มีการทำ beamformer แบบ 3D near-field และ 2D far-field
    บีมฟอร์มมิง 3D ระยะใกล้
    • ทำงานบนกริด voxel ขนาด 5cm และทำอัตรารีเฟรชได้ 12Hz บน RTX 4090
    • ใช้ VisPy สำหรับการแสดงผล
    บีมฟอร์มมิง 2D ระยะไกล
    • ใช้กริด 512x512 พิกเซล และทำอัตรารีเฟรชได้ 12Hz
    เสียงแบบมีทิศทาง
    • มีการทำ beamformer แบบ delay-and-sum ในโดเมนเวลา เพื่อให้สามารถบันทึกเสียงแบบมีทิศทางได้

    การบันทึก

    • ข้อมูลจากไมโครโฟนอาเรย์อยู่ในรูปแพ็กเก็ต UDP จึงสามารถบันทึกได้ด้วยเครื่องมืออย่าง tcpdump
    • ข้อเสียของการบันทึกแบบนี้คืออัตราข้อมูลขาออกสูงมาก
  • ขั้นตอนถัดไป

    • โดยสาระสำคัญแล้วโครงการนี้เสร็จสมบูรณ์แล้ว และไม่มีแผนทำงานต่อเพิ่มเติม แต่ยังมีความเป็นไปได้ในการขยายหลายอย่าง
    • ใช้อัลกอริทึม beamforming ที่ก้าวหน้ากว่าเดิม
    • GUI ที่ดีกว่าเดิมซึ่งรวมทุกความสามารถไว้ด้วยกัน
    • ผสาน beamforming แบบ differential ได้กับโมเดลโครงข่ายประสาทเทียม

1 ความคิดเห็น

 
GN⁺ 2024-11-23
ความคิดเห็นจาก Hacker News
  • มีการกล่าวว่ากระบวนการปรับความเร็วเสียงให้เหมาะสมเพื่อให้ได้โมเดลที่เหมาะสมที่สุดของระบบทำงานคล้ายเทอร์โมมิเตอร์ที่ซับซ้อนมาก

    • เตือนว่าทุกเซนเซอร์ล้วนเป็นเซนเซอร์อุณหภูมิ และบางตัวก็วัดอย่างอื่นได้ด้วย
  • เคยทำโปรเจ็กต์ใช้ไมโครโฟน 4 ตัวเพื่อระบุตำแหน่งค้างคาวและแยกชนิดพันธุ์

    • ใช้เพื่อศึกษาผลกระทบด้านสิ่งแวดล้อมของการติดตั้งกังหันลม
  • มีคำถามว่าทำไมถึงใช้ PDM แทน TDM I2S microphone

    • ICS-52000 มีราคาถูกและมีบอร์ดสำหรับเชื่อมต่อไมโครโฟนหลายตัว
    • หากใช้ฮาร์ดแวร์ I2S อย่าง Jetson ก็สามารถต่อไมโครโฟนได้ 16 ตัว
  • มีความเห็นว่าอยากนำไปใช้ทางการแพทย์โดยผสานกับอาร์เรย์ลำโพงอัลตราซาวนด์

    • นึกภาพรูปแบบที่รวม high-intensity focused ultrasound (HIFU) เข้ากับฟีดแบ็กแบบเรียลไทม์
  • มีการบอกว่าสามารถดูเดโม acoustic camera ที่น่าประทับใจได้บน YouTube

    • ชี้ว่าบริษัทใหญ่ ๆ อย่าง FLIR กำลังเข้าสู่ตลาดนี้
    • บอกว่าความสามารถในการอัดบทสนทนาในที่สาธารณะแล้วค่อยมา "ซูม" ทีหลังนั้นทั้งน่าสนใจและชวนขนลุก
  • อยากให้มีฟีเจอร์เสียงเชิงทิศทางคุณภาพสูงในอุปกรณ์พกพา

    • คิดว่าการลดเสียงรบกวนและการตรวจจับทิศทางจะช่วยอุปกรณ์ช่วยเหลือและเครื่องแปลภาษาได้มาก
    • เสนอว่าถ้าโทรศัพท์ทุกเครื่องรอบตัวร่วมมือกันเพื่อให้เสียงคุณภาพสูงได้ก็คงดี
  • กล่าวถึงระบบอะคูสติกทรงกลมที่ Boeing ใช้กับต้นแบบ 787

    • อธิบายว่าในสภาพแวดล้อมที่มีเสียงดังอย่างบนเครื่องบิน เสียงอาจฟังเหมือนมาจากคนละตำแหน่งได้
  • คิดว่าโปรเจ็กต์แยกเสียงตามตำแหน่งน่าจะเจ๋งมาก

    • เป็นแนวคิดคล้าย light-field camera ที่สามารถแก้ไขโฟกัสของภาพได้
  • แสดงความประหลาดใจกับ PCB รูปทรง "แขน" ที่ยาว

    • เสนอว่าน่าจะดีกว่าหากวางแต่ละเซนเซอร์บน PCB แยกกันแล้วให้การคาลิเบรตจัดการส่วนที่เหลือ
  • กล่าวถึงว่าเทคโนโลยีแบบนี้ถูกใช้กับโดรนมากขึ้นเรื่อย ๆ

    • ใช้เพื่อตรวจจับโดรนในทางทหาร หรือให้บริษัทส่งของด้วยโดรนใช้ตรวจจับเครื่องบินด้วยต้นทุนต่ำ