?????????????? Turbo Codes by D9txsW6

VIEWS: 55 PAGES: 37

									                                                                           รำยงำน การเข้ารหัสแบบ Turbo Codes
                                                                                    นายดิสพล ฉ่ าเฉี ยวกุล


                            การเข้ารหัสแบบ Turbo Codes

1. บทนำ
           การเข้ารหัสแบบ Turbo Codes [1] เป็ นการเข้ารหัสข้อมูลในระบบสื่ อสารรู ปแบบหนึ่ง
      ั
ที่มีวตถุประสงค์ในการทางานเพื่อลดความผิดพลาดของข้อมูลที่เกิดขึ้นระหว่างการส่ งผ่านระบบสื่ อสาร
ที่มีผลมาจากการถูกรบกวนจากสัญญาณรบกวนต่างๆที่เกิดขึ้นในระบบสื่ อสาร ถูกค้นพบในปี พ.ศ.
2536(ค.ศ. 1993) โดย Claude Berrou, Alian Glavieux และ Punya Thitimajshima
ผลที่ได้จากการเข้ารหัสข้อมูลแบบ                 Turbo            Codes            ในระบบสื่ อสาร
                   ้
สามารถที่ทาให้ขอมูลต่างๆที่ถูกส่ งผ่านระบบสื่ อสารนั้น            ั                         ้
                                                               มีอตราการเกิดความผิดพลาดที่นอยลง
ซึ่ งจะส่ งผลให้สามารถส่ งข้อมูลโดยใช้กาลังส่ งที่ลดลงได้
ซึ่งความสัมพันธ์ระหว่างค่าอัตราส่ วนระหว่างกาลังส่ งข้อมูลต่อกาลังของสัญญาณรบกวน หรื อ S/N
และสาหรับระบบสื่ อสารที่มีการนาหลักการของ                 TurboCodes           มาทาการใช้งานนั้น
จะสามารถลดความต้องการค่า S/N ของภาคถอดรหัสลงได้จนมีค่าที่ใกล้เคียงกับค่าในทฤษฎีของ
Shannon                   โดยในการเข้ารหัสข้อมูลแบบ                   Turbo                Codes
จะเป็ นการเข้ารหัสข้อมูลที่มีการนาหลักการเกี่ยวกับการเข้ารหัสในรู ปแบบของ Parallel Concatenated
และมีการนาวิธีการถอดรหัสแบบ Iterative decoding มาใช้ในการทางาน

          ในรายงานฉบับนี้ จะเป็ นการบรรยายเกี่ยวกับหลักการพื้นฐานและวิธีการเข้ารหัสข้อมูลแบบ
Turbo                              Codes                           และรู ปแบบในการนาไปใช้งาน
โดยจะเป็ นการกล่าวถึงรู ปแบบและวิธีการสาหรับการเข้ารหัส , ถอดรหัสแบบ Turbo Codes และ
อุปกรณ์ที่มีการนารู ปแบบในการเข้ารหัสแบบTurbo           Codes      มาใช้ในการทางานในด้านต่างๆ
ซึ่ งจะมีรายละเอียดดังต่อไปนี้

2. กำรเข้ ำรหัสข้ อมูลในระบบสื่ อสำร
          ในการออกแบบหรื อใช้งานระบบสื่ อสารแบบดิจิตอลนั้น
จะต้องมีการพิจารณาถึงองค์ประกอบในหลายๆส่ วนด้วยกัน โดยสิ่ งหนึ่งที่จะต้องมีการพิจารณาก็คือ
                                               ้
ข้อมูลดิบที่ถูกส่ งจากต้นทางไปถึงปลายทางนั้นมีขอมูลที่เกิดความผิดพลาดขึ้นหรื อไม่
ที่เกิดจากสาเหตุต่างๆหลายสาเหตุดวยกัน โดยที่สาเหตุหลักที่จะทาให้เกิดความผิดพลาดดังกล่าวคือ
                                  ้
การที่ระบบสื่ อสารนั้นถูกรบกวนจากสัญญาณรบกวนต่างๆ
ถ้าหากว่าขนาดของสัญญาณรบกวนที่เกิดขึ้นในระบบสื่ อสารนั้นมีค่าที่สูง
จะส่ งผลให้อตราการเกิดความผิดพลาดของข้อมูล (Bit Error Rate) ที่เกิดขึ้นมีค่าสู งตามไปด้วย
              ั


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

            สาหรับการลดอัตราการเกิดความผิดพลาดที่เกิดขึ้นในการส่ งข้อมูลด้วยวิธีการเข้ารหัส(Coding)
นั้น                     จะเป็ นการนาข้อมูลดิบที่จะทาการส่ งผ่านระบบสื่ อสารที่เป็ นข้อมูลแบบดิจิตอล
มาทาการผ่านกระบวนการ                    “เข้ารหัส”                          หรื อ            “Encoding”
                                                                 ่
เพื่อเปลี่ยนรู ปแบบของข้อมูลที่จะถูกส่ งผ่านระบบสื่ อสารให้อยูในรู ปแบบที่สามารถนาข้อมูลมาทาการ
แก้ไขความผิดพลาดของข้อมูลที่เกิดขึ้นเนื่ องจากการถูกรบกวนจากสัญญาณรบกวนต่างๆได้
          ้
โดยที่ขอมูลที่ได้จากการทางานนั้นจะเป็ นข้อมูลที่จะถูกส่ งออกไปผ่านระบบสื่ อสาร
และเมื่อข้อมูลดังกล่าวถูกส่ งมาถึงปลายทาง                                            ั
                                                          จะมีการนาข้อมูลที่รับได้น้ นมาผ่านกระบวนการ
“ถอดรหัส”                                           หรื อ                                    “Decoding”
                                                    ่
เพื่อเปลี่ยนรู ปแบบของข้อมูลที่รับได้ให้กลับมาอยูในรู ปของข้อมูลดิบพร้อมทั้งทาการแก้ไขข้อมูลที่คาด
ว่าจะเกิดความผิดพลาดขึ้นให้มีค่าที่ถูกต้อง          โดยที่รูปแบบหรื อวิธีการที่ใช้ในการเข้ารหัสข้อมูลนั้น
        ่
จะมีอยูหลายวิธีการด้วยกัน ซึ่ งก่อนที่จะมีการค้นพบการเข้ารหัสแบบ Turbo Codes วิธีการเข้ารหัสแบบ
Convolution             Codes            จะเป็ นรู ปแบบในการเข้ารหัสข้อมูลที่มีการนิยมใช้งานมากที่สุด
                      ิ
โดยจะมีการนิยมใช้วธีการถอดรหัสแบบ Viterbi Decoding ในการถอดรหัสข้อมูลสาหรับ Convolution
Codes

3. กำรเข้ ำรหัสแบบ Turbo Codes
           ในกรณี ของการเข้ารหัสแบบ                      Turbo               Codes                นั้น
จะเป็ นรู ปแบบในการเข้ารหัสข้อมูลในระบบสื่ อสารที่มีการค้นพบในปี พ.ศ. 2536(ค.ศ. 1993) โดย
Claude         Berrou        ,       Alian          Glavieux     และ        Punya       Thitimajshima
โดยจะเป็ นรู ปแบบในการเข้ารหัสข้อมูลที่มีการพัฒนาให้มีความสามารถในการป้ องกันความผิดพลาดข
องข้อมูลที่สูงขึ้น โดยในการเข้ารหัสแบบ Turbo Codes จะมีการนาวิธีการเข้ารหัสข้อมูลแบบ Parallel
Concatenate                   และวิธีการถอดรหัสแบบ                   Iterative               Decoding
มาใช้ในการทางานเพื่อให้ได้รูปแบบในการเข้ารหัสข้อมูลที่มีความสามารถในการป้ องกันความผิดพลา
ดของข้อมูลได้สูงขึ้น                                                                    ั
                                               โดยที่ไม่มีรูปแบบของวงจรที่มีการทางานที่ซบซ้อนมากขึ้น
ผลลัพธ์ที่ได้จากการเข้ารหัสแบบ                         Turbo                Codes                 นั้น
สามารถที่ทาให้ขอมูลต่างๆที่ถูกส่ งผ่านระบบสื่ อสาร มีอตราการเกิดความผิดพลาดที่มีค่าน้อยลงได้
                   ้                                           ั
โดยไม่มีการเพิ่มกาลังของเครื่ องส่ งให้มีค่าสู งขึ้น
ซึ่ งจะส่ งผลให้สามารถส่ งข้อมูลโดยใช้กาลังส่ งที่ลดลงได้

                                                   2
และสาหรับระบบสื่ อสารที่มีการนาหลักการของ            TurboCodes          มาทาการใช้งานนั้น
จะสามารถลดความต้องการค่าอัตราส่ วนระหว่างกาลังส่ งข้อมูลต่อกาลังของสัญญาณรบกวน หรื อ S/N
ของภาคถอดรหัสลงได้จนมีค่าที่ใกล้เคียงกับค่าในทฤษฎีของ Shannon

3.1 ภำคเข้ ำรหัสข้ อมูลแบบ Turbo Codes
            สาหรับรู ปแบบในการเข้ารหัสข้อมูลแบบ                    Turbo                        Codes                           นั้น
จะมีรูปแบบในการทางานพื้นฐานดังวงจรในรู ปที่ 1 โดยจะเป็ นการนาวงจรเข้ารหัสข้อมูลอย่างน้อย 2
ชุดมาทาการใช้งานร่ วมกันในรู ปแบบของการเข้ารหัสแบบ                               Parallel                       Concatenate
ซึ่ งเป็ นวิธีที่ใช้สาหรับการนาวงจรเข้ารหัสตั้งแต่                                                                                 2
วงจรขึ้นไปมาทางานร่ วมกันเพื่อทาให้ได้รูปแบบในการเข้ารหัสข้อมูลที่มีประสิ ทธิ ภาพในการทางานที่
สู งขึ้น                                       โดยที่ไม่มีการใช้รูปแบบของวงจรที่มีความซับซ้อนมากขึ้น
โดยสาหรับกรณี ของวงจรเข้ารหัสแบบ Turbo Codes นั้น จะมีการนาการเข้ารหัสแบบ Recursive
Systematic                    Convolution                  Codes                           (RSC)                                 [2]
ซึ่งเป็ นรู ปแบบในการเข้ารหัสข้อมูลที่มีการพัฒนามาจากการเข้ารหัสแบบ                         Convolution Codes
มาใช้ในการทางาน                 โดยในการทางานของภาคเข้ารหัสข้อมูลในรู ปที่                                   1                  นั้น
จะเป็ นการนาข้อมูลดิบที่จะทาการเข้ารหัส              d k  d 0 , d1 , d 2 ,...              มาทาการเข้ารหัสข้อมูล
โดยการป้ อนข้อมูลดิบเข้ามาภายในวงจรเข้ารหัส RSC1 และ RSC2                                             ครั้งละ 1 บิต
                                       ่
เพื่อทาการคานวณหาค่าของข้อมูลที่ผานการเข้ารหัส                                                                   (Codeword)
                      ั     ั
ซึ่ งผลลัพธ์ที่ได้น้ นจะมีลกษณะข้อมูลเป็ นแบบ                          Systematic                                       กล่าวคือ
ข้อมูลที่ได้จากวงจรเข้ารหัสในแต่ละครั้งที่มีการทางานนั้น                  จะประกอบไปด้วยข้อมูล                                     2
ส่ วนด้วยกันได้แก่ขอมูลในส่ วนที่มีค่าเหมือนกับข้อมูลดิบ
                        ้                                                                                                   ( xk )
และข้อมูลในส่ วนที่ได้จากภาคเข้ารหัส                   RSC1และ                     RSC2                               (        (
                                                                                                                 ( y k1) , y k 2 ) )
ดังนั้นข้อมูลที่ได้จากการเข้ารหัสนั้นจะมีค่าเท่ากับ                (       (                                     (       (
                                                           {x0 , y 01) , y 02 ) , x1 , y1(1) , y1( 2 ) , x 2 , y 21) , y 22 ) ,...}
          ้
โดยที่ขอมูลดิบที่จะมีการนามาใช้ในการเข้ารหัสข้อมูลสาหรับวงจร                                   RSC2                             นั้น
จะมีการนาข้อมูลดิบมาผ่านกระบวนการ                                                                                    Interleave
                                                     ้
ก่อนที่จะมีการส่ งมายังภาคเข้ารหัสเพื่อที่จะทาให้ขอมูลที่ได้จากวงจรเข้ารหัสในแต่ละวงจรนั้นไม่มีควา
มสัมพันธ์(Correlate)ซึ่ งกันและกัน


                        ข้อมูลดิบ dk                                 xk                              x ksend




                                                                 3
                                                                  y k1)
                                                                    (
                                                                                        y ksend

                                                                              1 1 
                                                                          p  1 0
                                                                               
                                                                  y k2)
                                                                    (
                                                                              0 1
                                                                                        I = Interleave

                                                 รู ปที่1 วงจรเข้ารหัสแบบ Turbo Codes

          และข้อมูลที่ได้จากการทางานของภาคเข้ารหัสข้อมูล          RSC1         และ             RSC2
นั้นจะถูกส่ งต่อมายังภาค                                                                    Puncture
ซึ่ งจะมีหน้าที่ในการลดจานวนของข้อมูลที่จะถูกส่ งผ่านระบบสื่ อสารให้มีจานวนลดลงตามรู ปแบบที่มี
                                             ่
การกาหนดไว้ ซึ่ งจะมีรูปแบบในการทางานอยูหลายรู ปแบบด้วยกัน โดยในกรณี ของวงจรเข้ารหัสแบบ
Turbo                     Codes                  ในรู ปที่               1                        นั้น
จะเป็ นการลดจานวนข้อมูลที่จะส่ งผ่านระบบสื่ อสารโดยการส่ งสัญญาณข้อมูล y k(1) และ y k( 2 ) สลับกันส่ ง
ร่ วมกับสัญญาณข้อมูล x k ดังนั้นข้อมูลที่จะได้หลังจากการทางานของภาค Puncture นั้นจะมีค่าเท่ากับ
        (                            (
{x0 , y 01) , x1 , y1( 2 ) , x 2 , y 21) ,...}




3.2 ภำคถอดรหัสข้ อมูลแบบ Turbo Codes
            สาหรับภาคถอดรหัสข้อมูลแบบ                                Turbo                            Codes
ที่ใช้สาหรับนาข้อมูลที่รับได้ที่ภาครับซึ่งเป็ นข้อมูลที่ถูกเข้ารหัสแบบ              Turbo             Codes
                                                           ่
มาทาการเปลี่ยนรู ปแบบของข้อมูลที่รับได้ให้กลับมาอยูในรู ปของข้อมูลดิบอีกครั้ง
          ้
โดยใช้ขอมูลต่างๆที่ถูกส่ งมานั้นในการตัดสิ นใจเลือกค่าของข้อมูลดิบที่มีความเป็ นไปได้มากทีสุด
เพื่อส่ งออกไปเป็ นผลลัพธ์ที่ได้จากการทางานของวงจรถอดรหัส
โดยสาหรับกรณี ของการถอดรหัสสาหรับ Turbo Codes นั้นจะมีรูปแบบในการถอดรหัสข้อมูลเป็ นแบบ
iterative         decoding         ที่มีรูปแบบในการถอดรหัสเป็ นแบบป้ อนกลับ              (Feed         back)
โดยในการทางานในแต่ละรอบการทางานนั้น
                                                ่
จะเป็ นการนาข้อมูลที่รับได้ซ่ ึ งเป็ นข้อมูลที่ผานการเข้ารหัสมาทาการประมวลผลเพื่อคานวณหาค่าความ
น่าจะเป็ นของข้อมูลดิบที่คาดว่าจะถูกส่ งมา ณ เวลาต่างๆ โดยค่าความน่าจะเป็ นดังกล่าวนั้น
จะถูกส่ งออกมาจากวงจรถอดรหัสในรู ปแบบของค่าที่เรี ยกว่า                     extrinsic            information
โดยจะเป็ นข้อมูลที่จะถูกนามาใช้ในการคานวณในรอบต่อไปเพื่อเป็ นการปรับปรุ งการคานวณต่างๆ
ให้มีความแม่นยามากยิงขึ้นในการประมวลผลในรอบต่อไป
                         ่                                            ดังนั้น        ทุกๆครั้งที่มีการทางาน

                                                              4
จะทาให้ขอมูลต่างๆที่ได้จากการคานวณนั้นมีค่าใกล้เคียงค่าที่ถูกต้องมากยิงขึ้น
          ้                                                           ่
และเมื่อมีการวนรอบในการทางานครบตามที่กาหนดแล้วจะมีการนาข้อมูลที่เรี ยกว่า Log A Posteriori
Probability                                                                              (LAPP)
ที่ได้จากการทางานมาใช้ในการตัดสิ นใจเพื่อเลือกค่าของข้อมูลดิบที่จะถูกส่ งออกไปเป็ นผลลัพธ์ของภา
คถอดรหัส โดยจะมีรูปแบบในการถอดรหัสข้อมูลดังรู ปที่ 2




                                รู ปที่2 วงจรถอดรหัส Turbo Codes

        ซึ่งจะมีรูปแบบในการทางานที่มีการประยุกต์มาจากวิธีการถอดรหัสแบบ symbol-by-symbol
Maximum a posteriori(MAP) หรื อ BCJR Algorithm [4]ซึ่ งถูกค้นพบโดย Bahl ในปี พ.ศ. 2517
(ค.ศ.1974)         โดยสาหรับรู ปแบบในการถอดรหัสข้อมูลแบบ        Turbo    Codes      นั้น
      ั
จะมีลกษณะการทางานดังรู ปที่ 2

           ในส่ วนของวิธีการถอดรหัสสาหรับ Turbo Codes ดังที่แสดงในรู ปที่ 2 นั้น
       ั
จะมีลกษณะการทางานในรู ปแบบของการถอดรหัสแบบ                         Iterative        Decoding
โดยในการถอดรหัสข้อมูลเพื่อหาค่าของข้อมูลดิบที่ถูกส่ งมาในแต่ละช่วงนั้น
จะเป็ นการนาข้อมูลที่รับได้ในแต่ละช่วง      (xk        ,     yk)        มาทาการ   Depuncture
เพื่อจัดรู ปแบบของข้อมูลเพื่อกระจายข้อมูลไปยังภาคถอดรหัส                   DEC1              และ
DEC2ซึ่ งจะเป็ นภาคถอดรหัสที่ใช้ในการถอดรหัสข้อมูลที่ได้จากวงจรเข้ารหัส RSC1         และ 2
ของภาคเข้ารหัสตามลาดับที่มีรูปแบบในการถอดรหัสที่มีการประยุกต์มาจากวิธีการถอดรหัสแบบ
symbol-by-symbol Maximum a posteriori(MAP) หรื อ BCJR Algorithm [4] ซึ่งถูกค้นพบโดย Bahl
ในปี พ.ศ. 2517 (ค.ศ.1974) มาใช้ในการทางาน โดยในการทางานของภาคถอดรหัสในแต่ละวงจรนั้น
จะเป็ นการนาข้อมูลที่รับได้ ซึ่ งจะประกอบไปด้วยข้อมูลในส่ วนของข้อมูลที่รับได้ ( xkrecv , y krecv )
และข้อมูลในส่ วนที่เรี ยกว่า       a       priori        probability            (              La)
ที่ได้จากการประมวลผลของวงจรถอดรหัสวงจรก่อนมาใช้ในการทางาน
โดยจะนาค่าที่ได้รับนั้นมาใช้ในการคานวณหาค่าที่เรี ยกว่า           extrinsic       information


                                                5
ซึ่ งจะเป็ นข้อมูลที่จะถูกนาไปใช้ในการปรับปรุ งการทางานของวงจรถอดรหัสชุดต่อไปให้มีการคานวณ
ที่มีความแม่นยามากยิงขึ้น และเมื่อมีการทางานครบตามที่กาหนดแล้ว จะมีการคานวณหาค่าที่เรี ยกว่า
                        ่
Log         A Posteriori Probability (LAPP) เพื่อนามาใช้ในการตัดสิ นใจค่าของข้อมูลดิบ dk
ที่จะถูกส่ งออกไปเป็ นผลลัพธ์ของภาคถอดรหัส

           เนื่องจากข้อมูลต่างๆที่ถูกใช้ในการทางานของภาคเข้ารหัส        RSC2           นั้น
       ่                   ่
จะอยูในรู ปของข้อมูลที่ผานกระบวนการ                                             Interleave
                                                                ั
เพื่อทาให้ขอมูลที่ได้จากวงจรเข้ารหัสทั้งสองนั้นไม่มีค่าสัมพันธ์กน
               ้
                                   ั
ดังนั้นเพื่อให้เกิดความสัมพันธ์กบภาคเข้ารหัส
จึงจาเป็ นที่จะต้องนาข้อมูลต่างๆที่จะถูกส่ งมาจากวงจรถอดรหัส DEC1 มายังวงจร DEC2
มาผ่านกระบวนการ                                                                 Interleave
                                           ่
เพื่อเปลี่ยนแปลงรู ปแบบของข้อมูลให้อยูในรู ปแบบเดียวกันก่อนที่จะนามาทาการใช้งาน
และในทางกลับกัน ข้อมูลต่างๆที่จะถูกส่ งออกไปจากวงจรถอดรหัส DEC2 มายังวงจร DEC1 นั้น
จะต้องมีการนาข้อมูลมาผ่านกระบวนการ Deinterleave ก่อนที่จะมีการนามาใช้งาน

     ้
4. พืนฐำนในกำรเข้ ำรหัสข้ อมูลสำหรับ Turbo Codes
          สาหรับการเข้ารหัสข้อมูลแบบ               Turbo           Codes             นั้น
เป็ นรู ปแบบในการเข้ารหัสข้อมูลทีมีการนาวงจรเข้ารหัสแบบ Recursive Systematic Convolution
Codes        มาใช้ในการเข้ารหัสข้อมูลในรู ปแบบของการทางานแบบ      Parallel   Concatenate
ดังนั้นในการพิจารณาถึงกระบวนการในการทางานต่างๆของวงจรเข้ารหัสแบบ Turbo Codes นั้น
จะต้องมีการพิจารณาถึงรู ปแบบในการเข้ารหัสข้อมูลแบบ Convolution Codes และ Recursive
Systematic Convolution Codes โดยจะมีรายละเอียดต่างๆดังต่อไปนี้



4.1 กำรเข้ ำรหัสข้ อมูลแบบ Convolution Codes
          ในการเข้ารหัสข้อมูลแบบ                         Convolution                        Codes
เป็ นรู ปแบบในการเข้ารหัสข้อมูลที่มีการนาข้อมูลดิบที่จะทาการเข้ารหัสมาทาการประมวลผลเพื่อคานว
                      ่
ณหาค่าของข้อมูลที่ผานการเข้ารหัส ( Codeword) ซึ่ งจะเป็ นข้อมูลที่จะถูกส่ งผ่านระบบสื่ อสาร
โดยที่รูปแบบของวงจรเข้ารหัสแบบ Convolution Codes จะประกอบไปด้วยอุปกรณ์ประเภท Memory
หรื อ       Shift-Register    และวงจรบวกเลขแบบ           Modulo-2      ซึ่ งในการเข้ารหัสข้อมูลนั้น
จะเป็ นการนาข้อมูลที่จะทาการเข้ารหัสเข้ามาเก็บไว้ในเมมโมรี่ ภายในวงจรเข้ารหัสครั้งละ k0 บิต


                                                6
                        ่
เพื่อที่จะนาข้อมูลที่อยูในเมมโมรี่ ของวงจร                                                 ณ
เวลานั้นๆมาใช้สาหรับการคานวณหาค่าของข้อมูลที่ได้จากการเข้ารหัส ณ เวลานั้นๆจานวน n0 บิต
ซึ่ งถูกส่ งออกไปเป็ นผลลัพธ์ของภาคเข้ารหัสข้อมูล ดังเช่นตัวอย่างวงจรเข้ารหัสในรู ปที่3(a)


                                                yk (1)                           yk (1)

       dk                                                    dk

                                                yk (2)                           yk (2)

                              (a)                               (b)
                    รู ปที่ 3 ตัวอย่างของวงจรเข้ารหัสแบบ Convolution Codes

         จากรู ป                 เป็ นตัวอย่างของวงจรเข้ารหัสข้อมูลแบบ            Convolution
Codesที่มีการดึงข้อมูลเข้ามายังเมมโมรี่ ภายในวงจรเข้ารหัสครั้งละ                            1
บิต(k0=1)เพื่อใช้ในการเข้ารหัสข้อมูลครั้งละ                2           บิต             (n0=1)
                                              ่
ซึ่ งสามารถที่จะพิจารณาถึงการนาข้อมูลที่อยูในวงจรมาใช้งานโดยแทนวงจรด้วยรู ปที่           3(b)
เมื่อพิจารณาให้ขอมูลดิบที่จะทาการเข้ารหัสมีค่าเป็ น
                  ้

                                    d  (, d 1 , d 0 , d1 , )                                (1)

                                                            ่
หรื อในกรณี ที่พิจารณาในรู ปแบบของ Delay Operator (D) จะได้วา

                              d ( D)  ( , d 1 D 1 , d 0 , d1 D, )                          (2)

      จะพบว่าในการคานวณหาค่าของข้อมูลที่ได้จากการเข้ารหัสในแต่ละช่วงเวลานั้น
สามารถคานวณได้จากสมการ

                                               y i(1)  d i  d i  2                       (3.1)
                                    y   ( 2)
                                        i        d i  d i 1  d i  2                    (3.2)




                                                         7
          ดังนั้นเมื่อพิจารณาในรู ปแบบของ       Delay Operator จะพบว่าข้อมูลที่ได้จากการเข้ารหัส
y (1) ( D) และ y ( 2) ( D) จะมีค่าเท่ากับ


                                      y (1) ( D)  g1 ( D)d ( D)
                                                                                                    (4.1)
                                      y ( 2) ( D)  g 2 ( D)d ( D)
                                                                                                    (4.2)


         โดยที่ g1 และ g2 นั้นถูกเรี ยกว่าเป็ นค่าGenerator Polynomial ของวงจรเข้ารหัส
                                        ่                                           ่
ซึ่ งจะแสดงถึงรู ปแบบในการนาข้อมูลที่อยูในวงจรเข้ารหัสมาใช้ในการคานวณหาค่าข้อมูลที่ผานการเข้า
รหัส โดยในกรณี ของวงจรในรู ปที่2 นั้น จะมีค่าเท่ากับ

                                                  g1 ( D)  1  D 2                                 (5.1)
                                              g 2 ( D)  1  D  D        2
                                                                                                    (5.2)

        โดยจะมีการแทนด้วยตัวแปรที่เรี ยกว่า Generator matrix ซึ่ งมีค่าเป็ นตัวเลขไบนารี่ หรื อเลขฐาน
8      ที่ใช้สาหรับแสดงถึงลักษณะของ        Generator      polynomial            ของวงจรเข้ารหัสนั้นๆ
ในกรณี ของวงจรเข้ารหัสในรู ปที่2 นั้นจะมีค่าเท่ากับ [1012 1112] หรื อ [58 78]
ซึ่งสามารถนามาใช้ในการคานวณหาค่าของข้อมูลที่ได้จากการเข้ารหัสของเอาท์พุทต่างๆของวงจรได้โ
ดยการนาค่า Generator matrix ของเอาท์พุทนั้นๆมาทาการคานวณหาค่า Convolution
กับข้อมูลดิบที่จะทาการเข้ารหัส โดยจะสามารถคานวณได้จากสมการ
                                                     K 1
                                            y k1)   g1i d k i
                                              (
                                                                       mod. 2                       (6.1)
                                                     i 0
                                                     K 1
                                            y k 2 )   g 2 i d k i
                                              (
                                                                       mod. 2                       (6.2)
                                                     i 0




         โดยที่ค่า          K              เป็ นตัวแปรที่เรี ยกว่า      Constraint    length
                                                                             ่
ซึ่ งแสดงถึงจานวนข้อมูลทั้งหมดที่ถูกนามาพิจารณาในการคานวณหาค่าข้อมูลที่ผานการเข้ารหัส ณ
เวลาต่างๆ ในส่ วนของการพิจารณาลักษณะของข้อมูลที่ได้จากการเข้ารหัสแบบ Convolution Codes
สามารถแบ่งรู ปแบบในการเข้ารหัสออกเป็ น                                                     2
รู ปแบบด้วยกันตามลักษณะของข้อมูลที่ได้หลังจากการเข้ารหัส ได้แก่ Systematic และ Nonsystematic
Convolution Codes สาหรับกรณี ของการเข้ารหัสแบบ Systematic Convolution Codes นั้น
          ่
ข้อมูลที่ผานการเข้ารหัสในแต่ละครั้งซึ่ งถูกส่ งออกมาจากวงจรเข้ารหัสนั้น
                                                                                   ่
จะประกอบไปด้วยข้อมูลสองส่ วนด้วยกันคือส่ วนของข้อมูลดิบและส่ วนของข้อมูลที่ผานการเข้ารหัส
แต่สาหรับกรณี ของ Nonsystematic Convolution Codes ข้อมูลที่ได้จากการเข้ารหัสในแต่ละครั้ง

                                                      8
     ่                  ่
จะอยูในรู ปของข้อมูลที่ผานการเข้ารหัสแล้วเท่านั้น        ซึ่ งข้อมูลที่ได้จากการเข้ารหัสในกรณี ของ
Nonsystematic Convolution Codes จะมีค่าความแตกต่างของข้อมูล (distance) ที่มีค่ามากกว่ากรณี ของ
Systematic Convolution Codes ซึ่ งจะทาให้ความสามารถในการป้ องกันความผิดพลาดของข้อมูลของ
Nonsystematic Convolution Codesมีค่าที่มากกว่ากรณี ของ Systematic Convolution Codes

          สาหรับการถอดรหัสข้อมูลสาหรับวิธีการเข้ารหัสแบบ     Convolution       Codes      นั้น
                                ่
จะมีรูปแบบในการถอดรหัสอยูหลายวิธีการด้วยกัน
                                                                     ิ
โดยที่รูปแบบในการถอดรหัสข้อมูลที่มีการนิยมนามาใช้งานมากที่สุดได้แก่วธีการถอดรหัสแบบ
Viterbi Decoding ที่เป็ นวิธีการถอดรหัสข้อมูลสาหรับ Convolution Codes โดยในการทางานนั้น
จะมีการนา Trellis Diagram ของวงจรเข้ารหัสมาใช้ในการทางานของภาคถอดรหัส โดยที่ Trellis
Diagram                                                                                   นั้น
จะเป็ นรู ปภาพที่ใช้แสดงถึงรู ปแบบในการทางานของวงจรเข้ารหัสในกรณี ที่มีการทางานในกรณี ต่างๆ
           ั
โดยจะมีลกษณะดังรู ปที่ 4




                                      รู ปที่ 4 ตัวอย่างของ Trellis Diagram

         จากรู ป                    เป็ นตัวอย่างของ                     Trellis                    Diagram
                                                 ั
ที่ใช้สาหรับแสดงข้อมูลต่างๆที่เป็ นไปได้ท้ งหมดที่จะถูกส่ งออกมาจากภาคเข้ารหัสข้อมูลในกรณี ที่มีวง
จรเข้ารหัสดังรู ปที่3 โดยที่มีการเข้ารหัสข้อมูลจานวน 4 บิต โดยสาหรับโหนดต่างๆที่อยูในรู ปนั้น     ่
จะแสดงถึงข้อมูลต่างๆที่ถูกเก็บไว้ในวงจรเข้ารหัสและเส้นทางต่างๆใน Trellis Diagram นั้น
                                                         ่
จะแสดงถึงลักษณะการเปลี่ยนแปลงของข้อมูลที่อยูในวงจรเข้ารหัสเมี่อมีการป้ อนข้อมูลดิบเข้ามาในกร
ณี ต่างๆ และ ตัวเลข ( x / y k(1) y k( 2) ) ที่อยูเ่ หนือเส้นทางนั้น จะแสดงถึงข้อมูลดิบที่ถูกป้ อนเข้ามา ณ
                                               ่
เวลานั้นๆ (x) และ ข้อมูลที่ผานการเข้ารหัสที่จะถูกส่ งออกไปจากภาคเข้ารหัส ( y k(1) , y k( 2) )
ตัวอย่างเช่นกรณี ที่มีการป้ อนข้อมูลดิบที่มีค่าเท่ากับ                  x   ,0,1,1 เข้ามาในวงจรเข้ารหัส
                                                                             1
จะทาให้ขอมูลที่ได้จากการเข้ารหัสนั้นมีค่าเท่ากับ y  1,1,0,1,0,0,1,0,1,0,1,1
          ้


                                                    9
ที่มีการแทนด้วยเส้นทางที่มีเส้นทึบในรู ปที่ 4    โดยข้อมูลที่ได้จากการทางาน 4 บิตสุ ดท้ายนั้น
                                              ่
จะเกิดมาจากการป้ อนข้อมูลเพื่อทาให้ขอมูลที่อยูในวงจรเข้ารหัสกลับสู่ สภาวะเริ่ มต้น
                                       ้

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


4.2 วงจรเข้ ำรหัสแบบ Recursive Systematic Convolution Codes
            สาหรับการเข้ารหัสข้อมูลแบบ Recursive Systematic Convolution Codes หรื อ RSC
เป็ นรู ปแบบของการเข้ารหัสข้อมูลที่มีการนาคุณสมบัติของการเข้ารหัสแบบ Nonsystematic และ
Systematic                                     Convolution                                 Codes
                          ้                           ั
รวมเข้าด้วยกันเพื่อให้ขอมูลที่ได้จากการเข้ารหัสนั้นมีลกษณะของข้อมูลเป็ นแบบ           Systematic
                                         ่
ที่มีการส่ งข้อมูลดิบไปพร้อมกับข้อมูลที่ผานการเข้ารหัส แต่ยงคงมีค่าความแตกต่างของข้อมูล(distance)
                                                           ั
ซึ่ งเป็ นค่าที่แสดงถึงความสามารถในการป้ องกันความผิดพลาดของข้อมูลมีค่าเท่ากับกรณี ของ
Nonsystematic
                 ั
ซึ่ งผลที่ได้น้ นจะทาให้ความสามารถในการป้ องกันความผิดพลาดของข้อมูลในกรณี ของการเข้ารหัสแบ
บ RSC นั้นมีค่ามากกว่ากรณี ของ Nonsystematic Convolution Codes ณ สภาวะของระบบสื่ อสารที่มีค่า
S/N ต่า และมีการเข้ารหัสด้วยอัตราการเข้ารหัสที่สูง สาหรับวงจรที่ใช้ในการเข้ารหัสแบบ RSC
จะเป็ นวงจรเข้ารหัสที่มีการดัดแปลงมาจากวงจรเข้ารหัสแบบ Nonsystematic Convolution Codes
โดยการนาสัญญาณข้อมูลที่ได้จากการเข้ารหัสสัญญาณใดสัญญาณหนึ่งป้ อนกลับ(Feedback)
มาเป็ นข้อมูลอินพุทของวงจรเข้ารหัส

                                                    ั
         ในกรณี ของวงจรเข้ารหัสแบบ RSC ที่มีอตราการเข้ารหัส (Code Rate) เท่ากับ ½
จะมีการออกแบบโดยการพิจารณาจากวงจรเข้ารหัสแบบ Nonsystematic Convolution Codes
ที่มีอตราการเข้ารหัสเท่ากับ ½ และมีค่า Generator Matrix เท่ากับ
      ั

                                                                                                  (7)

                                                10
                                               GNSC = [ g1 , g2 ]

         โดยที่ค่า          g1          และ           g2         นั้นเป็ นตัวเลขฐาน         8
                                      ่
ซึ่ งแสดงถึงรู ปแบบในการนาข้อมูลที่อยูในวงจรเข้ารหัสมาใช้ในการคานวณหาค่าของข้อมูลที่ได้จากกา
                                                                             ่
รเข้ารหัสทางเอาท์พุทสัญญาญ 1 และ 2 ตามลาดับ โดยในการเปลี่ยนวงจรให้อยูในรู ปแบบของ RSC
นั้น จะมีการเปลี่ยนแปลงการทางานของวงจรเข้ารหัสให้การทางานในรู ปของการส่ งข้อมูลป้ อนกลับ
โดยการนาสัญญาณเอาท์พุทที่ได้จากการเข้ารหัสสัญญาณใดสัญญาณหนึ่งมาใช้คานวณร่ วมกับข้อมูลที่
ถูกป้ อนเข้ามา               ดังนั้น             ค่า            Generator              Matrix
ของวงจรเข้ารหัสที่ถูกเปลี่ยนแปลงให้มีการทางานในรู ปแบบของ RSC นั้น จะมีค่าเท่ากับ

                              GRSC = [ 1 , g2/g1 ] หรื อ GRSC = [ g1/g2 , 1 ]                         (8)

          ตัวอย่างเช่นในกรณี ของวงจรเข้ารหัสในรู ปที่                    2     นั้น
                       ่
เมื่อมีการเปลี่ยนให้อยูในรู ปแบบของวงจรเข้ารหัสแบบ RSC โดยการนาสัญญาณเอาท์พุท Yk(1)
                                          ั
และ Yk( 2 ) มาใช้ในการป้ อนข้อมูลกลับจะมีลกษณะดังรู ปที่ 5(a) และ (b) ตามลาดับ
                                          xk                                               xk


dk         ak                                           dk          ak

                                          yk                                               yk
                                                                                                (a)
                                                     (b)
รู ปที่ 5 ตัวอย่างวงจรเข้ารหัสแบบ RSC (a) กรณี ใช้สัญญาณ Yk(1) ป้ อนกลับ , (b) กรณี ใช้สัญญาณ
         Yk( 2 ) ป้ อนกลับ


      โดยที่ ak นั้นจะเป็ นข้อมูลที่จะถูกส่ งเข้ามายังเมมโมรี่ ภายในวงจรเพื่อใช้ในการคานวณ
โดยจะสามารถคานวณหาค่าได้จากสมการ

                                   K 1
                                                                                       
                             d k   g1i a k i         mod.2           if   xk  d k 
                                                                                      
                       ak          i 0
                                    K 1                                                             (9)
                            d k   g 2i a k i         mod.2           if   yk  d k 
                            
                                   i 0                                               
                                                                                       



                                                   11
          โดยสาหรับการทางานต่างๆของวงจรนั้น
จะมีการทางานเช่นเดียวกับกรณี ของวงจรเข้ารหัสแบบ                     Convolution                  Codes
แต่เนื่ องจากมีการทางานในลักษณะของการป้ อนข้อมูลกลับ             ดังนั้นถ้าหากส่ งข้อมูลที่เป็ น     0
เข้ามาภายในวงจร                        อาจจะไม่สามารถทาให้สภาวะของวงจรกลับสู่ สภาวะเริ่ มต้นได้
ซึ่งในการใช้งานวงจรเข้ารหัสแบบ RSC ในการเข้ารหัสแบบ Turbo Codes นั้นจะมีการทางานใน 2
ลักษณะด้วยกันได้แก่
กรณี ที่ไม่ตองมีการทาให้ขอมูลที่ถูกเก็บไว้ในวงจรเข้ารหัสกลับสู่ สภาวะที่มีขอมูลเป็ น
            ้              ้                                                ้                        0
ทั้งหมดเมื่อสิ้ นสุ ดการทางาน
และกรณี ที่มีการทาให้ขอมูลที่ถูกเก็บไว้ในวงจรเข้ารหัสกลับสู่ สภาวะที่มีขอมูลเป็ น
                         ้                                               ้                           0
ทั้งหมดเมื่อสิ้ นสุ ดการทางาน

           สาหรับกรณี ที่ไม่มีการทาให้ขอมูลที่ถูกเก็บไว้ในวงจรเข้ารหัสกลับสู่ สภาวะที่มีขอมูลเป็ น 0
                                         ้                                                   ้
ทั้งหมดเมื่อสิ้ นสุ ดการทางานนั้น                            ภายหลังจากที่มีการป้ อนข้อมูลดิบทั้งหมดแล้ว
                                                                        ่
จะถือว่าเป็ นการสิ้ นสุ ดการทางานของภาคเข้ารหัส ซึ่ งข้อมูลที่อยูในวงจรเข้ารหัส ณ เวลานั้น
               ้
อาจจะไม่มีขอมูลที่เป็ น                                       0                                     ทั้งหมด
และสาหรับกรณี ที่มีการทาให้ขอมูลที่ถูกเก็บไว้ในวงจรเข้ารหัสกลับสู่ สภาวะที่มีขอมูลเป็ น
                                  ้                                                   ้                      0
ทั้งหมดเมื่อสิ้ นสุ ดการทางานนั้น                                 หลังจากที่มีการป้ อนข้อมูลดิบทั้งหมดแล้ว
                                                                   ่
จะมีการส่ งข้อมูลเข้ามาภายในวงจรเข้ารหัสเพื่อทาให้ขอมูลทิ่อยูในวงจรเข้ารหัสกลับสู่ สภาวะที่มีขอมูลเ
                                                          ้                                             ้
ป็ น        0        ทั้งหมด        โดยข้อมูลที่ถูกป้ อนเข้ามานั้นจะต้องมีค่าที่สามารถทาให้ขอมูล
                                                                                               ้            ak
ที่ได้จากการนาข้อมูลดังกล่าวมาทาการ Modulo-2 กับสัญญาณข้อมูลที่ถูกป้ อนกลับมา ให้มีค่าเป็ น 0
                         ่
เพื่อทาให้ขอมูลที่อยูในวงจรเข้ารหัสมีค่าเป็ น 0 ทั้งหมด ดังเช่นกรณี ของวงจรเข้ารหัสแบบ RSC ในรู ปที่
             ้
6                     นั้น                 จะเป็ นการดัดแปลงวงจรเข้ารหัสในรู ปที่                         5(a)
ให้สามารถทาให้สภาวะของข้อมูลในวงจรเข้ารหัสกลับสู่ สภาวะที่มีค่าเป็ น                       0               ได้
                  ั
โดยในกรณี ที่ยงมีการเข้ารหัสข้อมูลไม่ครบทุกบิต                จะมีการสลับสวิตช์ไปยังตาแหน่ง                 A
                            ่
แต่เมื่อข้อมูลทั้งหมดได้ผานการเข้ารหัสแล้ว                  จะมีการสลับสวิตช์มายังตาแหน่ง                   B
เพื่อส่ งข้อมูลที่สามารถทาให้ขอมูลในวงจรกลับสู่ สภาวะที่มีค่าเป็ น 0 ได้
                                ้




                                                     12
                              รู ปที่ 6ตัวอย่างวงจรเข้ารหัสแบบ RSC

5. กำรเข้ ำรหัสข้ อมูลแบบ Concatenation
           สาหรับวิธีการเข้ารหัสข้อมูลแบบ                                        Concatenation
จะเป็ นรู ปแบบในการเข้ารหัสข้อมูลที่จะมีการใช้การเข้ารหัสข้อมูลตั้งแต่                       2
รู ปแบบขึ้นไปมาใช้งานในการเข้ารหัสข้อมูลร่ วมกัน
         ั
โดยมีวตถุประสงค์เพื่อให้ได้รูปแบบในการเข้ารหัสข้อมูลที่มีความสามารถในการป้ องกันความผิดพลา
ดได้สูงขึ้น โดยที่ไม่มีการใช้รูปแบบของวงจรเข้ารหัสที่มีความซับซ้อน (Complex) มากขึ้น
โดยที่รูปแบบในการเข้ารหัสแบบ                     Concatenate               ในรู ปแบบทัวไปนั้น
                                                                                          ่
       ั                                                            ั
จะมีลกษณะการทางานเป็ นแบบที่เรี ยกว่า Serial Concatenate ซึ่งจะมีลกษณะของวงจรดังรู ปที่ 7




                            รู ปที่ 7 การเข้ารหัสแบบ Serial Concatenate

             จากรู ปที่           7          เป็ นตัวอย่างของการนาการเข้ารหัสข้อมูล              2
รู ปแบบมาทาการใช้งานร่ วมกันในรู ปแบบของ                          Serial             Concatenate
โดยจะเป็ นการนาข้อมูลที่จะเข้ารหัสมาผ่านการเข้ารหัส                      2            ครั้งด้วยกัน
โดยในการเข้ารหัสในครั้งแรกนั้น               จะถูกเรี ยกว่าเป็ น           Outer           Encode
ซึ่ งข้อมูลที่ได้จากการเข้ารหัสในวงจรแรกนั้น                    จะถูกทาการ              Interleave
เพื่อป้ องกันการเกิดการผิดพลาดของข้อมูลแบบ Burst Error จากนั้นจึงถูกนามาเข้ารหัสครั้งที่สอง
ซึ่ งถูกเรี ยกว่าเป็ น Inner Encoder และในทางกลับกัน เมื่อจะทาการถอดรหัสข้อมูลที่รับได้ที่ปลายทาง

                                                13
จะต้องมีการนาข้อมูลที่รับได้มาผ่านการถอดรหัส Inner Decoder จากนั้นจึงนามาทาการ deinterleave
ข้อมูลและส่ งมายังภาคถอดรหัส Outer Decoder

         สาหรับการเข้ารหัสข้อมูลในรู ปแบบของ          Concatenate       ในอีกลักษณะหนึ่ง
ซึ่งจะถูกนามาเป็ นรู ปแบบในการเข้ารหัสข้อมูลสาหรับ        Turbo        Codes            นั้น
      ั                                                   ั
จะมีลกษณะในการทางานเป็ นแบบ Parallel Concatenate ซึ่งจะมีลกษณะในการเข้ารหัสข้อมูลดังรู ปที่ 8




                         รู ปที่ 8 การเข้ารหัสแบบ Parallel Concatenate
       สาหรับในการทางานของวงจรถอดรหัสแบบ                     Turbo        Codes      นั้น
จะมีการนารู ปแบบในการเข้ารหัสข้อมูลแบบ Parallel Concatenate มาใช้สาหรับการเข้ารหัสข้อมูล
แต่สาหรับรู ปแบบในการถอดรหัสแบบ                    Turbo               Codes         นั้น
จะมีการนารู ปแบบในการถอดรหัสข้อมูลแบบ Serial Concatenated มาทาการใช้งาน

6. กำร Interleave ข้ อมูล
           การ Interleave ข้อมูลนั้นเป็ นกระบวนการในการเปลี่ยนแปลงการจัดเรี ยงข้อมูลดิจิตอล
       ั
ให้มีลกษณะที่แตกต่างออกไปจากเดิม
ซึ่งถูกนามาใช้ในระบบสื่ อสารเพื่อป้ องกันการผิดพลาดของข้อมูลในรู ปแบบของ       Burst        Error
แต่สาหรับกรณี ของวงจรเข้ารหัสแบบ Turbo Codes นั้น จะมีการนาการ Interleave
                                      ้
มาใช้งานโดยมีจุดประสงค์เพื่อทาให้ขอมูลที่ได้จากการเข้ารหัสจากวงจรเข้ารหัสต่างๆนั้น
     ั
มีลกษณะของข้อมูลที่ไม่มีความสัมพันธ์ซ่ ึ งกันและกัน
โดยจะเป็ นการนาข้อมูลดิบที่จะทาการเข้ารหัสในวงจรเข้ารหัสต่างๆ        มาผ่านการ         Interleave
เพื่อทาการเปลี่ยนแปลงรู ปแบบของข้อมูล                                              (permutation)
         ้                        ั
เพื่อให้ขอมูลที่ถูกเข้ารหัสนั้นมีลกษณะที่แตกต่างกัน



                                               14
          สาหรับวิธีการที่ใช้ในการ                       Interleave                   ข้อมูลนั้น
                              ่
จะมีรูปแบบในการทางานอยูหลายวิธีการด้วยกัน                           และในการทางานแต่ละวิธีการนั้น
จะให้ผลลัพธ์ในการทางานที่แตกต่างกัน โดยสาหรับตัวอย่างของรู ปแบบในการ Interleave ข้อมูล
ได้แก่ วิธีการ Interleave ข้อมูลแบบ Block Interleave และ Random Interleave

6.1 Block Interleave
            สาหรับการ Interleave ข้อมูลด้วยวิธีการ Interleave ข้อมูลแบบ Block Interleave นั้น
จะเป็ นวิธีที่การมีการนิยมใช้งานสาหรับระบบสื่ อสาร
                                                            ั
โดยในการทางานเพื่อเปลี่ยนแปลงรู ปแบบของข้อมูลนั้นจะมีลกษณะการทางานที่สามารถแสดงการทาง
านโดยใช้เมตริ กดังรู ปที่                9(a)                               โดยในการทางานนั้น
จะเป็ นการดึงข้อมูลที่จะทาการเปลี่ยนแปลงรู ปแบบเข้ามาเก็บไว้ในเมมโมรี่ โดยจะมีการเก็บข้อมูลเรี ยงจ
ากบนลงล่าง             และ         ซ้ายไปขวา         โดยจะมีการเก็บข้อมูลในลักษณะนี้ต่อไปเรื่ อยๆ
จนกระทังเมมโมรี่ ในวงจรมีการเก็บข้อมูลไว้ทุกตาแหน่งแล้ว
            ่
จากนั้นจึงส่ งข้อมูลออกจากวงจรโดยการเรี ยงลาดับการส่ งจากซ้ายไปขวา         และ          บนลงล่าง
และจะมีการส่ งข้อมูลในลักษณะนี้เรื่ อยๆ
จนกระทังข้อมูลทุกตาแหน่งในเมมโมรี่ ถูกส่ งออกจากวงจรแล้ว
              ่
จากนั้นจึงมีการรับข้อมูลชุดต่อไปเข้ามาในวงจรเพื่อทางานในครั้งต่อไป
                                                              ่
โดยจะมีการทางานในลักษณะนี้ จนกระทังข้อมูลทั้งหมดได้ผานกระบวนการ Interleave แล้ว
                                            ่
จึงสิ้ นสุ ดการทางาน


6.2 Random (Pseudo-Random) Interleave
         ในการInterleave           ข้อมูลด้วยวิธีการแบบ        Random        Interleave   นั้น
จะมีการใช้การสุ่ มตัวเลขขึ้นมาเพื่อใช้สาหรับกาหนดรู ปแบบในการเปลี่ยนแปลงตาแหน่งของข้อมูล
โดยในการนางานนั้น                      จะมีการนาข้อมูลมาครั้งละ               1           ชุด
                                         ่
เพื่อทาการสลับตาแหน่งของข้อมูลให้อยูในตาแหน่งต่างๆตามรู ปแบบของค่าที่ได้จากการสุ่ ม
          ั
โดยจะมีลกษณะในการทางานดังตัวอย่างในรู ปที่ 9(b) ที่เป็ นตัวอย่างของการ Interleave แบบ Random
Interleave ที่มีการดึงข้อมูลเข้ามาภายในวงจรครั้งละ 8 บิตเพื่อเปลี่ยนแปลงตาแหน่งของข้อมูล




                                               15
                            (a)                                             (b)
                รู ปที่9 การInterleave ข้อมูล (a)Block Interleave , (b) Random Interleave

7. กำร Punctured ข้ อมูล
        การทางานของภาค                     Puncture                      ถูกนามาใช้ในวงจรเข้ารหัส
      ั
โดยมีวตถุประสงค์เพื่อที่จะทาให้จานวนบิตของข้อมูลที่จะถูกส่ งผ่านระบบสื่ อสารนั้น มีจานวนที่ลดลง
โดยจะเป็ นการการลบข้อมูลที่จะทาการส่ งบางส่ วนออกไปตามรู ปแบบที่มีการกาหนดไว้
โดยในการแสดงถึงรู ปแบบในการทางานนั้น
                                                           ั
จะมีการแสดงถึงรู ปแบบในการลบข้อมูลที่จะทาการส่ งโดยใช้ตวแปรเมตริ กที่จะแสดงถึงรู ปแบบในกา
รลบข้อมูลที่ได้จากการเข้ารหัส ดังเช่นเมื่อพิจารณาข้อมูลที่ได้จากการเข้ารหัสจากวงจรเข้ารหัสแบบ
                           ั
Turbo Codesในรู ปที่1 จะมีลกษณะของข้อมูลที่ได้จากการ puncture เป็ นดังรู ปที่ 10

                   ..., x0 , x1 , x2 , x3, ...                               ..., x0 , x1 , x2 , x3, ...

                    ..., y 01) , y1(1) , y 21) , y 31) ...          1 1
                           (               (       (                                (                 (       (
                                                                             ..., y 01) , y1( 2 ) , y 21) , y 32 ) ,...
                                                                P  1 0
                                                                        
                   ..., y 02 ) , y1( 2) , y 22 ) , y 32 ) ...
                          (                 (        (
                                                                    0 1 
                                                                        




                                      รู ปที่10 ตัวอย่างวิธีการ Puncturing
           โดยในกรณี ของวงจรในรู ปที่ 8 ซึ่ งเป็ นตัวอย่างที่แสดงถึงรู ปในการทางานของภาค puncture
นั้น                 จะเป็ นการลดจานวนบิตของข้อมูลในส่ วนของข้อมูลที่ได้จากการทางานของวงจรเข้ารหัส
( y k(1) และ y k( 2 ) )ให้มีค่าลดลง            โดยจะใช้การสลับกันส่ งข้อมูลระหว่างสัญญาณ y k(1) และ y k( 2 )
ดังนั้นจะทาให้อตราการเข้ารหัสข้อมูลของการเข้ารหัสนั้นมีค่าที่เพิ่มขึ้นจาก1/3 เป็ น 1/2 ในทางกลับกัน
                        ั
เมื่อข้อมูลต่างๆนั้นถูกส่ งมาถึงปลายทาง                 จะต้องมีการนาข้อมูลมาทาการ          Depuncture
                                                              ่
เพื่อเปลี่ยนแปลงรู ปแบบของข้อมูลที่รับได้ให้กลับมาอยูในรู ปแบบเดิม            ตัวอย่างเช่นในกรณี ที่มีการ



                                                                16
puncture     ข้อมูลที่ได้จากการถอดรหัสดังรู ปที่    10           ่
                                                           จะได้วาเมื่อข้อมูลถูกส่ งมาถึงภาครับ
จะต้องมีการนาข้อมูลมาผ่านภาค Depuncture ซึ่งจะมีรูปแบบในการทางานดังรู ปที่ 11




                                 รู ปที่ 11 ตัวอย่างวิธีการ Depuncture


8. กำร ถอดรหัสข้ อมูลสำหรับ Turbo Codes
         สาหรับวิธีการที่ใช้ในการถอดรหัสข้อมูลสาหรับ                       Turbo               Codes
จะมีรูปแบบในการทางานเป็ นแบบ              Iterative            Decoding            โดยในการทางานนั้น
จะเป็ นการนาข้อมูลที่รับเข้ามาได้มาผ่านกระบวนการเพื่อคานวณหาความเป็ นไปได้ของค่าของข้อมูลดิ
บที่จะถูกส่ งมา     ณ        เวลาต่างๆ          ่
                                          ที่อยูในรู ปของค่าที่เรี ยกว่า      extrinsic   information
และจะเป็ นข้อมูลส่ วนที่ถูกนามาใช้ในการปรับปรุ งการคานวณในการถอดรหัสครั้งต่อไปเพื่อให้มีความ
แม่นยามากขึ้น โดยจะมีการวนรอบในลักษณะนี้ไปเรื่ อยๆ จนกระทังมีการทางานครบตามที่กาหนด
                                                                         ่
จากนั้นจึงนาค่า            log         A             posterori             probability        (LAPP)
ที่ได้จากการทางานมาใช้ในการตัดสิ นใจค่าของข้อมูลดิบที่ได้จากการทางานของวงจรถอดรหัส

       สาหรับการทางานของวงจรถอดรหัสที่ใช้ในการถอดรหัสแบบ Turbo Codes นั้น
จะมีการนาหลักการในการถอดรหัสแบบ         Maximum     a   posteriori  (MAP    )
มาใช้ในกระบวนการถอดรหัสของวงจรถอดรหัส            DEC1           และ      DEC2
โดยจะมีรายละเอียดต่างๆในการทางานดังต่อไปนี้



8.1 วิธีกำรถอดรหัสแบบ MAP
          สาหรับวิธีการถอดรหัสแบบ Maximum a posteriori หรื อ MAP นั้น
เป็ นรู ปแบบในการถอดรหัสข้อมูลที่มีการพิจาณาหาค่าของข้อมูลดิบที่ได้หลังจากการถอดรหัสโดยการ
พิจารณาจากนาข้อมูลจานวน                                                                  n0


                                                  17
                                                                          ่
บิตที่รับได้ที่ปลายทางในแต่ละช่วงเวลามาทาการคานวณหาความเป็ นไปได้วาข้อมูลดิบที่ถูกส่ งมา ณ
เวลานั้นมีความเป็ นไปได้ที่มีจะมีค่าเป็ นข้อมูลใด   โดยสาหรับรู ปแบบและวิธีการในการทางานนั้น
       ิ                      ่                   ิ                                     ิ
จะมีวธีการในการทางานอยูหลายรู ปแบบด้วยกัน แต่วธีการที่มีการนิยมใช้งานมากได้แก่วธีการ BCJR
Algorithm           ซึ่งถูกค้นพบโดย         Bahl    ในปี         พ.ศ.         2517        (ค.ศ.1974)
โดยในการถอดรหัสข้อมูลเพื่อหาค่าของข้อมูลดิบ              dk          ที่คาดว่าจะถูกส่ งมา         ณ
เวลานั้นๆว่าควรจะมีค่าเท่าใด โดยจะมีการพิจารณาจากค่าที่เรี ยกว่า log a posteriori probability (LAPP)
ซึ่ งจะมีค่าเท่ากับ

                                                     P(d k  1 | Rk ) 
                                                     P(d  1 | R ) 
                                      L(u k )  log                                             (10)
                                                         k         k 




         โดยตัวแปร dk นั้นจะเป็ นตัวแปรที่ใช้แทนข้อมูลดิบที่ได้จากการถอดรหัส ณ เวลานั้นๆ
                                                                  ิ
โดยสาหรับกรณี สมการที่ 10 นี้เป็ นกรณี ที่มีการส่ งข้อมูลโดยใช้วธีการมอดูเลตแบบ BPSK ดังนั้น
ข้อมูลดิบที่จะถูกส่ งมานั้นจะมีค่าเท่ากับ +1 หรื อ –1 ซึ่งแทนข้อมูลไบนารี่ 1 หรื อ 0 เท่านั้น และ
สาหรับค่า LAPP นี้จะเป็ นตัวแปรที่จะถูกนามาใช้สาหรับการตัดสิ นใจว่าข้อมูลที่จะถูกส่ งมา ณ
เวลานั้นๆ น่าจะมีค่าเป็ นเท่าใด และตัวแปรRk นั้นเป็ นตัวแปรที่แทนสัญญาณข้อมูลที่รับได้ ณ
ช่วงเวลาต่างๆ โดยถ้าหากว่าค่า LAPP ที่ได้จากการคานวณชุดข้อมูล ณ เวลานั้นๆมีค่ามากกว่า 0
จะมีการตัดสิ นใจให้ขอมูลดิบที่ได้จากการถอดรหัส
                      ้                                     ณ        เวลานั้นมีค่าเท่ากับ      +1
ซึ่ งแทนข้อมูลไบนารี่ ที่มีค่าเป็ น 1 แต่ในกรณี ที่ค่า LAPP ที่ได้น้ นมีค่าน้อยกว่า 0
                                                                               ั
แล้วจะมีการตัดสิ นใจให้ขอมูลดิบที่ได้จากการถอดรหัส
                             ้                                ณ        เวลานั้นมีค่าเท่ากับ    –1
ซึ่ งแทนข้อมูลไบนารี่ ที่มีค่าเป็ น 0

          ในกรณี ของการถอดรหัสแบบ Turbo Codes นั้น เนื่ องจากมีการใช้วงจรในการเข้ารหัสแบบ
Recursive            Systematic      Convolution     Codes         มาใช้ในการเข้ารหัสข้อมูล
ดังนั้นจึงต้องมีการเปลี่ยนแปลงรู ปแบบในการคานวณหาค่าของ LAPP เพื่อให้เหมาะสมกับการทางาน
โดยสาหรับการคานวณหาค่า LAPP ในกรณี ของการเข้ารหัสแบบ Turbo Codes นั้น
จะมีการคานวณหาค่า LAPP ของชุดข้อมูลที่รับได้ในแต่ละช่วงเวลา โดยการคานวณจากค่าที่เรี ยกว่า
joint probability ซึ่งจะมีค่าเท่ากับ

                        1,m 
                           k
                                        Pr{d k  1, S k  m, S k 1  m, R1k 1 , RkN1 } 
        L(u k )  log  m 0,m   log  m m                                                            (11)
                                         Pr{d k  0, S k  m, S k 1  m, R1 , Rk 1 } 
                       k            
                                                                                 k 1   N

                       m             m m                                                  
                                                                                              



                                                  18
                                                                                 ่
        เมื่อทาการเปลี่ยนแปลงรู ปแบบของสมการโดยใช้กฎของเบย์( Bayes’s Rule) จะได้วาค่า
LAPP ที่ได้น้ นจะมีค่าเท่ากับสมการ
              ั

                        Pr{RkN1 | S k  m}. Pr{S k 1  m | R1k 1 }. Pr{d k  1, S k  m, Rk | S k 1  m} 
        L(u k )  log  m m
                      
                                                                                                                  
                             Pr{Rk 1 | S k  m}. Pr{S k 1  m | R1 }. Pr{d k  0, S k  m, Rk | S k 1  m} 
                       
                                 N                                   k 1

                       m m                                                                                      
                                                                                                                  
                                                                                                       (12)
          จะพบว่าลักษณะของสมการที่ใช้ในการคานวณนั้นจะประกอบไปด้วยการคานวณระหว่างค่าค
วามน่าจะเป็ น          3       ค่าด้วยกัน       ดังนั้นจึงได้มีการนิ ยามตัวแปรขึ้นมา 3
                                                                 ั
ตัวแปรด้วยกันเพื่อใช้ในการคานวณหาค่า joint probability ได้แก่ตวแปร forward state matric
(  k (m) ) , reverse state metric (  k (m) ) และ branch metric (  k ( Rk , m, m) )
โดยที่ตวแปรต่างๆนั้นจะมีการนิยามให้มีค่าเท่ากับ
        ั

                                      k (m)  Pr{ S k  m | R1k }                                     (13.1)
                                                     Pr{RkN1 | S k  m}
                                     k (m)                                                           (13.2)
                                                       Pr{RkN1 | R1k }
                        i ( Rk , m, m)  Pr{ d k  i, S k  m, Rk | S k 1  m}                     (13.3)

                ั
        โดยที่ตวแปร  k (m) และ  k (m) ซึ่ งเป็ นตัวแปรที่แสดงถึงค่าความน่าจะเป็ นของข้อมูลที่ถูกเก็
บไว้ในวงจรเข้ารหัสก่อน และ หลังที่จะมีการป้ อนข้อมูลดิบเข้ามาภายในวงจรในกรณี ต่างๆตามลาดับ
โดยในการคานวณนั้น
จะมีการนาค่า  i ( Rk , m, m) ซึ่งเป็ นตัวแปรที่เกิดจากการนาสัญญาณข้อมูลที่รับได้                 ณ
เวลาต่างๆมาเปรี ยบเทียบกับค่าของข้อมูลต่างๆที่จะถูกส่ งออกมาจากวงจรเข้ารหัสในกรณี ต่างๆ
                                                              ั
มาใช้สาหรับการคานวณหาค่า  k (m) และ  k (m) โดยจะมีลกษณะการคานวณแบบย้อนกลับ(Recursiv
e) ดังสมการ
                                                 1

                                                       i   ( Rk , m , m) k 1 (m' )
                                                                                                       (14.1)
                             k ( m)        m i 0
                                                      1

                                          
                                         m    m i  0
                                                               i   ( Rk , m , m) k 1 (m' )
                                                1

                                                           ( Rk , m , m)  k 1 (m' )
                                                                                                       (14.2)
                                                          i
                             k ( m)        m i 0
                                                      1

                                          
                                         m    m i  0
                                                              i    ( Rk , m , m)  k 1 (m' )




                                                              19
           โดยในการคานวณหาค่า  k (m) และ  k (m) ในสมการที่       14             นั้น
                          ่
จะมีการคานวณหาค่าที่อยูในรู ปของการ                                       normalize
                                        ่
เพื่อให้ค่าที่ได้จากการคานวณนั้นมีค่าอยูในช่วงที่ใช้งานเท่านั้น
โดยในการคานวณหาค่า  k (m) และ  k (m)                                ในกรณี ต่างๆนั้น
                                               ั
จะต้องมีการกาหนดค่าเริ่ มต้นในการคานวณให้กบระบบก่อนที่จะมีการทางาน
ซึ่ งจะมีรูปแบบในการกาหนดค่า  k (m) เท่ากับ

                                           0 (0)  1
                                                                                                              (15)
                                           0 (m)  0 m  0


        และสาหรับค่าเริ่ มต้นของ  k (m) นั้น                                                     ่
                                                                จะมีรูปแบบในการตั้งค่าเริ่ มต้นอยู2
                     ่ ั
รู ปแบบด้วยกันขึ้นอยูกบรู ปแบบของการทางานของวงจรเข้ารหัส
                                         ่
โดยสาหรับกรณี ที่ไม่มีการทาให้ขอมูลที่อยูในวงจรเข้ารหัสกลับสู่ สภาวะที่มีค่าของข้อมูลเป็ น
                                ้                                                                   0
ทั้งหมดเหมือนสภาวะเริ่ มต้นนั้น จะมีการคานวณโดยกาหนดค่าเริ่ มต้นของ  k (m) ให้มีค่าเท่ากับ

                                                         1                                                    (16)
                                             N ( m)         m
                                                         N


                                           ั
       และสาหรับกรณี ที่มีการส่ งข้อมูลให้กบวงจรเข้ารหัสหลังจากข้อมูลดิบทั้งหมดผ่านการเข้ารหัส
แล้ว เพื่อทาให้สภาวะของข้อมูลในวงจรกลับสู่ สภาวะที่มีค่าเป็ น 0 ทั้งหมดเหมือนสภาวะเริ่ มต้น
จะมีการคานวณโดยกาหนดค่าเริ่ มต้นของ  k (m) ให้มีค่าเท่ากับ

                                              N ( N )  1 m                                                 (17)

       สาหรับการคานวณหาค่า          branch         metrics         ,        i ( Rk , m, m) นั้น
จะมีการคานวณที่เกิดจากการพิจารณาค่าความน่าจะเป็ นของข้อมูลซึ่ งสามารถแบ่งการคานวณออกเป็ น
3          ส่ วนด้วยกัน          และเมื่อพิจารณาถึงลักษณะในการคานวณค่า  i ( Rk , m, m) แล้ว
     ั
จะมีลกษณะในการคานวณดังสมการ

 i ( Rk , m, m)  p( Rk / d k  i, S k  m, S k 1  m' ).q(d k  i / S k  m, S k 1  m). ( S k  m | S k 1  m)
                                                                                                              (18)




                                                      20
         โดยในส่ วนของการคานวณหาค่าความน่าจะเป็ น p( Rk / d k  i, S k  m, S k 1  m' ) นั้น
จะเป็ นการนาสัญญาณข้อมูลที่รับเข้ามาได้(Rk) ณ ช่วงเวลานั้น ซึ่ งจะประกอบไปด้วยข้อมูล xk และ yk
มาทาการเปรี ยบเทียบกับข้อมูลที่มีโอกาสเกิดขึ้นในกรณี ต่างๆว่ามีความเป็ นไปได้เท่าใด
โดยสาหรับกรณี ที่มีการใช่รูปแบบในการเข้ารหัสเป็ นแบบ            Systematic            ่
                                                                                จะได้วาข้อมูล  xk
นั้นจะมีค่าที่เท่ากับข้อมูลดิบ                                    ่ ั
                                                ซึ่ งจะไม่ข้ ึนอยูกบการทางานของวงจรเข้ารหัสดังนั้น
ในส่ วนของการคานวณค่าความน่าจะเป็ น p( Rk / d k  i, S k  m, S k 1  m' ) นั้นสามารถแยกการคาน
วณในส่ วนของข้อมูล xk และ yk ออกจากกันได้ โดยจะมีค่าเท่ากับ

                                                            1            
                                                                              1
                                                                                     x u       ( i , m , m ') 2  ( y k  vk ( i , m , m ') 2   
           p( Rk / d k  i, S k  m, S k 1  m' )                                                                                                            (19)
                                                                                      k       k
                                                                             2 2
                                                                     e
                                                               2


         เมื่อ                          uk                        และ                              vk
เป็ นค่าของข้อมูลที่จะได้จากการทางานของภาคเข้ารหัสเมื่อมีการป้ อนข้อมูลดิบมีค่าเท่ากับ                 i
                 ่
และข้อมูลที่อยูในวงจรเข้ารหัสก่อนและหลังจากที่มีการป้ อนข้อมูลเข้ามามีค่าเป็ น m’ และ m ตามลาดับ
และสาหรับค่าความน่าจะเป็ น q(d k  i | S k  m, S k 1  m)
                                                             ่
จะเป็ นค่าที่เกิดจากการวิเคราะห์ความเป็ นไปได้ของข้อมูลที่อยูในวงจรเข้ารหัสหลังและก่อนที่มีการป้ อ
นข้อมูลดิบเข้ามาภายในวงจรและค่าของข้อมูลที่ได้จากการเข้ารหัส
ในช่วงเวลาการทางานต่างๆว่ามีความเป็ นไปได้ที่จะมีค่าเป็ นไปตามนั้นมากน้อยเพียงใด
โดยในกรณี ของวงจรเข้ารหัสแบบ                    Convolution                Codes                 นั้น
                                                                                                     ั
เนื่องจากรู ปแบบในการทางานที่มีรูปแบบที่แน่นอน ดังนั้นค่า q(d k  i / S k  m, S k 1  m) ที่ได้น้ น
จะมีค่าแค่เพียง 0 หรื อ 1 เท่านั้น และสาหรับค่าความน่าจะเป็ น  ( S k  m | S k 1  m) นั้น
จะเป็ นค่าที่เกิดจากการคาดคะเนค่าของข้อมูลดิบที่จะถูกป้ อนเข้ามาภายในวงจรเข้ารหัส ณ เวลานั้นๆ
โดยทัวไปจะมีค่าเท่ากับ P(d k  1)  P(d k  0)  1 / 2
       ่
ดังนั้นสมการที่ใช้สาหรับคานวณหาค่า LAPP นั้นจะมีค่าเท่ากับ

                                               1   ( Rk , m' , m) k 1 (m' )  k (m)
                                                                                                                                                           (20)
                         L( d k   )  logm   m'


                                         m
                                          m'
                                                  0   ( Rk , m' , m) k 1 (m' )  k (m)



         ดังนั้น                                                 ิ
                 สาหรับขั้นตอนที่ใช้สาหรับการถอดรหัสข้อมูลโดยใช้วธีการ                                                                   MAP            นั้น
       ั
จะมีข้ นตอนในการทางานดังต่อไปนี้




                                                       21
       1. นาข้อมูลที่รับเข้ามาได้มาทาการคานวณหาค่า       branch     metrics,  k ( Rk , m, m)
          ในกรณี ต่างๆ โดยใช้สมการที่ 18
       2. นาค่า branch metrics ที่ได้จากการคานวณมาใช้ในการคานวณหาค่า forward state matric
          ,  k (m) โดยใช้สมการที่ 14.1
       3. นาค่า branch metrics ที่ได้จากการคานวณมาใช้ในการคานวณหาค่า reverse state matric ,
            k (m' ) โดยใช้สมการที่ 14.2
       4. ทาการคานวณหาค่า LAPP ของข้อมูลบิตที่ k โดยใช้สมการที่ 20
       5. ทาการตัดสิ นใจค่าของข้อมูลดิบที่ได้จากการถอดรหัสโดยการพิจารณาจากค่า            LAPP
          ที่ได้จากการคานวณ โดยที่ถาค่า LAPP มีค่ามากกว่า 0 จะมีการตัดสิ นใจให้ขอมูลดิบ dk
                                       ้                                           ้
          ที่ได้จากการถอดรหัส ณ เวลานั้นมีค่าเป็ น +1 แต่ถาหากมีค่าน้อยกว่า 0 แล้ว
                                                                ้
          จะตัดสิ นใจให้ขอมูลดิบ dk มีค่าเป็ น -1
                           ้

8.2 ตัวแปร extrinsic information
          เมื่อทาการพิจารณาสมการ            ที่ใช้สาหรับคานวณหาค่า           LAPP           นั้น
จะพบว่าในกรณี ที่มีการเข้ารหัสเป็ นแบบแบบ                      Nonsystematic               แล้ว
ข้อมูลในส่ วนที่มีค่าเหมือนกับข้อมูลดิบนั้น
                                          ั                ่
เนื่องจากเป็ นตัวแปรที่ไม่มีความสัมพันธ์กบข้อมูลต่างๆที่อยูในวงจรเข้ารหัส
ดังนั้นจึงสามารถที่จะแยกการคานวณในส่ วนของข้อมูลที่เหมือนกับข้อมูลดิบและข้อมูลส่ วนที่มีการเข้า
รหัสออกจากกันได้ ดังนั้นสมการที่ใช้ในการคานวณหาค่า LAPP จะเท่ากับ


                          p( xk | d k  1)       1 ( yk , m' , m) k 1 (m' )  k (m)       (21)
            L(u k )  log                   log m m'
                          p( xk | d k  0)       0 ( yk , m' , m) k 1 (m' )  k (m)
                                                   m   m'




                                                p ( x k | d k  1)                             (22)
                                L(u k )  log                       Le
                                                p ( x k | d k  0)


          โดยในส่ วนของการคานวณส่ วนแรกในสมการนั้น
จะเป็ นการนาข้อมูลที่รับได้ในส่ วนของข้อมูลที่เหมือนกับข้อมูลดิบ     xk      มาทาการคานวณ
และในส่ วนของการคานวณส่ วนหลังของสมการนั้น
(Wk)จะเป็ นข้อมูลส่ วนที่ได้จากการนาข้อมูลที่เข้ารหัส            yk      มาใช้ในการคานวณ
โดยในกรณี ทวๆไปนั้นจะมีค่าที่มีเครื่ องหมายเหมือนกับข้อมูลดิบ
              ั่                                                                        dk
ดังนั้นจึงสามารถนาข้อมูลในส่ วนนี้มาใช้สาหรับเพิ่มความถูกต้องในการคานวณหาค่า         LAPP

                                                  22
ให้มีความถูกต้องมากขึ้นได้
โดยการส่ งข้อมูลในส่ วนนี้ป้อนกลับไปใช้ในการเข้ารหัสข้อมูลชุดเดิมใหม่ได้ ซึ่ งจะทาให้ค่า LAPP
                                                                                         ่
ที่ได้จากการคานวณนั้นมีความถูกต้องมากยิงขึ้นได้ ซึ่ งจะมีการเรี ยกค่าของข้อมูลในส่ วนนี้วาเป็ นค่า
                                        ่
“extrinsic      information”              ซึ่ งจะสามารถคานวณได้จากการคานวณหาค่า            LAPP
ของวงจรถอดรหัสโดยไม่พิจารณาถึงข้อมูลในส่ วนที่มีค่าเหมือนกับข้อมูลดิบ

                                          1   ( y k , m' , m) k 1 (m' )  k (m)
        Le  L(d k ) | xk 0    logm   m'
                                                                                                  (23)
                                    m
                                     m'
                                             0   ( y k , m' , m) k 1 (m' )  k (m)



           โดยที่เมื่อพิจารณาถึงรู ปแบบในการนาค่า extrinsic information มาใช้ในการปรับปรุ ง
การทางานต่างๆของวงจรถอดรหัสนั้น                     จะพบว่าค่า       extrinsic          information
ที่ได้จากการถอดรหัสในแต่ละครั้งนั้น
สามารถที่จะนามาใช้สาหรับเปลี่ยนแปลงค่าความน่าจะเป็ น  ( S k  m | S k 1  m) ที่ใช้สาหรับการคา
นวณของวงจรเข้ารหัสที่จะทางานถัดไป
ที่เป็ นค่าความน่าจะเป็ นที่เกิดจากการคาดคะเนค่าของข้อมูลที่ได้จากการถอดรหัส dk ณ เวลาต่างๆ
ในสมการที่ (18) ซึ่งจะถูกนามาใช้ในการคานวณหาค่า branch metrics ,  k ( Rk , m, m)
ให้มีค่าที่แม่นยามากยิงขึ้น
                         ่                                   ั
                                        ซึ่ งผลลัพธ์ที่ได้น้ น     จะเป็ นการทาให้การคานวณต่างๆ
ในการถอดรหัสข้อมูลนั้นมีความถูกต้องมากขึ้นกว่าการถอดรหัสในครั้งก่อน

8.3 วิธีกำรถอดรหัสแบบ Iterative Decoding
          ดังนั้นสาหรับการทางานของวงจรถอดรหัสในรู ปแบบของการถอดรหัสแบบ                 Iterative
Decoding โดยการนาหลักการของการถอดรหัสแบบ MAP มาทาการประยุกต์ใช้งาน จะได้วาค่า LAPP  ่
ที่ได้จากการทางานของวงจรถอดรหัส                  DEC1และ                    2               นั้น
ข้อมูลที่ได้จากการถอดรหัสนั้นจะประกอบด้วยการคานวณ 3 ส่ วนด้วยกันได้แก่ ข้อมูลในส่ วนของ
APP ที่ได้จากการทางานของภาคของรหัสในครั้งก่อน , ส่ วนของข้อมูลที่ได้จากการคานวณข้อมูล xk
ที่รับได้                  และส่ วนของ                  extrinsic                  information
ที่จะถูกคานวณขึ้นในระหว่างที่มีการถอดรหัสและจะเป็ นข้อมูลส่ วนที่จะถูกส่ งออกไปจากวงจรถอดรหั
สเพื่อใช้เป็ นค่า               APP                 ในการถอดรหัสของวงจรถอดรหัสวงจรต่อไป
โดยสาหรับกรณี ที่มีการพิจารณาถึงการใช้งานการเข้ารหัสแบบ                 Turbo             Codes
ภายใต้ระบบสื่ อสารที่มีสัญญาณรบกวนเป็ นแบบเกาส์ (Gaussian) นั้นจะได้วา่



                                                         23
                                     L(d k )  La  Lc .x k  Le                                   (24)

           โดยในส่ วนของการคานวณค่า La ในเทอมแรกนั้น จะเป็ นส่ วนของการคานวณเกี่ยวกับค่า a
priori           probability        ที่ได้จากกระบวนการถอดรหัสครั้งก่อนที่ถูกส่ งมา              และ
ในเทอมที่สองนั้นจะเป็ นการคานวณเกี่ยวกับค่า                       xk                       ที่รับได้
โดยจะมีการนาค่าที่รับได้น้ นมาคูณด้วยค่าความเชื่ อมันของสัญญาณ (reliability value), Lc มีค่าเท่ากับ
                            ั                       ่
2/  และในเทอมสุ ดท้ายนั้นจะเป็ นการคานวณในส่ วนของค่า              extrinsic         information
ซึ่งจะได้มาจากการนาข้อมูลที่เข้ามาในวงจรเข้ารหัสมาทาการคานวณ
และจะเป็ นค่าที่จะถูกส่ งออกจากวงจรถอดรหัสเพื่อใช้เป็ นค่า      a         priori       probability
ของวงจรถัดไปเพื่อใช้สาหรับกระบวนการถอดรหัส
ดังนั้นเมื่อพิจารณาถึงการทางานของวงจรถอดรหัสสาหรับ          Turbo       Codes       ในรู ปที่     2
            ่
นั้นจะได้วาลักษณะการทางานต่างๆของวงจรถอดรหัสนั้น
       ั                                                              ั
จะมีลกษณะในการทางานเพื่อทาการถอดรหัสข้อมูลในแต่ละชุดนั้น จะมีลกษณะการทางานดังต่อไปนี้

        1. ทาการ Depuncture ข้อมูลที่รับได้เพื่อกระจายข้อมูลไปยังวงจรถอดรหัสต่างๆ
        2. เมื่อข้อมูลถูกส่ งมาเข้ายังภาคถอดรหัส          DEC1   จะมีการคานวณหาค่า     LAPP
                     ้
           โดยใช้ขอมูลในส่ วนของ             La , Lc x k และ    Lc y k1) โดยใช้วิธีการ
                                                                     (
                                                                                       MAP
                        ั
           โดยจะมีข้ นตอนในการทางานดังนี้
           2.1 ทาการคานวณหาค่า branch metrics,  k ( Rk , m, m) โดยใช้สมการที่ 18
           2.2 นาค่า branch metrics ที่ได้จากการคานวณมาใช้ในการคานวณหาค่า forward state
                matric ,  k (m) โดยใช้สมการที่ 14.1
           2.3 นาค่า branch metrics ที่ได้จากการคานวณมาใช้ในการคานวณหาค่า reverse state
                matric ,  k (m' ) โดยใช้สมการที่ 14.2
           2.4 ทาการคานวณหาค่า LAPP ของข้อมูลบิตที่ k โดยใช้สมการที่ 20
        3. ทาการคานวณหาค่า extrinsic information , Le ที่จะถูกส่ งไปยังวงจรถอดรหัส DEC2
           เพื่อใช้เป็ นค่า a priori probability ในการทางานต่อไป โดยพิจารณาจากสมการที่ 24
                                                             ่
           ดังนั้นค่า extrinsic information ที่ได้ที่อยูในรู ปแบบของข้อมูล logarithm นั้น
           จะคานวณได้จากการนาค่า LAPP ทีได้จากการถอดรหัสมาทาการลบด้วยค่า La และ Lc.xk
        4. เมื่อวงจรถอดรหัส DEC2 ได้รับข้อมูลในส่ วนของ a priori probability ที่ได้มาจากค่า
           extrinsic ของวงจรถอดรหัส DEC1ซึ่ งถูกผ่านการเปลี่ยนแปลงรู ปแบบของข้อมูลโดยภาค
           Interleave จะมีการนาข้อมูลดังกล่าวมาใช้ในการคานวณหาค่า LAPP ของวงจรถอดรหัส
                            ิ
           DEC2 โดยใช้วธีการ MAP ซึ่งจะมีรูปแบบในการทางานเช่นเดียวกับภาคถอดรหัส DEC1

                                                 24
        5. ถ้าหากว่าการวงรอบการคานวณยังไม่ครบตามที่กาหนด จะทาการคานวณหาค่า extrinsic
           information , Le ที่จะถูกส่ งไปยังวงจรถอดรหัส DEC1 เพื่อใช้เป็ นค่า a priori probability
           ในการทางานต่อไป แล้วจึงกลับไปทางานที่ (2) อีกครั้ง
        6. นาค่า           LAPP               ที่ได้จากการทางานของวงจรถอดรหัส               DEC2
           มาทาการตัดสิ นใจค่าของข้อมูลดิบ dk ที่จะถูกส่ งออกเป็ นผลลัพธ์ของภาคถอดรหัสแบบ
           Turbo Codes
        7. จบการทางานของการถอดรหัส

          ซึ่งผลลัพธ์ที่ได้จากการถอดรหัสในรู ปแบบของ          Iterative        Decoding       นั้น
ถ้าหากว่ามีการวนรอบในการถอดรหัสมากขึ้นเท่าใด
ก็จะยิงทาให้ค่าของตัวแปรต่างๆที่ใช้ในการคานวณของภาคเข้ารหัสนั้นมีค่าที่แม่นยามากยิงขึ้นตามไปด้
        ่                                                                             ่
วย           และจะส่ งผลให้ขอมูลที่ได้จากการถอดรหัสข้อมูลนั้นมีค่าที่มีความถูกต้องมากขึ้นตามไปด้วย
                              ้
แต่เนื่ องจากในกระบวนการในการทางานต่างๆของภาคถอดรหัสที่มีการนาหลักการถอดรหัสแบบ
MAP                         มาประยุกต์ใช้งานนั้น                 จะมีการคานวณที่มีความซับซ้อนสู ง
ดังนั้นจึงได้มีการพัฒนารู ปแบบในการคานวณต่างๆ                ให้มีการทางานที่มีความซับซ้อนน้อยลง
ดังเช่นตัวอย่างของวิธีการแบบ Max-Log-Map และ Log-MAP ที่จะมีการบรรยายในหัวข้อถัดไป



8.4 กำรลดควำมซับซ้ อนในกำรคำนวณในกำรถอดรหัสข้ อมูล
           สาหรับกระบวนการถอดรหัสแบบ Iterative Decoding ที่มีการนาหลักการในการถอดรหัสแบบ
MAP มาทาการประยุกต์ใช้งานนั้น จะมีจุดประสงค์ในการทางานเพื่อทาการคานวณหาค่า APP
เพื่อนามาใช้สาหรับการตัดสิ นใจ
โดยที่เมื่อพิจารณาถึงรู ปแบบในการทางานต่างๆของวิธีการถอดรหัสแบบ           MAP        แล้ว
จะพบว่าการคานวณต่างๆที่ใช้ในการทางานนั้น
       ั
จะมีลกษณะในการคานวณที่มีความซับซ้อนในการทางานมาก
ดังนั้นจึงได้มีการพัฒนารู ปแบบในการคานวณต่างๆ
         ั
ให้มีลกษณะในการคานวณที่มีความซับซ้อนน้อยลง

                                                                      ่
          วิธีการหนึ่งที่ถูกนามาใช้ได้แก่การพิจารณาการคานวณค่าต่างๆอยูในรู ปของค่า       logarithm
                     ั                           ่
ซึ่ งผลลัพธ์ที่ได้น้ นจะทาให้การคานวณต่างๆที่อยูในรู ปของการคูณนั้น
                 ่
จะเปลี่ยนมาอยูในรู ปแบบของการบวกแทน
ซึ่ งจะมีผลทาให้วงจรที่ใช้ในการคานวณนั้นมีความซับซ้อนที่ลดลง

                                               25
                                         ่
โดยจะสามารถทาให้การคานวณที่อยูในรู ปของการคูณนั้น                              ่
                                                                จะเปลี่ยนมาอยูในรู ปแบบของการบวก
นอกจากนั้นจะมีผลทาให้ค่าของข้อมูลที่ได้จากการคานวณนั้น
มีอตราการเปลี่ยนแปลงที่ลดลงซึ่ งจะทาให้สามารถป้ องกันการเกิดข้อมูลที่มีค่าเกินช่วงที่พิจารณาได้(Ov
      ั
erflow)                  แต่ในการคานวณต่างๆ                        ่
                                                 เมื่อพิจารณาค่าอยูในรู ปของ      logarithm     นั้น
จะยังมีการคานวณที่มีความซับซ้อนอยู่ เนื่องจากจะมีการคานวณในรู ปแบบของการหาค่าจากฟังก์ชน            ั
ln( e   ...  e  )
      1           n 1
                                  ซึ่ งจะต้องใช้      การทางานที่มีความซับซ้อนในการหาค่าของข้อมูล
ในหัวข้อต่อไปนี้ จะกล่าวถึงรู ปแบบในการคานวณแบบ              Max-Log-Map         และ       Log-MAP
                                                                             ั
ซึ่งเป็ นวิธีการที่ใช้ในการลดความซับซ้อนในการคานวณของภาคถอดรหัสที่มีลกษณะในการคานวณที่
    ่                  ั              ้
อยูในรู ปของฟังก์ชนดังกล่าวให้นอยลง โดยจะมีรายละเอียดในการทางานดังนี้

8.4.1 วิธีกำร MAX-Log-MAP
           เมื่อพิจารณาถึงลักษณะในการคานวณของภาคถอดรหัสเพื่อคานวณหาค่า LAPP และ extrinsic
information
จะพบว่าในการคานวณของภาคถอดรหัสที่มีรูปแบบในการทางานที่เป็ นการพัฒนามาจากวิธีการถอดรหั
สแบบ MAP จะพบว่าในการคานวณต่างๆของภาคถอดรหัสนั้น จะมีการเริ่ มต้นจากการคานวณหาค่า
branch          metrics     ,      k ( Rk , m , m) เพื่อนามาใช้ในการคานวณหาค่าของตัวแปรต่างๆ
โดยเมื่อพิจารณาถึงลักษณะในการคานวณหาค่า              branch       metrics       ในสมการที่     18
นั้นจะพบว่าลักษณะของสมการที่ใช้สาหรับการคานวณหาค่า                       branch            metrics
         ั                    ่
จะมีลกษณะของสมการอยูในรู ปของ K1 .e K โดยที่ K1 และ K2 นั้นค่าต่างๆที่ได้จากการคานวณ
                                                2




และในการนาค่า branch metrics มาใช้ในการคานวณหาค่าของ forward และ reverse state metrics
                                ั
(  k (m) ,  k (m) )นั้น จะมีลกษณะในการคานวณดังสมการที่ 14 ดังนั้นรู ปแบบในการคานวณนั้น
       ่
จะอยูในรู ปแบบของสมการ

                                             e     i
                                                                         e     i

                                                                                                    (25)
                                k ( m)    i
                                                         ,  k ( m)    i

                                                k                          k


          เมื่อ  i เป็ นตัวแปรที่ได้จากการคานวณ        และสาหรับตัวแปร  k และ               k นั้น
เป็ นค่าผลรวมของค่า  k (m) และ  k (m) ในช่วงเวลาที่พิจารณา       (t=k       )           ตามลาดับ
                               ้       ่
ซึ่ งถูกนามาหารเพื่อทาให้ขอมูลอยูในรู ปของค่า                                             normalize
และสาหรับการนาค่าของ  k (m) และ  k (m) มาใช้ในการคานวณหาค่า                                LAPP




                                                         26
เพื่อใช้ในการตัดสิ นใจหรื อคานวณหาค่า       extrinsic                                      information   นั้น
       ั
จะมีลกษณะของสมการที่ใช้สาหรับการคานวณดังนี้

                                               1   ( Rk , m' , m)e Ak 1 ( m ') e Bk ( m )               (26)
                        L( d k   )  log m   m'

                                          
                                         m   m'
                                                  1   ( Rk , m' , m)e Ak 1 ( m ') e Bk ( m )



          โดยจะเป็ นรู ปแบบของการคานวณของสมการที่                                           23
เมื่อพิจารณาถึงการนาค่า  k (m) และ  k (m) มาใช้ในการคานวณในรู ปแบบของค่า          logarithm
ซึ่ งจะพบว่ามีลกษณะในการคานวณเช่นเดียวกับกรณี ของการหาค่า  k (m) และ  k (m) และจะเห็นได้ว่
                ั
าในการคานวณต่างๆของภาคถอดรหัสนั้น                                 มีการคานวณที่มีความซับซ้อน
                                                            ้
ดังนั้นจึงได้มีการพัฒนารู ปแบบในการคานวณที่มีความซับซ้อนที่นอยลง
                                                                          ิ
โดยสาหรับการลดความซับซ้อนในการคานวณของภาคถอดรหัสข้อมูล โดยใช้วธีการ MAX-Log-
MAPนั้ น                จะเป็ นการใช้การประมาณค่าในการคานวณต่างๆแทนการคานวณสมการโดยตรง
          ั
ซึ่ งจะมีลกษณะในการประมาณค่าของสมการดังนี้                                                   (27)

                                    ln( e  i  ...  e  n )  max  i
                                                                 i{1,...,n}




          จากสมการ
                                                          ั
จะเป็ นรู ปแบบในการประมาณค่าของสมการที่มีการคานวณที่ซบซ้อนให้มีการคานวณที่มีความซับซ้อน
น้อยลง                                                  โดยสาหรับรู ปแบบของสมการดังกล่าวนั้น
จะเป็ นลักษณะของสมการที่จะต้องมีการคานวณในการหาค่าตัวแปรต่างๆในกระบวนการถอดรหัส
          และเมื่อมีการนาหลักการในการประมาณค่านี้มาทาการใช้งาน
จะเป็ นการทาให้การคานวณหาค่าต่างๆนั้น
ลดความซับซ้อนในการคานวณลงเหลือเพียงแค่การคานวณหาค่าสู งสุ ดของข้อมูลเท่านั้น
และเมื่อพิจารณาถึงการคานวณหาค่าแต่เนื่ องจากกระบวนการที่ใช้ในการคานวณต่างๆนั้น
เป็ นเพียงแค่การประมาณการ ดังนั้นประสิ ทธิ ภาพในการทางานของวงจรถอดรหัสที่มีการนาวิธีการ
MAX-Log-MAP มาใช้งานนั้น จะมีค่าที่ต่ากว่ากรณี ที่มีการคานวณด้วยวิธีการ MAP

8.4.2 วิธีกำร Log-MAP
       เนื่องจากวิธีการลดความซับซ้อนในการคานวณของภาคถอดรหัสด้วยวิธีการ MAP-Log-MAP
           ั
นั้น จะมีลกษณะในการคานวณที่เป็ นเพียงการประมาณการเท่านั้น ดังนั้นเมื่อมีการนาวิธีการ MAX-


                                                      27
Log-MAP                                                                       มาใช้ในการทางานนั้น
จะมีผลทาให้ประสิ ทธิ ภาพในการทางานของภาคถอดรหัสนั้นมีค่าลดลง                                 ดังนั้น
ในการที่จะทาให้ประสิ ทธิ ภาพในการทางานของภาคถอดรหัสนั้น                                 มีค่าสู งขึ้น
จะต้องมีการปรับปรุ งรู ปแบบในการคานวณให้มีค่าที่ใกล้เคียงค่าที่แท้จริ งมากยิงขึ้น
                                                                            ่
โดยการเพิ่มการคานวณในส่ วนของ              Jacobi                 logarithm             ในสมการ
ดังนั้นรู ปแบบของสมการที่ใช้สาหรับการคานวณในกรณี ของ Log-MAP นั้น จะมีลกษณะดังนี้ั

                                                      
           ln( e  i  e  2 )  max ( i ,  2 )  ln 1  e
                                                                 2  1
                                                                              max(  , 
                                                                                      1      2   )  f c  1   2      (28)


          โดยที่การคานวณในส่ วนท้ายของสมการที่แทนด้วยสัญลักษณ์                              f c (.) นั้น
จะเป็ นส่ วนที่ถูกนามาทาการคานวณเพื่อทาให้การคานวณนั้น มีค่าที่ใกล้เคียงค่าที่แท้จริ งมากขึ้น ดังนั้น
                                                             ั
เมื่อมีการนารู ปแบบของสมการดังกล่าวมาใช้ในการคานวณ จะได้ลกษณะในการคานวณดังสมการ

                                           ln( e  i  ...  e  n )
                                            ln(   e  n )                                                                (29)
                                            max(ln ,  n )  f c ln    n 

                                            max( ,  n )  f c    n1 


           เมื่อ  มีค่าเท่ากับ e  ...  e ซึ่งผลที่ได้จากการทางานของภาคถอดรหัสโดยใช้วธีการ
                                  1            n 1
                                                                                              ิ
                                                                                       ิ
log-MAP นั้น จะมีประสิ ทธิ ภาพในการทางานที่สูงขึ้นเมื่อเปรี ยบเทียบกับกรณี ที่มีการใช้วธีการ MAX-
Log-MAP แต่ในการคานวณต่างๆนั้น จะมีความซับซ้อนมากขึ้น เนื่ องจากมีการคานวณหาค่า jacobi
logarithm ซึ่ งสามารถที่จะลดความซับซ้อนในการคานวณในส่ วนของการคานวณหาค่า Jacobi
Logarithm                                    ได้โดยการใช้การประมาณค่าที่ได้จากการคานวณจากฟังก์ชนั
 f c (.) และทาการบันทึกไว้ในเมมโมรี่ ในวงจร




9. กำรนำวิธีกำรเข้ ำรหัสแบบ Turbo Codesไปใช้ งำน



                                                           28
          เนื่องจากการเข้ารหัสแบบ                            Turbo                       Codes
เป็ นรู ปแบบในการเข้ารหัสข้อมูลในระบบสื่ อสารที่มีประสิ ทธิ ภาพในการลดอัตราการเกิดความผิดพลา
ดของข้อมูลสู งเมื่อเปรี ยบเทียบกับรู ปแบบในการเข้าข้อมูลแบบอื่นๆ
ดังนั้นจึงได้มีการนาวิธีการเข้ารหัสข้อมูลแบบ                      Turbo                  Codes
มาประยุกต์ใช้ในการทางานในรู ปแบบต่างๆหลายประเภทด้วยกัน ได้แก่

9.1 Deep-Space Communications
         สาหรับการส่ งข้อมูลผ่านระบบสื่ อสารในอวกาศนั้น        ได้มีการนาวิธีการเข้ารหัสข้อมูลแบบ
Turbo Codes มาใช้ในการลดอัตราการเกิดความผิดพลาดของข้อมูลที่ถูกส่ งให้มีค่าที่ลดลง หรื อ
ทาให้สามารถส่ งข้อมูลด้วยกาลังส่ งที่ลดลงได้
โดยสาหรับกรณี ที่มีการนาวิธีการเข้ารหัสข้อมูลในรู ปแบบของ                Turbo               Codes
                                                      ิ
มาใช้ในระบบสื่ อสารในอวกาศนั้น สามารถที่จะใช้วธีการ Interleave ข้อมูลครั้งละจานวนมากๆได้
จึงส่ งผลทาให้ขอมูลที่ได้จากวงจรเข้ารหัสนั้นมีความเป็ นอิสระต่อกันมากขึ้น และจะทาให้ค่า Coding
               ้
Gain ที่ได้จากการเข้ารหัสนั้นมีค่าที่สูงขึ้นตามไปด้วย

9.2 Digital Video Broadcasting (DVB)
            ในส่ วนของมาตรฐานของ Digital Video Broadcasting (DVB) ในทวีปยุโรปนั้น
ได้มีการนาวิธีการเข้ารหัสข้อมูลแบบ Turbo Codes มาใช้ในการส่ งข้อมูลในมาตรฐาน DVB-RSCS
ที่มีการส่ งข้อมูลในรู ปแบบของข้อมูล MPEG ผ่านทางช่องสัญญาณ “Forward” จาก Central gateway
มาให้ผใชู้้                                            ้
                     และจะมีการส่ งข้อมูลป้ อนกลับจากผูใช้งานไปยัง         Central          Gateway
                                                            ิ
เพื่อร้องขอการใช้งานผ่านทางช่องสัญญาณดาวเทียม โดยใช้วธีการส่ งข้อมูลแบบ multi-frequency time
division multiple access (MF-TDMA) บนระบบแบบ demand assigned multiple access (DAMA)
โดยในส่ วนของภาคเข้ารหัสแบบ                    Turbo           Codes               ที่มีการใช้งานนั้น
                             ้
จะทาให้สมารถส่ งข้อมูลได้ดวยอัตราเร็ วตั้งแต่ 144 kbit/s ถึง 2Mbit/s โดยที่มีการใช้วงจรเข้ารหัสแบบ
double-binary circular recursive systematic convolutional (CRSC) ซึ่ งสามารถใช้งานกับ packet
ATMขนาด 53 byte หรื อ MPEG ขนาด 188 byte ได้ , ขนาดของ Block size
                               ั
ที่ใช้งานนั้นสามารถกาหนดได้ต้ งแต่ 12-256 byte และอัตราการเข้ารหัสสามารถเลือกจาก 1/3 , 2/5 , 1/2
, 2/3 , 3/4 , 4/5 และ 6/7

9.3 Third Generatiion Mobile



                                                 29
                                                              ั
          การพัฒนาระบบสื่ อสารในส่ วนของโทรศัพท์เคลื่อนที่น้ น ได้มีการนาการเข้ารหัสแบบ Turbo
Codes มาใช้เป็ นรู ปแบบในการทางานมาตรฐานของโทรศัพท์เคลื่อนที่ยคที่         ุ   3 (IMT2000)
โดยจะมีการนามาใช้เป็ นมาตรฐานในส่ วนของรู ปแบบในการ                  Multiplex   และการเข้ารหัส
โดยมีวตถุประสงค์เพื่อทาให้สามารถส่ งข้อมูลได้ดวยอัตราเร็ วที่มีค่าสู ง
        ั                                      ้
เพื่อรองรับการทางานทางด้านMultimedia โดยที่มีการรอบรับระบบสื่ อสารทั้งในรู ปแบบของ Circuit-
Switching                                  และ                                  Packet-Switching
ที่มีคุณภาพของสัญญาณเสี ยงที่ดีและมีการใช้งานช่องสัญญาณอย่างมีประสิ ทธิ ภาพ

10. อุปกรณ์ ตัวเข้ ำรหัสและถอดรหัส Turbo Code
                  ั
          อุปกรณ์ตวเข้ารหัสและถอดรหัส Turbo Code จะแบ่งเป็ น 2 แบบ คือ Turbo Convolution
Codes (TCC) และ Turbo Product Codes (TPC) โดยการเข้ารหัส Turbo Codes
โดยทัวไปนั้นจะเป็ นรู ปแบบในการเข้ารหัสข้อมูลที่มีการนาวิธีการเข้ารหัสแบบ Convolution Codes
       ่
มาใช้ในการทางานจึงเรี ยกว่า Turbo Convolution Codes แต่เนื่ องจากการคานวณต่างๆ นั้น
มีการทางานที่มีความซับซ้อน              ซึ่งมีผลทาให้การพัฒนาให้อุปกรณ์มีราคาที่ถู กลงเป็ นไปได้ยาก
ดังนั้นจึงมีการนาวิธีการเข้ารหัสข้อมูลแบบ Block Codes มาประยุกต์ใช้งานกับการเข้ารหัสแบบ Turbo
                                                                                     ่
Codes ซึ่ งมีความซับซ้อนน้อยกว่าโดยจะเรี ยกรู ปแบบการเข้ารหัสข้อมูลในลักษณะนี้วาเป็ น Turbo
Product Codes

           เนื่องจากการเข้ารหัสแบบ             Turbo         Code        ถูกค้นพบในปี         1993
เป็ นการเข้ารหัสที่มีประสิ ทธิ ภาพในการป้ องกันความผิดพลาดของข้อมูลที่สูงกว่าการเข้ารหัสในรู ปแบ
บอื่นๆ                  ดังนั้นจึงได้มีการนาวิธีการเข้ารหัสแบบ             Turbo             Codes
มาใช้ในการทางานในหลายรู ปแบบด้วยกัน และได้มีการนารู ปแบบในการเข้ารหัสแบบ Turbo Codes
         ั                     ุ
มาใช้กบโทรศัพท์เคลื่อนที่ยคที่ 3 โดยมีการกาหนดให้การเข้ารหัสแบบ Turbo Codes
เป็ นรู ปแบบการเข้ารหัสข้อมูลมาตราฐานรู ปแบบหนึ่งสาหรับโทรศัพท์เคลื่อนที่ยคที่ ุ      3      (Third
Generation Mobile Telephone) ได้แก่ มาตรฐาน TS 25.212 และ TS 25.222 ของ 3GPP
(Third Generation Partnership Project) หรื อ มาตรฐาน TIA/EIA/IS-2000.2-A ของ CDMA2000
และมีการนามาใช้เป็ นการเข้ารหัสข้อมูลมาตรฐานสาหรับระบบ Digital Video Broadcasting (DVB)
ได้แก่
มาตรฐาน ETIS EN 301 790                                        ั
                                                   โดยอุปกรณ์ตวเข้ารหัสและถอดรหัส Turbo Code
                      ั                                            ั
ที่มีจาหน่ายโดยบริ ษทต่าง ๆ นั้น จะถูกออกแบบให้สามารถใช้ได้กบมาตรฐานต่างๆ ที่กล่าวมาเป็ นหลัก




                                                30
           ในการนาเข้ารหัสแบบ                  Turbo            Code            มาใช้ในระบบสื่ อสาร
จะมีรูปแบบของอุปกรณ์ที่ถูกใช้งานในระบบสื่ อสารที่มีรูปแบบของอุปกรณ์ 2 รู ปแบบด้วยกัน คือ Field
Programmable Gate Array(FPGA) หรื อ Application Specific Integrated Circuit (ASIC)
                                                                     ่
ซึ่ งส่ วนใหญ่อุปกรณ์ Turbo Code ที่มีจาหน่ายตามท้องตลาดจะอยูในรู ปของ IP Core (Intellectual
Property            Core          )      หรื อ        Single     Chip      ซึ่ง       IP       Core
เป็ นซอร์ ฟแวร์ ที่เป็ นกลุ่มหรื อโมดูลวงจรสาเร็ จรู ปสามารถโปรแกรมลง FPGA หรื อนาไปทา ASIC
ซึ่ งเป็ น                                 ไอซี ที่สามารถกาหนดรายละเอียดได้ตามความต้องการของผูใช้้
โดยที่จะมีรายละเอียดของอุปกรณ์ที่มีจาหน่ายตามท้องตลาดดังตารางต่อไปนี้




                                                31
32
                                           ภาคผนวก
ก. ทฤษฎีควำมน่ ำจะเป็ น
          กาหนดให้       A       และ       B                                  ่
                                                    เป็ นเซตของเหตุการณ์ที่อยูในแซมเปิ ลสเปซ     S
                          ั
ที่เป็ นเซตของเหตุการณ์ท้ งหมดที่เป็ นไปได้ที่กาลังพิจารณา                      จะมีการใช้สัญลักษณ์
                                                                    ่
P( A), P( B) ในการแสดงถึงค่าความน่าจะเป็ นที่จะเกิดเหตุการณ์ที่อยูในเซต A และ B ขึ้นตามลาดับ
                ่
โดยที่จะมีค่าอยูระหว่าง 0 และ 1 เท่านั้น

                                           0  P( A)  1                                           (30)

และจะมีการนิยามให้ค่าความน่าจะเป็ น

                                             P ( )  0                                            (31)
                                             P(S )  1


          เมื่อสัญลักษณ์  จะเป็ นตัวแปรที่ใช้แสดงถึงเซตว่าง                 และ                   S
                                                              ั
เป็ นตัวแปรที่ใช้แสดงถึงเซตของแซมเปิ ลสเปซของเหตุการณ์ท้ งหมดที่เป็ นไปได้ที่กาลังพิจารณา
และในกรณี ที่มีการพิจารณาความน่าจะเป็ นแบบมีเงื่อนไข               (Conditional         Probability)
จะมีการแสดงด้วยสัญลักษณ์ P(B|A) ซึ่งจะแสดงถึง “ความน่าจะเป็ นที่เหตุการณ์ B จะเกิดขึ้น
เมื่อเหตุการณ์ A เกิดขึ้นแล้ว” หรื อ “ ความน่าจะเป็ นของเหตุการณ์ B เมื่อกาหนดเหตุการณ์ A ให้ ”

ข. ทฤษฎีของเบย์ (Bayes’ Theorem)


                                                33
        กาหนดให้    A      และ      B                                  ่
                                             เป็ นเซตของเหตุการณ์ที่อยูในแซมเปิ ลสเปซ  S
      ่                                                                    ั
จะได้วาลักษณะความสัมพันธ์ระหว่างความน่าจะเป็ นของข้อมูล A และ B นั้น จะมีลกษณะดังสมการ

                                   P( A | B).P( B)  P( B | A).P( A)  P( A, B)                         (32)

       เมื่อพิจารณาในรู ปแบบของข้อมูลแบบไม่ต่อเนื่ อง(                                      Discrete)
จะได้ความสัมพันธ์ของค่าความน่าจะเป็ นดังสมการ

                                                     P( z j | si ).P( si )    i  1,...,M               (33)
                                  P( s i | z j ) 
                                                           P( z j )             j  1,...


โดยที่ค่าความน่าจะเป็ น   P ( z j ) จะมีค่าเท่ากับ
                                                           M
                                            P( z j )   P( z j | si ) P( si )                  (34)
                                                          i 1




            และในกรณี ที่มีการพิจารณาตัวแปรต่างๆในรู ปแบบของข้อมูลแบบต่อเนื่ อง (Continuous)
ที่เป็ นรู ปแบบในการคานวณหลักในการคานวณเกี่ยวกับระบบสื่ อสาร                          ดังนั้น
                                                          ่
จะมีการพิจารณาข้อมูลของตัวแปรต่างๆที่ใช้ในการคานวณอยูในรู ปแบบของข้อมูลแบบต่อเนื่อง
โดยมีการเปลี่ยนแปลงรู ปแบบของสมการที่ใช้ในการคานวณดังนี้


                                    P( si | z ) 
                                                     P( z | si ).P( si )     i  1,..., M               (35)
                                                           P( z )


โดยที่ค่าความน่าจะเป็ น   P(z ) จะมีค่าเท่ากับ


                                                           M
                                              P( z )   P( z | si ) P( si )                            (36)
                                                          i 1




                                                         34
            ตารางสัญลักษณ์

      ค่า Forward state metrics
      ค่า Reverse state metrics
      ค่า Branch metrics
      ค่าความแปรปรวนของสัญญาณรบกวน
dk     ข้อมูลดิบที่ถูกส่ ง ณ เวลา k
gi     ค่า generator polynomial ของวงจรเข้ารหัส
La     A priori information
Lc     ค่าความเชื่อมันของช่องสัญญาณ
                      ่
Le     ค่า Extrinsic Information
LAPP   log a posteriori probability
m
                           ่
       สถานะของข้อมูลที่อยูในวงจรเข้ารหัสหลังจากที่จะมีการป้ อนข้อมูล
       ดิบเข้ามาในวงจร
m’
                             ่
       สถานะของข้อมูลที่อยูในวงจรเข้ารหัสก่อนที่จะมีการป้ อนข้อมูลดิบเ
       ข้ามาในวงจร
Rk     ชุดของข้อมูลที่รับได้ ณ เวลาที่ k


                     35
Sk                                                      ่
                                สถานะของข้อมูลที่อยูในวงจรเข้ารหัส
S/N                             ค่า Signal-to-noise ratio
xk                              ข้อมูลที่ได้จากวงจรเข้ารหัสในส่ วนของข้อมูลที่เหมือนกันข้อมูลดิบ
                                dk
yk                                                                              ่
                                ข้อมูลที่ได้จากวงจรเข้ารหัสในส่ วนของข้อมูลที่ผานการเข้ารหัส
y k1)
  (
                                ข้อมูลที่ได้จากการทางานของวงจรเข้ารหัส RSC1
y k2)
  (
                                ข้อมูลที่ได้จากการทางานของวงจรเข้ารหัส RSC2




                                       เอกสารอ้างอิง
[1]     C. Berrou, A. Glavieux, P. Thitimajshima, “Near Shannon limit error-correcting coding and
        decoding: Turbo codes.”, IEEE Transactions on Communications, Vol. 44, No. 10, Oct 1996.
[2]     Punya Thitimajshima, “Recursive Systematic Convolutions Codes and Application to Parallel
        Concatenation”, Telecommunications Department, Faculty of Engineering King Mongkut’s
        Institute of Technology Ladkrabang, Bangkok.
[3]     G. David Forney, Jr., “Convolutional Codes I: Algebraic Structure”, IEEE Transactions On
        Information Theory, Vol. IT-16, No. 6, Nov. 1970.
[4]     L. R. Bahl, J. Cocke, F. Jelinek, J. Raviv “Optimal Decoding of Linear Codes for Minimizing
        Symbol Error Rate”, IEEE Transactions on Information Theory, Mar 1974.
[5]     Patrix Roberson, Emmanuelle Villebrun, Peter Hoeher, “A Compare of Optimal MAP
        Decoding Algorithm Operating in the Log Domain”, Institute for Communications
        Technology, German Aerospace Research Establishment (DLR).




                                                36
37

								
To top