6.14.2 Studi Kasus Reed-Solomon Codes
Untuk tujuan penJjelasan, pilihan bidang adalah GF
(64), karena ini adalah bidang yang sama yang
digunakan dalam sistem CDPD, Dalam hal ini, m = 6,
Jadi masing-masing dari 64 elemen bidang diwakili
oleh simbol 6 bit.
Sebuah entitas bidang terbatas p (X) diperkenalkan
untuk memetakan 64 simbol 6-bit yang berbeda ke
elemen bidang. Suatu polinomial tak tereduksi p (x)
berderajat m dikatakan primitif jika bilangan bulat
terkecil n dimana p(X) membagi X +1 adalah n = 2-1,
Polinomial primitif p (X) ini khas dari bentuk 6.99Dalam kasus kode Reed-Solomon yang digunakan
untuk CDPD, ini memang bentuk p(X). Apapun,
polinomial ini telah ditabulasi untuk berbagai ukuran
bidang, Jadi p(X) harus dianggap sebagai kuantitas
yang diketahui. Polinomial primitif CDPD adalah 6,100
Untuk memetakan Simbol ke elemen bidang, atur
polinomial primitif p(a) 0. Ini menghasilkan hasil
berikut, yang menutup himpunan elemen bidangs
6,LoL
Tabel 6.2 menunjukkan pemetaan yang tepat dari
simbol 6 bit ke elemen bidang. Elemen-elemen ini
dibangkitkan dengan memulai dengan elemen 1Hasil Sederhana ini Sangat penting ketika
mengimplementasikan perkalian medan hingga dalam
perangkat lunak. Perkalian dapat diselesaikan
dengan cepat dan efisien dengan menggunakan
modulo 2"-1 penambahan pangkat operand elemen.
Untuk kode 63, 47 Reed-Solomon yang digunakan
dalam sistem CDPD, perkalian dua elemen medan
sesuai dengan penambahan pangkat dari dua operan
modulo 63 untuk Sampai pada kekuatan produk.
Penjumlahan dalam GF (2") sesuai dengan modulo-2
menjumlahkan koefisien representasi polinomial
elemen. Karena koefisiennya adalah 1 atau 0
(karena medan adalah perpanjangan dari medan
biner GF (2)), ini dapat cukup diimplementasikan
dengan bit-bijaksana eksklusif-OR dari
representasi simbol 6 bit dari operan
unsur,Beberapa contoh penambahan medan hingga di
GF (64) ditunjukkan di bawah 6,102,a
fem eah = (1110) XORCIoMOD, = (H111D, = a 61020)6.14,2.1 Pengkodean Reed-Solomon
Dalam diskusi tentang encoder Reed Solomon,
polinomial berikut adalah:
sering digunakan;
d(x)8 polinomial informasi mentah
p(x)3 polinomial paritas
c(x) polinomial kata sandi
9(x)s polinomial generator q(x) polinomial hasil bagi
r(x) Sisa polinomial
C adalah polinomial informasi dan 6,104menJjadi polinomial paritas (c, semua elemen dari
GF(64)). Polino mial AS yang disandikan dengan
demikian dapat dinyatakan sebagai: 6.105
Sebuah vektor dari n elemen medan (C0.C4qq9q) adalah
kata kode jika dan hanya Jjika itu adalah kelipatan
dari polinomial generator g(x). Polinomial generator
untuk kesalahan t, koreksi, kode Reed-Solomon
memiliki bentuk 6.106
Metode umum untuk mengkodekan kode siklik adalah
dengan menurunkan p (x) dengan membagi d (x)
dengan gix). Ini menghasilkan polinomial hasil bagi
yang tidak relevan q(x) dan polinomial penting r(x)sebagai berikuts 6,107
Dengan demikian polinomial codeword dapat
dinyatakan sebagai 6,103
Jika polinomial paritas didefinisikan sebagai sama
dengan negatif dari koefisien rix), maka berikut ini
6,109
Dengan demikian memastikan bahwa polinomial
codeword adalah kelipatan dari polinomial
generator, encoder Reed-Solomon dapat dibangun
dengan melakukan proses pembagian di atas untuk
mendapatkan pX), Metode langsung untuk
mendapatkan sisa dari proses pembagian dengan
polinomial monik 9(x) adalah dengan menghubungkan
register geser menurut g(x) seperti yang
ditunjukkan pada Gambar 6,18, Setiap "+" mewakiliTabel 6.2 Tiga Representasi Elemen GF (64)
eksklusif-OR dari dua angka m-bit, setiap Xmewakili perkalian dua angka m-bit di bawah GF(2"),
dan setiap register m-bit berisi angka m-bit yang
dilambangkan dengan b..
Awalnya, Semua register diatur ke 0, dan sakelar
diatur ke posisi data. Simbol kode c Sampai c, Secara
berurutan digeser ke dalam rangkaian dan secara
bersamaan ditransmisikan ke saluran keluaran.
Segera setelah simbol kode c memasuki sirkuit,
sakelar dibalik ke posisi paritas, dan gerbang ke
Jaringan umpan balik dibuka sehingga tidak ada
umpan balik lebih lanjut yang diberikan, Pada saat
yang Sama, register b, melalui by— mengandung
simbol paritas p, melalui P2-1 yang berhubungan
langsung dengan koefisien polinomial paritas.
Mereka dapat secara berurutan digeser ke outputuntuk menyelesaikan proses pengkodean Reed-
Solomon.Misalkan sebuah codeword 6,110
ditransmisikan dan kesalahan saluran tersebut
menghasilkan kata kode yang diterima 6,111
Pola kesalahan e(x) adalah selisih antara c(x) dan
r(x). Menggunakan persamaan (6,110) dan (6.111),
6,112
0 on0
Biarkan 21 sindrom parsial Sq, Icis 21, didefinisikan
sebagai S, = r(a). Sejak
aaa
adalah akar dari setiap kata sandi yangditransmisikan c(x) (karena Setiap kode
kata adalah kelipatan dari polinomial generator
9(x)), maka e(a) dan S, = c(a) +e(a) eta). Jadi, jelas
bahwa 21 sindrom parsial S, hanya bergantung pada
pola kesalahan e(x) dan bukan pada kata kode
tertentu yang diterima rfx).
Misalkan pola kesalahan berisi k kesalahan (kst) di
lokasi di mana
Biarkan besarnya kesalahan di setiap lokasi x
dilambangkan sebagai c,. Maka e (x) memiliki bentuk3
6,113
Tentukan himpunan nomor pencari kesalahan B, ai
1,2,k. Kemudian himpunan sindrom parsial 2t
menghasilkan sistem persamaan berikut3 6,114.0Setiap algoritma yang memecahkan sistem
perSamaan ini adalah algoritma decoding Reed—
Solomon. Besaran kesalahan e, ditemukan secara
langsung, dan kesalahan
lokasi dapat ditentukan dari p
Decoder Reed-Solomon dapat diimplementasikan
dalam perangkat keras, perangkat lunak, atau
campuran perangkat keras dan perangkat lunak.
Implementasi perangkat keras biasanya Sangat
cepat, tetapi tidak dapat digunakan untuk berbagai
ukuran kode Reed-Solomon, Sebagai contoh, ada
beberapa chip tunggal, decoder Reed-Solomon yang
tersedia yang memecahkan kode kode yang biasa
digunakan dalam komunikasi satelit, aplikasi video
digital, dan teknologi compact disk. Dekoder
perangkat keras ini dapat beroperasi dengankecepatan hingga Lo Mbit per detik, Namun, karena
keluarga kode khusus ini beroperasi pada simbol 3-
bit dari GF (255), kode Reed-Solomon (63,47) yang
digunakan dalam sistem CDPD tidak dapat
didekodekan dengan chip ini. Karena CDPD
beroperasi pada kecepatan yang jauh lebih lambat
yaitu 19,2 kbps, implementasi perangkat lunak real-
time dari dekoder Reed-Solomon (63, 47) dapat
dicapai. Pendekatan perangkat lunak mungkin lebih
menarik bagi pengembang sistem CDPD, karena akan
memiliki waktu pengembangan yang lebih singkat,
biaya pengembangan yang lebih rendah, dan
fleksibilitas yang lebih besar.
Sebuah decoder Reed-Solomon khas menggunakan
lima algoritma yang berbeda, Algoritma pertama
menghitung 2 Sindrom parsial S,. Langkah kedua
dalam proses decoding AS adalah algoritma
Berlekamp-Massey yang menghitung polinomial
pencari kesalahan a(x). Polinomial ini adalah fungsi
dari lokasi kesalahan dalam kata kode yang diterima
rix), tetapi tidak secara langsung menunjukkan
simbol mana dari kata kode yang diterima yang
salah, Algoritma pencarian Chien kemudian
digunakan untuk menghitung lokasi kesalahanspesifik ini dari polinomial pencari kesalahan.
Langkah keempat dalam proses decoding adalah
perhitungan besarnya error pada masing-masing
lokasi, Akhirnya, mengetahui kedua lokasi kesalahan
dalam codeword yang diterima dan besarnya
kesalahan di setiap lokasi, algoritma koreksi
kesalahan dapat diimplementasikan untuk
mengoreksi hingga t kesalahan dengan sukses
[Rhe89).
Perhitungan Sindrom
Sindrom kode siklik biasanya didefinisikan sebagai
sisa yang diperoleh dengan membagi kata sandi yang
diterima r(x) dengan polinomial generator 9(x).
Namun, untuk kode Reed-Solomon, 21 sindrom
parsial dihitung. Setiap Sindrom parsial S,
didefinisikan sebagai sisa yang diperoleh saat
membagi kata sandi yang diterima r(x) dengan xta’.
6,115Pembagian dua polinomial menghasilkan polinomial
hasil bagi q(x) dan polinomial sisa rem(x), Derajat
sisa rem (x) harus lebih kecil dari derajat polinomial
pembagi p(x). Jadi, jika p (x) memiliki derajat 1
(yaitu, p(x) = xta), rem (x) harus memiliki derajat 0,
Dengan kata lain, rem (x) hanyalah elemen medan
dan dapat dinotasikan sebagai rem, Dengan demikian
penentuan 21 sindrom parsial dimulai dengan
perhitungan 6,116
Menata ulang persamaan di atas menghasilkan 6,117
Misalkan x = a. 6.118Dengan demikian, perhitungan Sindrom parsial 2t S,
dapat disederhanakan dari a
pembagian polinomial besar—-besaran (yang intens
secara komputasi) untuk hanya mengevaluasi
menggunakan polinomial r(x) yang diterima pada x =
a’ [Ahe89): 6.119
Juga 6,120
Sadi r (a) memiliki bentuk 6,121
Evaluasi rta’) dapat diimplementasikan dengan
sangat efisien dalam perangkat lunak dengan
mengatur fungsi sehingga memiliki bentuk sebagai
berikuts 6,122Proses decoding Reed-Solomon adalah implementasi
apapun yang menyelesaikan persamaan (6,114,a)
Sampai (6.114.c). Persamaan 2t ini adalah fungsi
simetris di By. Bo- By dikenal sebagai fungsi simetris
penjumlahan daya. Kami sekarang mendefinisikan
polinomial 6.123
Akar-akar a (x) adalah B, . B. By yang merupakan
invers dari bilangan lokasi kesalahan 4. Sadi, o(x)
disebut polinomial pencari kesalahan karena secara
tidak langsung mengandung lokasi eksak dari setiap
kesalahan dalam r(x). Perhatikan bahwa (1) adalah
polinomial yang tidak diketahui yang koefisiennyajuga harus ditentukan selama proses decoding Reed-
Solomon.
Koefisien a (x) dan bilangan lokasi kesalahan B,
dihubungkan oleh persamaan berikut; 6,.124.a
Besaran-besaran yang tidak diketahui 0, dan By
dapat dihubungkan dengan Sindrom parsial S yang
diketahui, dengan himpunan persamaan berikut
yang dikenal sebagai Identitas Newton, 6,125.aMetode yang paling umum untuk menentukan o (1)
adalah Berlekamp-Massey thm [Lin33].