ตัวอย่างการออกแบบฟิลเตอร์ Farrow แบบหลายแชนเนล

author-image

โดย

ตัวอย่างนี้สาธิตวิธีใช้ Intel® FPGA DSP Builder Advanced Blockset (DSPB-AB) เพื่อใช้งานตัวกรองการแปลงอัตราตัวอย่างหลายแชนเนลตามโครงสร้าง Farrow

การแปลงอัตราตัวอย่างมีแอพพลิเคชั่นมากมาย เช่น การสื่อสารแบบไร้สาย การถ่ายภาพทางการแพทย์ และการใช้งานทางการทหาร แทนที่จะใช้การย่อยสลาย Polyphase ตัวกรองการสุ่มตัวอย่าง Farrow ใหม่จะใช้โพลีโนเมียลที่มีคําสั่งซื้อต่ําเพื่อให้ได้ฟังก์ชันการทํางานเดียวกันจึงส่งผลให้ประหยัดตรรกะได้อย่างมาก ซึ่งมีประสิทธิภาพโดยเฉพาะอย่างยิ่งสําหรับการประมวลผลหลายแชนเนลหรือพาธข้อมูลแบบขนานหลายพาธ ที่ช่องสัญญาณหรือพาธข้อมูลทั้งหมดต้องใช้ค่าสัมประสิทธิ์ตัวกรองชุดเดียวกัน

ในตัวอย่างนี้ เราสร้างตัวกรองการแปลงอัตราตัวอย่าง Farrow โดยใช้บล็อก Primitive DSPB-AB โดยเฉพาะอย่างยิ่งเราสาธิตวิธีใช้ประโยชน์จากคุณสมบัติการพับของ DSPB-AB คุณสมบัติการพับของ DSPB-AB จะตระหนักถึงการแชร์ทรัพยากรและการใช้ฮาร์ดแวร์ซ้ําโดยอัตโนมัติตามพารามิเตอร์ของระบบที่ระบุโดยผู้ใช้

แผนผังบล็อกฟังก์ชันของตัวกรอง Farrow จะปรากฏอยู่ในรูปภาพที่ 1 โมดูลทั้งหมดได้รับการออกแบบโดยใช้บล็อกแบบ Primitive ใน DSPB-AB

รูปภาพที่ 1 แผนผังฟิลเตอร์บล็อก Farrow

สัญลักษณ์ r ถูกใช้เพื่อวัดความแตกต่างของขั้นตอนการสุ่มตัวอย่างระหว่างอินพุตปัจจุบันและตัวอย่างเอาต์พุตที่ต้องการ ค่าจะถูกปรับเป็นค่าปกติระหว่าง 0 และ 1 สําหรับแต่ละตัวอย่างผลลัพธ์ คุณสามารถคํานวณ r โดยใช้สูตรต่อไปนี้:

r = (Output_time – Input_time)* Input_Sampling_Frequency

ในการสาธิตนี้ เราใช้อัลกอริธึมแบบเรียกใช้ซ้ําเพื่อคํานวณ r สําหรับแต่ละตัวอย่างเอาต์พุต:

สูตร

โดยที่ n คือจํานวนเต็มที่ระบุจํานวนตัวอย่างหรือการประทับเวลาแบบแยก C1 หมายถึงส่วนที่เป็นเศษส่วนของค่าผกผันของปัจจัยการเปลี่ยนแปลงอัตรา

และ

คุณสมบัติ

การสาธิตนี้มีคุณสมบัติดังต่อไปนี้:

  • รองรับทั้งการปฏิเสธและการแทรกแซง
  • รองรับเกือบทุกปัจจัยเปลี่ยนอัตราตัวอย่างที่มีเหตุผล
  • รองรับได้สูงสุด 16 ช่อง แม้ว่าคุณจะสามารถปรับเปลี่ยนการออกแบบเพื่อรองรับช่องสัญญาณเพิ่มเติมได้อย่างง่ายดาย
  • รองรับพารามิเตอร์ผ่านสคริปต์การตั้งค่า
  • รองรับการปรับเปลี่ยนคําสั่งตัวกรองการสุ่มตัวอย่างใหม่ (Polynomial) ได้โดยขยายความยาวของเส้นหน่วงการแตะ
  • ให้สคริปต์การเริ่มต้นและหลังการจําลองเพื่อกําหนดค่าพารามิเตอร์ และเปรียบเทียบและตรวจสอบเอาต์พุต
  • รองรับการพับแบบอัตโนมัติ ช่วยให้สามารถทําการกล้ําเวลากับตัวคูณ ตัวเพิ่ม และทรัพยากรฮาร์ดแวร์อื่นๆ ได้

หมายเหตุ 1: สําหรับเวอร์ชัน 9.1 การออกแบบต้องใช้อัตราสัญญาณนาฬิกาFPGAเป็นตัวคูณจํานวนเต็มของทั้งอัตราตัวอย่างอินพุตและอัตราตัวอย่างเอาต์พุต ในรีลีสในอนาคต อัตราตัวอย่างเอาต์พุตไม่จําเป็นต้องแบ่งอัตราสัญญาณนาฬิกาFPGA ดังนั้นจึงสามารถรองรับการเปลี่ยนแปลงอัตราการสุ่มตัวอย่างแบบไม่ลงอย่างไม่เป็นทางการได้เช่นกัน ไม่มีการเปลี่ยนแปลงโครงสร้างสําหรับอัตราตัวอย่างที่แตกต่างกันที่อัตราตัวอย่างรองรับ

หมายเหตุ 2: ทุกช่องสัญญาณควรถูกประมวลผลด้วยพาธข้อมูลเดียว (เช่น สายเส้นเดียวในการออกแบบ DSPB-AB) หากคุณมีช่องสัญญาณจํานวนมาก คุณควรเพิ่มอัตราสัญญาณนาฬิกาFPGA เพื่อจะได้ไม่ต้องแยกช่องข้อมูลออกเป็นหลายพาธข้อมูลแบบขนาน หากต้องการรองรับสายไฟหลายเส้นหรือหลายพาธข้อมูล คุณจําเป็นต้องแก้ไข Data Alignment Block ซึ่งไม่ได้อยู่ภายใต้ตัวอย่างนี้

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบตัวกรองการสุ่มตัวอย่างใหม่ใน DSPB-AB โปรดดูAN 623: การใช้ DSP Builder Advanced Blockset เพื่อใช้งานตัวกรองการสุ่มตัวอย่างซ้ํา (PDF)

ดาวน์โหลดไฟล์ที่ใช้ในตัวอย่างนี้:

ไฟล์ในการดาวน์โหลด .zip ประกอบด้วย:

  • farrowm.mdl— ไฟล์ออกแบบ DSPB-AB สําหรับตัวกรองการเปลี่ยนแปลงอัตราตัวอย่าง Farrow หลายแชนเนล
  • setup_farrowm.m— สคริปต์ MATLAB* เพื่อกําหนดค่าการเริ่มต้นและพารามิเตอร์ของ farrow.mdl
  • stop_farrowm.m- สคริปต์ MATLAB เพื่อพล็อตเอาต์พุตตัวกรองการสุ่มตัวอย่างซ้ํา Farrow และเปรียบเทียบกับรูปคลื่นอินพุต

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับคุณสมบัติที่เกี่ยวข้องที่ใช้ในตัวอย่างการออกแบบนี้ ไปที่:

ลิงก์ที่เกี่ยวข้อง

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