Pembetulan ralat Reed–Solomon

Juga dipanggil: Reed–Solomon error correction, kod Reed-Solomon, kod RS

Takrifan

Pembetulan ralat Reed–Solomon ialah matematik yang membolehkan kod QR yang rosak masih diimbas. Ia menambah kata kod semakan pada data supaya pembaca dapat membina semula bait yang hilang atau salah, sehingga had tertentu.

Asal usul dan kegunaan yang lebih luas

Kod Reed–Solomon dihuraikan oleh Irving S. Reed dan Gustave Solomon pada 1960. Ia bekerja pada simbol lengkap, biasanya bait, dan bukannya bit tunggal, yang menjadikannya baik dalam menangani kerosakan berturutan seperti calar atau contengan.

Keluarga kod yang sama melindungi data pada cakera CD, DVD dan Blu-ray, dalam sesetengah pautan televisyen digital dan satelit, dan dalam kod bar 2D lain termasuk Data Matrix ECC 200, kod Aztec dan PDF417.

Cara kod QR menggunakannya

Kod QR menganggap setiap kata kod 8 bit sebagai unsur medan terhingga GF(256), yang dibina dengan polinomial primitif x^8 + x^4 + x^3 + x^2 + 1 (heks 0x11D). Kata kod data dibahagikan dengan polinomial penjana, dan bakinya menjadi kata kod pembetulan ralat yang ditambah pada data itu.

Kod yang lebih besar membahagikan datanya kepada beberapa blok, masing-masing dengan kata kod pembetulan ralat sendiri. Blok itu kemudian diselang-seli apabila kata kod diletakkan dalam grid, supaya sekeping kerosakan tersebar merentasi banyak blok dan bukannya membebani satu blok.

Berapa banyak yang boleh dibaiki

Dengan n kata kod pembetulan ralat dalam satu blok, penyahkod boleh membetulkan sehingga n/2 kata kod yang kedudukannya tidak diketahui, atau sehingga n kata kod yang kedudukannya diketahui, dipanggil pemadaman (erasure). Kes bercampur mengikut peraturan bahawa setiap ralat dikira dua kali dan setiap pemadaman sekali.

Inilah sebabnya kod dengan kawasan rata yang bersih yang ditutup oleh logo masih boleh diimbas: pembaca yang bijak boleh menganggap kawasan yang tertutup sebagai pemadaman, manakala kerosakan rawak lebih sukar dibaiki kerana penyahkod perlu mencarinya dahulu.

  • Ralat tidak diketahui: sehingga separuh bilangan kata kod EC
  • Pemadaman (kedudukan diketahui): sehingga bilangan kata kod EC
  • Medan: GF(256), polinomial 0x11D
  • Blok diselang-seli untuk menyebarkan kerosakan berturutan

Soalan lazim

Apakah Reed–Solomon dalam kod QR?

Ia ialah kaedah pembetulan ralat yang menambah kata kod tambahan pada data. Pengimbas menggunakannya untuk membina semula kata kod yang rosak atau tidak boleh dibaca.

Siapakah yang mencipta kod Reed–Solomon?

Irving S. Reed dan Gustave Solomon, yang menerbitkannya pada 1960. Kod ini kini digunakan dalam cakera optik, komunikasi dan kebanyakan kod bar 2D.

Kenapa kod QR dengan logo di tengah masih boleh berfungsi?

Logo itu menutup modul yang boleh dibina semula oleh pembetulan ralat Reed–Solomon. Ia berfungsi selagi kawasan yang tertutup kekal dalam kapasiti pembetulan ralat dan corak pencari jelas.

Sumber dan piawaian

Semua istilah