การเปรียบเทียบวิธีการ Multiplierless ในการประมวลผลสัญญาณดิจิตอล (Comparison of Multiplierless in Digital Signal Processing) นายคณาศักดิ์ ผาจันทร์ 4810611303 ภาควิชาไฟฟ้าและคอมพิวเตอร์ มหาวิทยาลัยธรรมศาสตร์
ภาพรวมในการนำเสนอ ที่มาของโครงงาน วัตถุประสงค์ของโครงงาน ขอบเขตของโครงงาน ทฤษฎีที่เกี่ยวข้อง งานส่วนที่ดำเนินการไปแล้ว
ที่มาของโครงงาน ในปัจจุบันได้มีการสร้างวิธีการ multiplierless ในการประมวลผลสัญญาณ ดิจิตอลขึ้นมาหลายวิธี โครงงานนี้ต้องการเปรียบเทียบวิธีการ multiplierless 5 วิธีกับตัวอย่างการใช้งานใน Discrete Cosine Transform แบบ 1 มิติ (1D-DCT) บนบอร์ด FPGA
วัตถุประสงค์ของโครงงาน เพื่อศึกษาถึงการคูณแบบ multiplierless ในการประมวลผลแบบดิจิตอล เพื่อทำการเปรียบเทียบวิธีการ multiplierless หลายๆ วิธีกับตัวอย่างการใช้งาน ในการแปลง Discrete Cosine แบบ 1 มิติ (1D-DCT) บนบอร์ด FPGA
ขอบเขตของโครงงาน ศึกษาหลักการ Multiplierless ศึกษาวิธีการแปลง 1D-DCT (One Dimension Discrete Cosine Transform) เปรียบเทียบการสร้าง 1D-DCT แบบ multiplierless ลงบนบอร์ด FPGA
ทฤษฎีที่เกี่ยวข้อง MULTIPLIERLESS DCT CONVERSION BinDCT Lee’s fast forward DCT algorithm Forward AAN’s fast algorithm binDCT family based on Chen’s factorization BinDCT family based on Loeffler’s factorization FPGA(Field Programmable Gate Array)
MULTIPLIERLESS DCT CONVERSION : BinDCT BinDCT version A ที่มา : T. D. Tran, "The binDCT: fast multiplierless approximation of the DCT," Signal Processing Letters, IEEE, vol. 7, pp. 141-144, 2000.
MULTIPLIERLESS DCT CONVERSION : BinDCT BinDCT version B ที่มา : T. D. Tran, "The binDCT: fast multiplierless approximation of the DCT," Signal Processing Letters, IEEE, vol. 7, pp. 141-144, 2000.
MULTIPLIERLESS DCT CONVERSION : BinDCT BinDCT version C ที่มา : T. D. Tran, "The binDCT: fast multiplierless approximation of the DCT," Signal Processing Letters, IEEE, vol. 7, pp. 141-144, 2000.
MULTIPLIERLESS DCT CONVERSION : Lee's fast forward DCT algorithm อัลกอริทึมของ Lee’s fast forward DCT ค่าคงที่ C ทุกตัวแทนค่าด้วย ½ Lee’s fast forward DCT ที่มา : R. K. W. Chan and L. Moon-Chuen, "Multiplierless Fast DCT Algorithms with Minimal Approximation Errors," in Pattern Recognition,2006. ICPR 2006. 18th International Conference on, 2006, pp. 921-925.
MULTIPLIERLESS DCT CONVERSION : Forward AAN's fast ที่มา : R. K. W. Chan and L. Moon-Chuen, "Multiplierless Approximation of Fast DCT Algorithms," in Multimedia and Expo, 2006 IEEE International Conference on, 2006, pp.1925-1928.
MULTIPLIERLESS DCT CONVERSION : Forward AAN's fast โครงสร้าง butterfly (2b) แปลงมาจาก (2a), เขียนในรูปของโครงสร้าง lifting (2c) ที่มา : R. K. W. Chan and L. Moon-Chuen, "Multiplierless Approximation of Fast DCT Algorithms," in Multimedia and Expo, 2006 IEEE International Conference on, 2006, pp.1925-1928.
MULTIPLIERLESS DCT CONVERSION : binDCT family based on Chen's factorization binDCT family based on Chen's factorization Forward transform ที่มา : Jie Liang and Trac D. Tran,”Fast Multiplierless Approximations of the DCT With the Lifting Scheme,”IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL. 49, NO. 12, DECEMBER 2001.
MULTIPLIERLESS DCT CONVERSION : binDCT family based on Chen's factorization SEVERAL CONFIGURATIONS OF BINDCT BASED ON CHEN’S FACTORIZATION ที่มา : Jie Liang and Trac D. Tran,”Fast Multiplierless Approximations of the DCT With the Lifting Scheme,”IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL. 49, NO. 12, DECEMBER 2001.
MULTIPLIERLESS DCT CONVERSION : binDCT family based on Loeffler's factorization มีอัลกอลิทึมดังรูป binDCT family based on Loeffler's factorization ที่มา : Jie Liang and Trac D. Tran,”Fast Multiplierless Approximations of the DCT With the Lifting Scheme,”IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL. 49, NO. 12, DECEMBER 2001.
MULTIPLIERLESS DCT CONVERSION : binDCT family based on Loeffler's factorization ค่าคงที่ทุกตัวในอัลกอริทึมสามารถดูได้จากตาราง FAMILY OF EIGHT-POINT BINDCTS BASED ON LOEFFLER’S FACTORIZATION ที่มา : Jie Liang and Trac D. Tran,”Fast Multiplierless Approximations of the DCT With the Lifting Scheme,”IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL. 49, NO. 12, DECEMBER 2001.
FPGA (Field Programmable Gate Array) FPGA เป็นวงจรรวมทางดิจิตอลที่ผู้ใช้สามารถโปรแกรมวงจรหรือฟังค์ชันการ ทำงานลงไปภายในตัวชิฟได้เอง เหมาะสำหรับการออกแบบวงจรและการ ออกแบบชิฟต้นแบบของวงจรทางดิจิตอล เราสามารถออกแบบวงจร การ เชื่อมต่อและคุณสมบัติต่างๆด้วย Software ได้ จากนั้นเมื่อทดลอง Simulate ได้ผลน่าพอใจแล้วจึงโปรแกรมลงบนชิฟ FPGA จะเห็นว่าการแก้ไขทำได้ง่าย เพียงแก้บน Software (เสมือนอุปกรณ์ดิจิตอลอยู่ในรูปของ Software แก้ไขง่าย และแลกเปลี่ยนกันใช้ได้) และทำการโปรแกรมใหม่ (โปรแกรมซ้ำได้) สถาปัตยกรรมภายในของ FPGA แบ่งส่วนสำคัญๆ ออกเป็น 3 ส่วน คือ CLB (Configuration Logic Block) ใช้สำหรับทำเป็นวงจรโลจิกแบบคอม ไบเนชั่นนอลและแบบซีเควนเชียล IOB (Input Output Block) เป็นกลุ่มโลจิกบล็อกที่ทำหน้าที่สำหรับการเชื่อมต่อ กับวงจรภายนอก Interconnect ทำหน้าที่เป็นสายไฟที่ใช้เชื่อมต่อโลจิกบล็อกต่างๆ เข้าด้วยกัน
FPGA(Field Programmable Gate Array) : สถาปัตยกรรมของ FPGA สถาปัตยกรรมของ FPGA ตระกูล XC4000 ของบริษัท Xilinx ที่มา : www.rfid.thai.net/kitalo17/Slides/FPGA2000.pdf
FPGA(Field Programmable Gate Array) : โครงสร้าง Configuration Logic Block โครงสร้าง Configuration Logic Block ของ FPGA ตระกูล XC4000 ของบริษัท Xilinx ที่มา : www.rfid.thai.net/kitalo17/Slides/FPGA2000.pdf
FPGA(Field Programmable Gate Array) : โครงสร้าง I/O Block โครงสร้าง I/O Block ของ FPGA ตระกูล XC4000 ของบริษัท Xilinx ที่มา : www.rfid.thai.net/kitalo17/Slides/FPGA2000.pdf
งานส่วนที่ดำเนินการไปแล้ว ออกแบบแนวความคิดโครงงาน ออกแบบหลักการทำงานของการแปลง DCT ออกแบบขั้นตอนการออกแบบการแปลง DCT
แนวความคิดโครงงาน การเปรียบเทียบประสิทธิภาพของวิธีการ multiplierless 5 วิธีกับตัวอย่างการ ใช้งานใน Discrete Cosine Transform แบบ 1 มิติ (1D-DCT) บนบอร์ด FPGA ทำการเปรียบ 2 ด้านได้แก่ ความซับซ้อนของระบบ จะดูจากโครงสร้างของภาษา VHDL ที่เขียนอธิบายลักษณะ ของอัลกอลิทึม ค่าความผิดพลาดของการเข้าและถอดหรัส จะดูในรูปของ PSNR (Peak Signal to Noise Ratio)
หลักการทำงานของการแปลง DCT ออกแบบโครงสร้างของระบบโดยการใช้ DCT แบบ 1 มิติ ที่ใช้อัลกอริทึมของ multiplierless ดังรูป หลักการทำงานของ 1D-DCT เนื่องจากข้อมูลที่จะนำมาทำการทดสอบเป็นข้อมูลรูปภาพ ซึ่งเป็นข้อมูลแบบ 2 มิติ จึงต้องทำการแปลง DCT แบบ 2 มิติ โดยมีหลักในการแปลงโดยใช้การแปลง DCT แบบ 1 มิติ กับข้อมูลตามแนวคอลัมน์ เมื่อเสร็จแล้วนำผลที่ได้มาแปลง DCT แบบ 1 มิติ อีกหนึ่งครั้งแต่เป็นตามแนวราบ ก็จะได้เป็นการแปลงแบบ 2 มิติ จึงต้อง ออกแบบโครงสร้างใหม่
หลักการทำงานของการแปลง DCT หลักการทำงานคือ จะส่งข้อมูลที่ต้องการแปลงจาก PC ผ่านทาง UART โดยส่ง ข้อมูลตามแนวคอลัมน์ แล้วทำการแปลง DCT แบบ 1 มิติ ส่งข้อมูลที่ทำการแปลง แล้วกลับไปเก็บไว้ที่ PC ส่งข้อมูลที่เก็บไว้ใน PC มาแปลง DCT แบบ 1 มิติ อีกครั้ง โดยส่งข้อมูลมาตามแนวราบ ก็จะได้เป็นการแปลงแบบ 2 มิติ ต่อมาในการทำ INVERSE DCT จะทำการแปลงเหมือนกับ FORWARD DCT แต่จะต้องกลับอัลกอ ลิทึม
ขั้นตอนการออกแบบการแปลง DCT ระบบการแปลง DCT แบบ 1 มิติ ด้วยอัลกอลิทึม multiplierless ออกแบบโดย การเขียนภาษา VHDL แล้วนำมาสังเคราะห์ลงชิพ FPGA โดยมีลำดับการ ออกแบบดังนี้ ขั้นตอนการเขียนภาษา VHDL เป็นขั้นตอนที่ใช้ภาษา VHDL มาอธิบายคุณลักษณะ ของวงจรในระบบ ขั้นตอนการจำลองการทำงาน ในขั้นตอนนี้เป็นการตรวจสอบการทำงานของวงจรใน ด้านฟังก์ชั่น โดยดูการทำงานของแต่ละวงจรก่อน แล้วจึงตรวจสอบการทำงานของ ระบบ ขั้นตอนการสังเคราะห์และลงอุปกรณ์จริง เป็นขั้นตอนสำหรับแปลงจากภาษา VHDL เป็นวงจรเกต และนำลงชิพ FPGA ขั้นตอนการทดสอบการทำงานของชิพ
END