Superior COmmunications Research and Prototyping for commercialization ความก้าวหน้าในการพัฒนาส่วนประมวลผล สัญญาณเบสแบนด์ ด้วยชิป DSP SCORPion Research Group EE Department, Kasetsart University, Thailand 3G Research Project Meeting December 13, 2002 NECTEC Nipon Pinpuch and Sunt Uttayarath
Superior COmmunications Research and Prototyping for commercialization Outline Block ต่างๆ ที่ได้ทำเสร็จแล้ว CRC Encoder Convolutional Encoder Conclusion Future work
Superior COmmunications Research and Prototyping for commercialization Block ต่างๆ ที่ได้ทำเสร็จแล้ว Block ต่างๆ ที่ได้ทำเสร็จแล้ว CRC Encoder 8, 12, 16, 24 bits Concatenation/Segmentation Channel Coding Convolutional Encoder rate 1/2 and 1/3 ซึ่งทั้งหมดนี้ถูกพัฒนาด้วยภาษา C และ ทดลองบนชิป DSP ของ TI TMS C6416 ที่ มีความเร็ว 600 MHz ด้วยโปรแกรม Code Composer Studio
Superior COmmunications Research and Prototyping for commercialization CRC Encoder คำนวณ M-bit CRC จากข้อมูลที่เข้ามา N บิต ด้วย Generator Polynomial ที่มีอันดับ M แล้วทำการแนบ M บิตนี้ ไว้ที่ท้ายของ ข้อมูล N จะทำให้ผลลัพธ์ที่ได้จากการทำ CRC มีค่า (N+M) บิต
Superior COmmunications Research and Prototyping for commercialization CRC Encoder Algorithm สร้าง Look-up Table ขึ้นมาเพื่อช่วยใน การคำนวณ CRC ทีละ หลายๆ บิต โดยใช้ DSP/BIOS เป็นตัวดำเนินการในการสร้าง Table ขึ้นมา Look-up Table ขนาด 8 บิต ช่วยในการ คำนวณ CRC-8, 16, และ 24 Look-up Table ขนาด 4 บิต ช่วยในการ คำนวณ CRC-12
Superior COmmunications Research and Prototyping for commercialization CRC Encoder Algorithm [2] Input 4 bits Look-up Table Next state 4 bits State 12 bits XOR การใช้งาน Look-up Table ของ CRC-12
Superior COmmunications Research and Prototyping for commercialization CRC Encoder Performance CRCInputClock cyclesTime ( s) CPU Utilization % % % % % %
Superior COmmunications Research and Prototyping for commercialization CRC Encoder Performance (Con ’ t) CRCInputClock cyclesTime ( s) CPU Utilization % % % % % %
Superior COmmunications Research and Prototyping for commercialization Performance of CRC Encoder Number of input bits Clock cycles
Superior COmmunications Research and Prototyping for commercialization Convolutional Encoder การเข้ารหัสข้อมูล N บิต ด้วยอัตรา 1/n ที่ มี Shift Register ขนาด K โดยผลลัพธ์ที่ ออกมาในแต่ละเส้นจะถูก Multiplex เข้า ด้วยกัน ทำให้ได้ผลลัพธ์ เท่ากับ n*(N+K) บิต
Superior COmmunications Research and Prototyping for commercialization Convolutional Encoder Rate 1/2 and 1/3
Superior COmmunications Research and Prototyping for commercialization Convolutional Encoder rate 1/2 Algorithm การเข้ารหัสโดยใช้ Convolutional Encoder และการ Multiplex ผลลัพธ์ในแต่ ละเส้น จะถูก Implement ในลูปเดียวกัน XOR operation ( ทำทีละ 16 บิต ) ใช้คำสั่ง _pack2( ) และ _shfl( ) เพื่อทำ 2-way Multiplex
Superior COmmunications Research and Prototyping for commercialization Convolutional encoder rate 1/2 Algorithm [2] 16-bit XOR Operation in Output 1 16-bit XOR Operation in Output 2 16 bits Output 1 Output 2 Pack2...o2o1o2o1o2o1o2o1o2o1o2o1o2o1 Shuffle
Superior COmmunications Research and Prototyping for commercialization Convolutional Encoder Rate 1/3 Algorithm เนื่องจากความยุ่งยากในการทำ Multiplex กัน 3 สาย จึงทำให้ การเข้ารหัสโดยใช้ Convolutional Encoder กับ การ Multiplex ต้องแยกลูปในการทำงาน XOR operation ( ทำทีละ 16 บิต ) ใช้การทำ Shuffle 2 บิต ก่อนแล้ว MUX. บิต ที่เหลือเข้าด้วยกัน ใช้คำสั่ง _pack2( ) และ _shfl( ) เพื่อช่วย ในการสลับ 2 บิตแรก
Superior COmmunications Research and Prototyping for commercialization Convolutional Encoder Rate 1/3 Algorithm[2]...o2o1o2o1o2o1o2o1o2o1o2o1 Shuffle 16-bit XOR in output 1 16-bit XOR in output 2 16-bit XOR in output 3 Output2Output 1 Pack2 MUX...o3o2o1o3o2o1o3o2o1o3o2o1o3o2o1o3o2o1o3o2o1o3o2o1o3o2o1o3o2o1o3o2o1
Superior COmmunications Research and Prototyping for commercialization Performance of Convolutional Encoder Rate 1/ % % % % % CPU Utilization Time ( s)Clock cycleInput (bits)
Superior COmmunications Research and Prototyping for commercialization Performance of Convolutional Encoder Rate 1/ % % % % % CPU Utilization Time ( s)Clock cyclesInput (bits)
Superior COmmunications Research and Prototyping for commercialization Performance of Convolutional Encoder
Superior COmmunications Research and Prototyping for commercialization Conclusion Performance of CRC Encoder นั้นจะขึ้นกับ จำนวนในการเปิด Look-up Table และค่าของ CRC ซึ่งทำให้ผลของการทำ CRC-12 นั้น มีค่าสูงกว่า ค่า CRC ตัวอื่นๆ ประมาณ 2 เท่า Performance of Convolutional Encoder นั้น ขึ้นอยู่กับการทำ Multiplex ของ Rate นั้นๆ ว่าจะทำ กี่สาย ยิ่ง rate น้อยเท่าไร จำนวน Cycle ที่ใช้ก็จะ มากขึ้นเป็นลำดับ เมื่อดูการใช้งานของ CPU ทำให้เราประมาณได้ว่า Block ต่างๆ ที่ได้สร้างขึ้นมานั้น น่าจะมี ความสามารถในการทำงานที่เวลาจริงได้ ( Real time)
Superior COmmunications Research and Prototyping for commercialization Future Work สร้าง Block ที่เหลือใน Transport Channel Turbo Encoder, 1 st interleave, Radio Frame Segmentation and Rate Matching นำ Block ต่างๆ มาต่อกัน ทดสอบการ ทำงานของ Transport Channel ใน ส่วน Uplink แล้วนำไปเปรียบเทียบผลลัพธ์ที่ได้มา จาก MATLAB V 6.5 เพื่อตรวจสอบความ ถูกต้องของส่วนประมวลผลสัญญาณ เบสแบนด์ที่พัฒนาด้วยภาษา C