กลับไปหน้าบทความ

อ่าน 8 นาที

รหัสเชิงเส้น

ในทฤษฎีการเข้ารหัสรหัสเชิงเส้นเป็นรหัสแก้ไขข้อผิดพลาดซึ่งการรวมกันเชิงเส้น ใดๆ ของคำรหัสก็ถือเป็นคำรหัสเช่นกัน

รหัสเชิงเส้น

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

รหัสเชิงเส้นถูกใช้ในการแก้ไขข้อผิดพลาดล่วงหน้าและนำไปใช้ในวิธีการส่งสัญลักษณ์ (เช่นบิต ) บนช่องทางการสื่อสารเพื่อให้หากเกิดข้อผิดพลาดในการสื่อสาร ผู้รับบล็อกข้อความสามารถแก้ไขหรือตรวจจับข้อผิดพลาดบางอย่างได้ รหัสคำในรหัสบล็อกเชิงเส้นคือบล็อกของสัญลักษณ์ที่เข้ารหัสโดยใช้สัญลักษณ์มากกว่าค่าเดิมที่จะส่ง[ 2 ] รหัสเชิงเส้นที่มีความยาวnจะส่งบล็อกที่มี สัญลักษณ์ nตัว ตัวอย่างเช่นรหัสแฮมมิ ง [7,4,3] เป็นรหัสไบนารี เชิงเส้น ที่แสดงข้อความ 4 บิตโดยใช้รหัสคำ 7 บิต รหัสคำสองรหัสที่แตกต่างกันอย่างน้อยสามบิต ผลที่ตามมาคือสามารถตรวจจับข้อผิดพลาดได้สูงสุดสองข้อต่อรหัสคำ ในขณะที่สามารถแก้ไขข้อผิดพลาดได้เพียงข้อเดียว[ 3 ] รหัสนี้ประกอบด้วย 2 4  = 16 รหัสคำ

คำจำกัดความและพารามิเตอร์

รหัสเชิงเส้นที่มีความยาวnและมิติkคือปริภูมิย่อยเชิงเส้นCที่มีมิติkของปริภูมิเวกเตอร์ โดยที่เป็นฟิลด์จำกัดที่มี สมาชิก qตัว รหัสดังกล่าวเรียกว่า รหัส q -ary ถ้าq  = 2 หรือq  = 3 รหัสจะถูกอธิบายว่าเป็นรหัสไบนารีหรือรหัสเทอร์นารีตามลำดับ เวกเตอร์ในCเรียกว่าคำรหัสขนาดของรหัสคือจำนวนคำรหัสและเท่ากับ q k

น้ำหนักของรหัสคำคือจำนวนองค์ประกอบที่ไม่เป็นศูนย์ และระยะห่างระหว่างรหัสคำสองรหัสคือระยะทางแฮมมิง (Hamming distance) ซึ่งก็คือจำนวนองค์ประกอบที่แตกต่างกัน ระยะทางdของรหัสเชิงเส้นคือน้ำหนักต่ำสุดของรหัสคำที่ไม่เป็นศูนย์ หรือเทียบเท่ากับระยะทางต่ำสุดระหว่างรหัสคำที่แตกต่างกัน รหัสเชิงเส้นที่มีความยาวnมิติkและระยะทางdเรียกว่ารหัส [ n , k , d ] (หรือเรียกให้ถูกต้องกว่านั้นคือรหัส)

เราต้องการกำหนดฐานมาตรฐานเนื่องจากพิกัดแต่ละตัวแทน "บิต" ที่ส่งผ่าน "ช่องสัญญาณที่มีสัญญาณรบกวน" โดยมีความน่าจะเป็นเล็กน้อยของข้อผิดพลาดในการส่ง ( ช่องสัญญาณสมมาตรแบบไบนารี ) หากใช้ฐานอื่น โมเดลนี้จะไม่สามารถใช้งานได้ และเมตริกแฮมมิงจะไม่สามารถวัดจำนวนข้อผิดพลาดในการส่งได้ตามที่เราต้องการ

ตัวสร้างและเมทริกซ์ตรวจสอบ

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

เมทริกซ์Hที่แทนฟังก์ชันเชิงเส้นซึ่ง มี เคอร์เนลเป็นCเรียกว่าเมทริกซ์ตรวจสอบของC (หรือบางครั้งเรียกว่าเมทริกซ์ตรวจสอบความเท่าเทียมกัน) หรืออีกนัยหนึ่งHคือเมทริกซ์ที่มีปริภูมิว่างเป็นCถ้าCเป็นรหัสที่มีเมทริกซ์กำเนิดGในรูปแบบมาตรฐานแล้วคือเมทริกซ์ตรวจสอบสำหรับ C รหัสที่สร้างโดยHเรียกว่ารหัสคู่ของ C สามารถตรวจสอบได้ว่า G เป็นเมทริกซ์ ในขณะที่ H เป็นเมทริกซ์

ความเป็นเชิงเส้นรับประกันว่าระยะทางแฮมมิง ขั้นต่ำ dระหว่างคำรหัสc 0และคำรหัสอื่นๆc  ≠  c 0จะไม่ขึ้นอยู่กับc 0ซึ่งเป็นผลมาจากคุณสมบัติที่ว่าผลต่างc  −  c 0ของคำรหัสสองคำในCก็เป็นคำรหัสเช่นกัน (กล่าวคือ เป็นสมาชิกของปริภูมิย่อยC ) และคุณสมบัติที่ว่าd ( c , c 0 ) =  d ( c  −  c 0 , 0) คุณสมบัติเหล่านี้บ่งชี้ว่า

กล่าวอีกนัยหนึ่ง ในการหาค่าระยะห่างน้อยที่สุดระหว่างรหัสคำของรหัสเชิงเส้น เราเพียงแค่ต้องพิจารณารหัสคำที่ไม่เป็นศูนย์เท่านั้น รหัสคำที่ไม่เป็นศูนย์ที่มีค่าน้ำหนักน้อยที่สุดจะมีระยะห่างน้อยที่สุดจากรหัสคำที่เป็นศูนย์ และด้วยเหตุนี้จึงเป็นตัวกำหนดระยะห่างน้อยที่สุดของรหัส

ระยะทางdของรหัสเชิงเส้นCยังเท่ากับจำนวนคอลัมน์ที่ขึ้นต่อกันเชิงเส้นขั้นต่ำของเมทริกซ์ตรวจสอบHด้วย

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

ตัวอย่าง: รหัสแฮมมิง

รหัสแฮมมิงเป็นรหัสเชิงเส้นประเภทแรกที่พัฒนาขึ้นเพื่อแก้ไขข้อผิดพลาด และถูกนำมาใช้กันอย่างแพร่หลายในระบบสื่อสารดิจิทัล สำหรับจำนวนเต็มบวกใดๆ จะมีรหัสแฮมมิง อยู่หนึ่งรหัส เนื่องจากรหัสแฮมมิงนี้สามารถแก้ไขข้อผิดพลาด 1 บิตได้

ตัวอย่าง:รหัสบล็อกเชิงเส้นที่มีเมทริกซ์ตัวสร้างและเมทริกซ์ตรวจสอบความเท่าเทียมกันดังต่อไปนี้ คือรหัสแฮมมิง

ตัวอย่าง: รหัสฮาดามาร์ด

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

ตัวอย่าง: รหัสบล็อกเชิงเส้นที่มีเมทริกซ์กำเนิดต่อไปนี้เป็นรหัส Hadamard: .

รหัส Hadamardเป็นกรณีพิเศษของรหัส Reed–Mullerถ้าเรานำคอลัมน์แรก (คอลัมน์ที่มีค่าเป็นศูนย์ทั้งหมด) ออกจากรหัส Hadamard เราจะได้รหัส simplexซึ่งเป็นรหัสคู่ขนานของรหัส Hamming

อัลกอริทึมเพื่อนบ้านที่ใกล้ที่สุด

พารามิเตอร์ d มีความเกี่ยวข้องอย่างใกล้ชิดกับความสามารถในการแก้ไขข้อผิดพลาดของรหัส โครงสร้าง/อัลกอริทึมต่อไปนี้แสดงให้เห็นถึงสิ่งนี้ (เรียกว่าอัลกอริทึมการถอดรหัสเพื่อนบ้านที่ใกล้ที่สุด):

อินพุต: เวกเตอร์ที่ได้รับ v ใน

ผลลัพธ์: รหัสคำที่ใกล้เคียงที่สุดกับ(ถ้ามี)

  • เริ่มต้นด้วยให้ทำซ้ำสองขั้นตอนต่อไปนี้
  • ระบุองค์ประกอบของทรงกลมรัศมี (แฮมมิง) รอบคำที่ได้รับซึ่งแสดงด้วย
    • สำหรับแต่ละค่าในให้ตรวจสอบว่าอยู่ใน หรือไม่ ถ้าใช่ ให้ส่งคืนเป็นคำตอบ
  • เพิ่มค่าขึ้น. ล้มเหลวเฉพาะเมื่อการแจงนับเสร็จสมบูรณ์แล้วและไม่พบวิธีแก้ปัญหาใดๆ

เรากล่าวว่าตัวแก้ไขเชิงเส้นนั้นแก้ไขข้อผิดพลาดได้ หากมีคำรหัสอย่างมากที่สุดหนึ่งคำในสำหรับแต่ละ ใน

โดยทั่วไป รหัสต่างๆมักจะใช้ตัวอักษรC แทน และรหัสที่มีความยาวnและมีอันดับk (กล่าวคือ มี คำรหัส nคำในฐาน และมี แถว kแถวในเมทริกซ์กำเนิด ) มักจะเรียกว่า รหัส ( nk ) รหัสบล็อกเชิงเส้นมักจะใช้สัญลักษณ์เป็นรหัส [ nkd ] โดยที่ dหมายถึงระยะทางแฮมมิงขั้นต่ำระหว่างคำรหัสสองคำใดๆ ของรหัสนั้น

(สัญลักษณ์ [ nkd ] ไม่ควรสับสนกับสัญลักษณ์ ( nMd ) ที่ใช้ในการระบุรหัสที่ไม่เป็นเชิงเส้นที่มีความยาวnขนาดM (กล่าวคือ มี คำรหัส Mคำ) และระยะห่างแฮมมิงขั้นต่ำd )

มุ่งหน้าสู่ซิงเกิลตัน

บทพิสูจน์ย่อย ( ขอบเขตซิงเกิลตัน ): รหัสเชิงเส้น [ n , k , d ] ทุกตัว C สอดคล้องกับเงื่อนไขต่อไปนี้

รหัสCที่มีพารามิเตอร์ที่สอดคล้องกับk  + d  =  n  + 1 เรียกว่ารหัสที่แยกได้ด้วยระยะทางสูงสุดหรือMDSรหัสดังกล่าว หากมีอยู่จริง ก็ถือว่าเป็นรหัสที่ดีที่สุดเท่าที่จะเป็นไปได้ในบางแง่

ถ้าC 1และC 2เป็นรหัสสองรหัสที่มีความยาวnและถ้ามีการเรียงสับเปลี่ยนpในกลุ่มสมมาตรS nซึ่ง ( c 1 ,..., c n ) ในC 1 ก็ต่อเมื่อ ( c p (1) ,..., c p ( n ) ) ในC 2แล้ว เราจะกล่าวว่าC 1และC 2สมมูลกันโดยการเรียงสับเปลี่ยนโดยทั่วไปแล้ว ถ้ามีเมทริกซ์เอกนามที่ส่งC 1ไปยังC 2 อย่างสมมาตร เราจะกล่าวว่า C 1และC 2สมมูลกัน

ทฤษฎีบทเสริม : รหัสเชิงเส้นใดๆ จะเทียบเท่ากับการเรียงสับเปลี่ยนของรหัสที่อยู่ในรูปแบบมาตรฐาน

ทฤษฎีบทของโบนิโซลี

รหัสจะถูกกำหนดให้เป็นรหัสที่มีระยะห่างเท่ากันก็ต่อเมื่อมีค่าคงที่d บางค่าที่ทำให้ระยะห่างระหว่างคำรหัสที่แตกต่างกันสอง คำใดๆ ของรหัสเท่ากับd [ 4 ]ในปี พ.ศ. 2527 Arrigo Bonisoli ได้กำหนดโครงสร้างของรหัสเชิงเส้นที่มีน้ำหนักหนึ่งตัวเหนือฟิลด์จำกัดและพิสูจน์ว่ารหัสเชิงเส้นที่มีระยะห่างเท่ากันทุกรหัสเป็นลำดับของรหัสHamming คู่[ 5 ]

ตัวอย่าง

ตัวอย่างของรหัสเชิงเส้น ได้แก่:

การสรุปทั่วไป

ปริภูมิแฮมมิงเหนือตัวอักษรที่ไม่ใช่ฟิลด์ก็ได้รับการพิจารณาเช่นกัน โดยเฉพาะอย่างยิ่งเหนือวงแหวนจำกัดโดยเฉพาะอย่างยิ่งวงแหวนกาโลอิสเหนือZ 4ซึ่งทำให้เกิดโมดูลแทนปริภูมิเวกเตอร์และรหัสเชิงเส้นวงแหวน (ระบุด้วยโมดูลย่อย ) แทนรหัสเชิงเส้น เมตริกทั่วไปที่ใช้ในกรณีนี้คือระยะทางลีมีไอโซเมตรีเกรย์ระหว่าง(เช่น GF(2 2 m )) กับระยะทางแฮมมิงและ(เรียกอีกอย่างว่า GR(4,m)) กับระยะทางลี จุดเด่นหลักคือการสร้างความสัมพันธ์ระหว่างรหัส "ดี" บางรหัสที่ไม่เป็นเชิงเส้นเหนือเป็นภาพของรหัสเชิงเส้นวงแหวนจาก[ 6 ] [ 7 ] [ 8 ]

ผู้เขียนบางคนเรียกโค้ดดังกล่าวบนวงแหวนว่าโค้ดเชิงเส้นเช่นกัน[ 9 ]

ดูเพิ่มเติม

  • โปรแกรมสร้างรหัสq -ary
  • ตารางรหัส: ขอบเขตบนพารามิเตอร์ของรหัสประเภทต่างๆ , IAKS, Fakultät für Informatik, Universität Karlsruhe (TH) ] ตารางออนไลน์ที่ทันสมัยของรหัสไบนารี่ที่ดีที่สุด รวมถึงรหัสที่ไม่ใช่ไบนารี่
  • ฐานข้อมูลรหัส Z4ออนไลน์ ฐานข้อมูลรหัส Z4 ที่เหมาะสมที่สุดที่อัปเดตอยู่เสมอ
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Linear_code&oldid=1349580976 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ รหัสเชิงเส้น

ในทฤษฎีการเข้ารหัสรหัสเชิงเส้นเป็นรหัสแก้ไขข้อผิดพลาดซึ่งการรวมกันเชิงเส้น ใดๆ ของคำรหัสก็ถือเป็นคำรหัสเช่นกัน

คำจำกัดความและพารามิเตอร์

รหัส เชิงเส้น ที่มีความยาว n และมิติ k คือ ปริภูมิย่อยเชิงเส้น C ที่มี มิติ k ของ ปริภูมิเวกเตอร์ โดยที่เป็น ฟิลด์จำกัด ที่มี สมาชิก q ตัว รหัสดังกล่าวเรียกว่า รหัส q -ary ถ้า q = 2 หรือ q = 3 รหัสจะถูกอธิบายว่าเป็น รหัสไบนารี หรือ รหัสเทอร์นารี ตามลำดับ...

ตัวสร้างและเมทริกซ์ตรวจสอบ

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

ตัวอย่าง: รหัสแฮมมิง

รหัสแฮมมิง เป็นรหัสเชิงเส้นประเภทแรกที่พัฒนาขึ้นเพื่อแก้ไขข้อผิดพลาด และถูกนำมาใช้กันอย่างแพร่หลายในระบบสื่อสารดิจิทัล สำหรับจำนวนเต็มบวกใดๆ จะมีรหัสแฮมมิง อยู่หนึ่งรหัส เนื่องจากรหัสแฮมมิงนี้สามารถแก้ไขข้อผิดพลาด 1 บิตได้ r ≥ 2 {\displaystyle r\geq 2} [ 2 r...