ตัวอย่างนี้สาธิตวิธีใช้ Intel® FPGA DSP Builder Advanced Blockset (DSPB-AB) เพื่อใช้งานตัวกรองการแปลงอัตราตัวอย่างหลายแชนเนลตามโครงสร้าง Farrow
การแปลงอัตราตัวอย่างมีแอพพลิเคชั่นมากมาย เช่น การสื่อสารแบบไร้สาย การถ่ายภาพทางการแพทย์ และการใช้งานทางการทหาร แทนที่จะใช้การย่อยสลาย Polyphase ตัวกรองการสุ่มตัวอย่าง Farrow ใหม่จะใช้โพลีโนเมียลที่มีคําสั่งซื้อต่ําเพื่อให้ได้ฟังก์ชันการทํางานเดียวกันจึงส่งผลให้ประหยัดตรรกะได้อย่างมาก ซึ่งมีประสิทธิภาพโดยเฉพาะอย่างยิ่งสําหรับการประมวลผลหลายแชนเนลหรือพาธข้อมูลแบบขนานหลายพาธ ที่ช่องสัญญาณหรือพาธข้อมูลทั้งหมดต้องใช้ค่าสัมประสิทธิ์ตัวกรองชุดเดียวกัน
ในตัวอย่างนี้ เราสร้างตัวกรองการแปลงอัตราตัวอย่าง Farrow โดยใช้บล็อก Primitive DSPB-AB โดยเฉพาะอย่างยิ่งเราสาธิตวิธีใช้ประโยชน์จากคุณสมบัติการพับของ DSPB-AB คุณสมบัติการพับของ DSPB-AB จะตระหนักถึงการแชร์ทรัพยากรและการใช้ฮาร์ดแวร์ซ้ําโดยอัตโนมัติตามพารามิเตอร์ของระบบที่ระบุโดยผู้ใช้
แผนผังบล็อกฟังก์ชันของตัวกรอง Farrow จะปรากฏอยู่ในรูปภาพที่ 1 โมดูลทั้งหมดได้รับการออกแบบโดยใช้บล็อกแบบ Primitive ใน DSPB-AB
สัญลักษณ์ 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 และเปรียบเทียบกับรูปคลื่นอินพุต
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับคุณสมบัติที่เกี่ยวข้องที่ใช้ในตัวอย่างการออกแบบนี้ ไปที่: