ตัวกรอง Decimation Rate Integer Variable

แนะนําสําหรับ:

  • อุปกรณ์: ไม่ทราบ

  • Quartus®: v9.1

author-image

โดย

ตัวอย่างการออกแบบตัวกรองการปฏิเสธอัตราเลขจํานวนเต็มผันแปรสาธิตวิธีใช้ Intel® DSP Builder Advanced Blockset (DSPB-AB) เพื่อใช้งานตัวกรองการปฏิเสธที่สามารถเปลี่ยนอัตราการลดต้นทุนในขณะใช้งาน นอกจากนี้ยังรองรับหลายช่องสัญญาณและใช้ประโยชน์จากการพับ DSPB-AB โดยอัตโนมัติเพื่อสร้างรหัส Register Transfer Level (RTL) ที่เพิ่มการใช้ฮาร์ดแวร์ซ้ําเพื่อการประหยัดทรัพยากรสูงสุด การออกแบบปัจจุบันรองรับอัตราการลอจิกที่ 1, 2, 4, 8 และ 16 อย่างไรก็ตาม คุณสามารถปรับเปลี่ยนการออกแบบได้อย่างง่ายดายเพื่อรองรับอัตราการลอจิกจํานวนเต็มอื่นๆ

คุณสามารถใช้การเสื่อมสภาพแบบเดิมโดยตัวกรอง M ได้อย่างมีประสิทธิภาพผ่านการย่อยสลาย Polyphase ด้วยอินพุตคอมมิวเตอร์และเส้นทางขนาน M แต่ละพาธเป็นโพลีเฟสของตัวกรองต้นแบบดั้งเดิม หากอินพุตคอมมิวเตอร์ข้ามเฟสอื่น ๆ แทนที่จะผ่านเส้นทาง M ทั้งหมด อัตราการลดลงจะกลายเป็น M/2 และอื่นๆ

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

สถาปัตยกรรมของอัลกอริธึมแสดงขึ้นในรูปภาพที่ 1

รูปภาพที่ 1 แผนภาพบล็อก Vardecimator

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

การกําหนดค่าการเปลี่ยนแปลงอัตราการลดจํานวนครั้งใหม่ทําได้โดยเปลี่ยนการเพิ่มขึ้นของเฟสตัวสะสมหรือขนาดขั้นตอนในขณะทํางาน คุณสามารถอัปเดตการเพิ่มขึ้นของเฟสได้ด้วยโปรเซสเซอร์ผ่านอินเทอร์เฟซ Avalon® Memory-แมป (Avalon-MM) เมื่ออัตราการ decimation rate เปลี่ยนไป จํานวนพอลิฟาสที่สะสมในพาธตัวกรอง FIR ก็จะเปลี่ยนไปเช่นกัน เพื่อเพิ่มช่วงไดนามิกสูงสุด เราสามารถจัดหาปัจจัยการปรับขนาดที่กําหนดค่าใหม่ได้ให้กับหน่วยคูณและสะสมและไปยังเอาต์พุตตัวเพิ่มขั้นสุดท้าย คุณยังสามารถกําหนดค่าการลงทะเบียนการควบคุมนี้ใหม่ผ่านโปรเซสเซอร์ผ่านอินเทอร์เฟซ Avalon-MM

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

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

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

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

  • vardecimator_rt.mdl— ไฟล์ออกแบบ DSPB-AB สําหรับตัวกรองการลดอัตราผันแปร
  • setup_vardecimator_rt.m- สคริปต์ MATLAB เพื่อกําหนดค่าการเริ่มต้นและพารามิเตอร์ของ vardecimator_rt.mdl
  • stop_vardecimator_rt.m- สคริปต์ MATLAB เพื่อพล็อตเอาต์พุตตัวกรองการลดอัตราผันแปรและเปรียบเทียบกับรูปคลื่นอินพุต
  • vardecimator_rt_bare.mdl— ไฟล์ออกแบบบน vardecimator_rt.mdl บล็อกการทดสอบแบบสังเคราะห์บางตัวจะถูกลบออกสําหรับเจนเนอเรชั่น RTL

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