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

อ่าน 2 นาที

รหัสเบอร์เกอร์

ใน ด้านโทรคมนาคม รหัส เบอร์เกอร์ (Berger code) เป็น รหัสตรวจจับข้อผิดพลาด แบบทิศทางเดียว ตั้งชื่อตาม เจ.เอ็ม. เบอร์เกอร์ ผู้คิดค้นรหัสนี้

รหัสเบอร์เกอร์

ในด้านโทรคมนาคมรหัสเบอร์เกอร์ (Berger code)เป็นรหัสตรวจจับข้อผิดพลาด แบบทิศทางเดียว ตั้งชื่อตาม เจ.เอ็ม. เบอร์เกอร์ ผู้คิดค้นรหัสนี้

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

เช่นเดียวกับรหัสตรวจจับข้อผิดพลาดแบบทิศทางเดียวทั้งหมด รหัสเบอร์เกอร์สามารถใช้ในวงจร ที่ไม่ไวต่อความล่าช้า ได้เช่นกัน

การตรวจจับข้อผิดพลาดแบบทิศทางเดียว

ดังที่กล่าวไว้ข้างต้น รหัส Berger สามารถตรวจจับ ข้อผิดพลาดแบบทิศทางเดียว ได้หลายกรณีสำหรับคำรหัสที่กำหนดหากข้อผิดพลาดเพียงอย่างเดียวที่เกิดขึ้นคือบิตบางส่วน (หรือทั้งหมด) ที่มีค่าเป็น 1 เปลี่ยนเป็นค่า 0 การเปลี่ยนแปลงนี้จะถูกตรวจจับโดยการใช้งานรหัส Berger เพื่อให้เข้าใจว่าทำไม ลองพิจารณาว่ามีสามกรณีดังกล่าว:

  1. บิต 1 บางส่วนในส่วนข้อมูลของรหัสคำได้เปลี่ยนเป็น 0 แล้ว
  2. บิต 1 บางส่วนในส่วนตรวจสอบ (หรือส่วนที่ซ้ำซ้อน ) ของรหัสคำได้เปลี่ยนเป็น 0 แล้ว
  3. บิต 1 บางส่วนในทั้งส่วนข้อมูลและส่วนตรวจสอบได้เปลี่ยนเป็น 0 แล้ว

สำหรับกรณีที่ 1 จำนวนบิตที่มีค่าเป็น 0 ในส่วนข้อมูลจะเพิ่มขึ้นตามนิยามของข้อผิดพลาด ดังนั้น รหัสตรวจสอบ Berger ของเราจะต่ำกว่าจำนวนบิต 0 จริงของข้อมูล และการตรวจสอบจึงจะล้มเหลว

สำหรับกรณีที่ 2 จำนวนบิตที่มีค่าเป็น 0 ในส่วนข้อมูลยังคงเท่าเดิม แต่ค่าของข้อมูลตรวจสอบได้เปลี่ยนแปลงไป เนื่องจากเรารู้ว่ามีเลข 1 บางตัวเปลี่ยนเป็น 0 แต่ไม่มีเลข 0 ใดเปลี่ยนเป็น 1 (นี่คือวิธีที่เรากำหนดแบบจำลองข้อผิดพลาดในกรณีนี้) ค่าไบนารีที่เข้ารหัสของข้อมูลตรวจสอบจะลดลง (เช่น จากไบนารี 1011 เป็น 1010 หรือเป็น 1001 หรือ 0011) เนื่องจากข้อมูลยังคงเหมือนเดิม จึงมีจำนวนศูนย์เท่าเดิม และจะไม่ตรงกับค่าตรวจสอบที่เปลี่ยนแปลงไปอีกต่อไป

สำหรับกรณีที่ 3 ซึ่งมีการเปลี่ยนแปลงบิตทั้งในส่วนข้อมูลและส่วนตรวจสอบ สังเกตว่าจำนวนศูนย์ในส่วนข้อมูลเพิ่มขึ้นดังที่อธิบายไว้ในกรณีที่ 1 และค่าไบนารีที่เก็บไว้ในส่วนตรวจสอบลดลงดังที่อธิบายไว้ในกรณีที่ 2 ดังนั้น จึงไม่มีโอกาสที่ทั้งสองส่วนจะเปลี่ยนแปลงไปจนกลายเป็นรหัสคำที่ถูกต้องแตกต่างกัน

สามารถทำการวิเคราะห์ในลักษณะเดียวกันได้ และถูกต้องสมบูรณ์ ในกรณีที่ข้อผิดพลาดที่เกิดขึ้นมีเพียงแค่บิตที่มีค่าเป็น 0 เปลี่ยนเป็น 1 เท่านั้น ดังนั้น หากข้อผิดพลาดทั้งหมดที่เกิดขึ้นในรหัสคำเฉพาะนั้นเกิดขึ้นในทิศทางเดียวกัน ข้อผิดพลาดเหล่านั้นจะถูกตรวจพบ สำหรับรหัสคำถัดไปที่จะส่ง (เช่น) ข้อผิดพลาดอาจเกิดขึ้นในทิศทางตรงกันข้าม และก็จะยังคงถูกตรวจพบ ตราบใดที่ข้อผิดพลาดทั้งหมดเกิดขึ้นในทิศทางเดียวกัน

ข้อผิดพลาดแบบทิศทางเดียวพบได้บ่อยในบางสถานการณ์ ตัวอย่างเช่น ในหน่วยความจำแฟลชการตั้งค่าบิตให้เป็น 0 ทำได้ง่ายกว่าการรีเซ็ตให้เป็น 1

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Berger_code&oldid=1317140264 "

สรุปเนื้อหา

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

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

ใน ด้านโทรคมนาคม รหัส เบอร์เกอร์ (Berger code) เป็น รหัสตรวจจับข้อผิดพลาด แบบทิศทางเดียว ตั้งชื่อตาม เจ.เอ็ม. เบอร์เกอร์ ผู้คิดค้นรหัสนี้

การตรวจจับข้อผิดพลาดแบบทิศทางเดียว

ดังที่กล่าวไว้ข้างต้น รหัส Berger สามารถตรวจจับ ข้อผิดพลาดแบบทิศทางเดียว ได้หลายกรณี สำหรับ คำรหัสที่กำหนด หากข้อผิดพลาดเพียงอย่างเดียวที่เกิดขึ้นคือบิตบางส่วน (หรือทั้งหมด) ที่มีค่าเป็น 1 เปลี่ยนเป็นค่า 0 การเปลี่ยนแปลงนี้จะถูกตรวจจับโดยการใช้งานรหัส Berger...