Pusat pendidikan dan metodologi pelatihan bahasa avtf kts. Kode siklik Kode siklik memungkinkan Anda untuk mendeteksi

Kode siklik dicirikan oleh fakta bahwa selama permutasi siklik dari semua simbol kombinasi kode dari kode tertentu, kombinasi kode lain dari kode yang sama terbentuk.

Kombinasi kode siklik;

Juga kombinasi kode siklik.

Saat mempertimbangkan kode siklik, bilangan biner direpresentasikan sebagai polinomial, yang derajatnya ( P - 1), P- panjang kombinasi kode.

Misalnya, kombinasi 1001111 ( n= 7) akan diwakili oleh polinomial

Dengan representasi ini, operasi pada kombinasi kode direduksi menjadi operasi pada polinomial. Operasi ini dilakukan sesuai dengan aljabar biasa, kecuali pengurangan suku sejenis dilakukan modulo 2.

Deteksi kesalahan menggunakan kode siklik dipastikan dengan memilih kombinasi yang diizinkan yang dibagi tanpa sisa oleh beberapa polinomial yang dipilih sebelumnya G(X). Jika kombinasi yang diterima berisi karakter yang terdistorsi, maka bagilah dengan polinomial G(X) dilakukan dengan sisanya. Ini menghasilkan sinyal yang menunjukkan kesalahan. Polinomial G(X)disebut pembangkitan.

Konstruksi kombinasi kode siklik dimungkinkan dengan mengalikan kombinasi aslinya A(X) ke polinomial pembangkit G(X) dengan pengurangan istilah serupa modulo 2:

  • jika daya tertinggi produk tidak melebihi ( P - 1), maka polinomial yang dihasilkan akan mewakili kombinasi kode dari kode siklik;
  • jika daya tertinggi produk lebih besar dari atau sama dengan P, maka polinomial hasil kali dapat dibagi dengan polinomial derajat yang dipilih sebelumnya P dan hasil perkaliannya adalah sisa pembagian.

Jadi, semua polinomial yang mewakili kombinasi kode siklik akan memiliki derajat di bawah ini P.

Seringkali, sebagai polinomial dimana pembagian dilakukan, polinomial diambil G(X)= +1. Dengan pembentukan kombinasi kode seperti itu, posisi informasi dan simbol kontrol tidak dapat ditentukan sebelumnya.

Keuntungan besar dari kode siklik adalah kemudahan membuat pembuat enkode dan dekoder, yang dalam strukturnya mewakili register geser dengan umpan balik.

Jumlah bit register dipilih sama dengan derajat polinomial pembangkit.

Masukan dilakukan dari keluaran register ke beberapa digit melalui penjumlahan, yang jumlahnya dipilih satu kurang dari jumlah anggota bukan nol dari polinomial pembangkit. Adder dipasang pada input dari bit-bit register tersebut, yang sesuai dengan anggota bukan nol dari polinomial pembangkit.

Gambar 17 menunjukkan skema register pengkodean untuk mengubah kombinasi empat bit menjadi kombinasi tujuh bit.

Gambar 17 - Skema register pengkodean


Di meja. 4 menunjukkan bagaimana dengan menggeser kombinasi awal 0101, diperoleh kombinasi kode siklik 1010011. n= 7, k=4. Kombinasi 0101, kunci di posisi 1. Selama empat siklus pertama, register akan diisi, kemudian kunci dipindahkan ke posisi 2. Umpan balik ditutup. Di bawah aksi tujuh siklus shift, pembentukan kode siklik tujuh bit terjadi.

Tabel 4

Properti kode siklik:

1) kode siklik mendeteksi semua kesalahan tunggal jika polinomial pembangkit berisi lebih dari satu anggota. Jika G(X)=x+ 1, maka kode mendeteksi kesalahan tunggal dan semua yang ganjil;

2) kode siklik dengan G(X)= (x+ 1)G(X) mendeteksi semua kesalahan tunggal, ganda, dan tiga;

3) kode siklik dengan polinomial pembangkit G(X) derajat r = n - k mendeteksi semua kesalahan grup dengan durasi R karakter.

Kontrol pertanyaan

Kode siklik dinamai demikian karena di dalamnya beberapa atau semua kombinasi kode dapat diperoleh dengan menggeser satu atau lebih kombinasi kode secara siklik. Pergeseran siklik dilakukan dari kanan ke kiri, dengan karakter paling kiri dipindahkan ke akhir kombinasi setiap saat. Kode siklik, secara praktis, semuanya milik kode sistematis, di mana bit kontrol dan informasi ditempatkan di tempat yang ditentukan secara ketat. Selain itu, kode-kode tersebut termasuk di antara kode blok. Setiap blok (satu huruf adalah kasus khusus dari sebuah blok) dikodekan secara independen.

Gagasan membangun kode siklik didasarkan pada penggunaan polinomial yang tidak dapat direduksi di bidang bilangan biner. tidak dapat direduksi polinomial disebut yang tidak dapat direpresentasikan sebagai produk polinomial dengan derajat lebih rendah dengan koefisien dari bidang yang sama, seperti halnya bilangan prima tidak dapat direpresentasikan sebagai produk dari bilangan lain. Dengan kata lain, polinomial tak tereduksi dapat dibagi tanpa sisa hanya oleh dirinya sendiri atau oleh satu.

Polinomial yang tidak dapat direduksi dalam teori kode siklik memainkan peran menghasilkan polinomial. Jika kombinasi kode yang diberikan dikalikan dengan polinomial tak tereduksi yang dipilih, maka kita mendapatkan kode siklik, yang kemampuan koreksinya ditentukan oleh polinomial tak tereduksi.

Misalkan Anda ingin menyandikan salah satu kombinasi kode biner empat digit. Mari kita asumsikan juga kombinasi ini G(x) = x 3 + x 2 + 1 ® 1011. Tanpa membenarkan pilihan kami, kami mengambil dari tabel polinomial yang tidak dapat direduksi sebagai polinomial pembangkit P(x) = x 3 + x + 1 ® 1011. Lalu kalikan G(x) menjadi monomial dengan derajat yang sama dengan polinomial pembangkit. Dari mengalikan polinomial dengan monomial derajat N derajat setiap suku polinomial akan bertambah sebesar N, yang setara dengan menugaskan N nol dari digit orde rendah polinomial. Karena derajat polinomial tak tereduksi yang dipilih sama dengan tiga, kombinasi informasi asli dikalikan dengan monomial tiga derajat

G(x)xn =(x 3 + x 2 + 1) x 3 = x 6 + x 5 + x 3 = 1101000.

Ini dilakukan agar nanti di tempat nol ini dimungkinkan untuk menulis bit korektif.

Nilai digit korektif ditemukan dari hasil pembagian G(x)xn pada P(x):

x 6 +x 5 +0+x 3 +0+0+0 ½x 3 +x+1

x6 +0+x4 +x3

x 5 +x 4 +0+0 x 3 +x 2 +x+1+ x 5 +0+x 3 +x 2

x4 + x3 + x2 +0

x 4 + 0 + x 2 + x

x 3 +0+x+0

x 3 +0+x+1

Dengan demikian,

atau di pandangan umum

Di mana T(x)¾ hasil bagi, dan R(x)¾ sisa pembagian G(x)×xn pada P(x).



Sejak di aritmatika biner 1 Å 1 \u003d 0 yang artinya -1 \u003d 1, maka saat menjumlahkan bilangan biner, dimungkinkan untuk mentransfer suku dari satu bagian ke bagian lain tanpa mengubah tanda (jika nyaman), oleh karena itu persamaan bentuknya aÅb = 0 juga dapat ditulis sebagai a = b, Dan bagaimana a - b = 0. Ketiga persamaan dalam hal ini berarti keduanya A Dan B adalah 0, atau A Dan B sama dengan 1, yaitu memiliki paritas yang sama.

Dengan demikian, ekspresi (5.1) dapat ditulis sebagai

F(x)=Q(x) P(x)= G(x) x n +R(x),

yang dalam kasus contoh kita akan berikan

F(x)=(x 3 + x 2 + x + 1) (x 3 + x + 1)= (x 3 + x 2 + 1)x 3 + 1,

F(x)= 1111 1011 = 1101000 + 001 = 1101001.

Polinomial 1101001 adalah kombinasi yang diinginkan, di mana 1101 adalah bagian informasi, dan 001 adalah karakter kontrol. Perhatikan bahwa kita akan memperoleh kombinasi yang diinginkan baik sebagai hasil mengalikan salah satu kombinasi dari kode biner empat digit penuh (dalam hal ini 1111) dengan polinomial pembangkit, dan dengan mengalikan kombinasi yang diberikan dengan monomial yang memiliki kesamaan derajat sebagai polinomial penghasil yang dipilih (dalam kasus kami, kombinasi 1101000) diperoleh dengan cara ini, diikuti dengan menambahkan ke produk yang dihasilkan sisa pembagian produk ini dengan polinomial pembangkit (dalam contoh kami, sisanya memiliki formulir 001).

Dan di sini sifat-sifat polinomial pembangkit memainkan peran yang menentukan P(x). Metode pembuatan kode siklik sedemikian rupa sehingga polinomial generator mengambil bagian dalam pembentukan setiap kombinasi kode, sehingga setiap polinomial dari kode siklik dibagi oleh generator tanpa sisa. Tetapi hanya polinomial yang termasuk dalam kode tertentu yang dibagi tanpa sisa, mis., polinomial pembangkit memungkinkan Anda memilih kombinasi yang diizinkan dari semua kemungkinan. Jika, saat membagi kode siklik dengan polinomial pembangkit, diperoleh sisa, maka terjadi kesalahan dalam kode, atau ini merupakan kombinasi dari beberapa kode lain (kombinasi ilegal). Dengan sisa dan adanya kombinasi yang dilarang terdeteksi, mis. kesalahan terdeteksi. Sisa dari pembagian polinomial adalah pengidentifikasi kesalahan dalam kode siklik.

Di sisi lain, sisa dari membagi satu dengan nol dengan polinomial pembangkit digunakan untuk membuat kode siklik.

Saat membagi unit dengan nol dengan polinomial pembangkit, harus diingat bahwa panjang sisa harus tidak kurang dari jumlah bit kontrol, oleh karena itu, jika terjadi kekurangan bit pada sisanya, jumlah yang diperlukan dari nol dikaitkan dengan sisa di sebelah kanan.

01100 11111+

mulai dari yang kedelapan, sisanya akan diulang.

Sisa dari pembagian digunakan untuk menyusun matriks pembangkit, yang karena visibilitas dan kemudahannya dalam memperoleh kombinasi turunan, banyak digunakan untuk menyusun kode siklik. Konstruksi matriks pembangkit direduksi menjadi kompilasi matriks transposisi tunggal dan tambahan, yang unsur-unsurnya merupakan sisa dari pembagian unit dengan nol oleh polinomial pembangkit P(x). Ingatlah bahwa matriks transposisi identitas adalah matriks persegi, semua elemennya adalah nol, kecuali elemen yang terletak secara diagonal dari kanan ke kiri dari atas ke bawah (dalam matriks non-transposisi, diagonal dengan elemen satuan terletak dari kiri ke kanan dari atas ke bawah). Elemen matriks tambahan ditempatkan di sebelah kanan matriks transposisi identitas. Hanya residu itu, yang beratnya W³d0- 1, dimana d0- jarak kode minimum. Panjang residu harus setidaknya jumlah bit kontrol, dan jumlah residu harus sama dengan jumlah bit informasi.

Baris matriks pembangkit adalah kombinasi pertama Kode sumber. Kombinasi kode yang tersisa diperoleh sebagai hasil penjumlahan modulo 2 dari semua kemungkinan kombinasi baris dari matriks pembangkit.

Contoh.

Bangun matriks pembangkit lengkap dari kode siklik yang mendeteksi semua kesalahan tunggal dan ganda saat mentransmisikan kombinasi biner 10-bit.

Larutan.

Berdasarkan tabel 5.12, pilihlah nilai terdekat k ³ 10.

Tabel 5.12 - Hubungan antara informasi dan simbol cek untuk kode hingga 16 bit

N k ρ N k ρ

Menurut tabel, nilai ini akan menjadi k = 11, sementara r= 4, A

n= 15. Kami juga memilih polinomial pembangkit x 4 + x 3 +1.

Kami membangun matriks generator lengkap dari matriks yang ditransposisikan unit dalam bentuk kanonik dan matriks tambahan yang sesuai dengan digit cek.

Transposisi matriks untuk k = 11 terlihat seperti:

Matriks tambahan dapat dibangun dengan sisa membagi kombinasi dalam bentuk unit dengan nol (baris terakhir dari matriks transposisi identitas) dengan polinomial pembangkit yang dipilih.

Matriks pembangkit penuh akan terlihat seperti:

Metode membangun matriks pembangkit yang dijelaskan di atas bukanlah satu-satunya. Matriks pembangkit dapat dibangun sebagai hasil perkalian langsung elemen-elemen matriks identitas dengan polinomial pembangkit. Ini seringkali lebih nyaman daripada menemukan sisa divisi. Kode yang dihasilkan sama sekali tidak berbeda dari kode yang dibuat dari matriks pembangkit, di mana matriks tambahan terdiri dari sisa pembagian satu dengan nol dengan polinomial pembangkit.

Matriks pembangkit juga dapat dibangun dengan cara menggeser secara siklis kombinasi yang diperoleh dengan mengalikan baris matriks identitas pangkat k ke polinomial pembangkit.

Kesalahan dalam kode siklik dideteksi menggunakan sisa dari membagi kombinasi yang dihasilkan dengan polinomial pembangkit. Sisa pembagian adalah pengidentifikasi kesalahan, tetapi tidak secara langsung menunjukkan lokasi kesalahan dalam kode siklik.

Ide koreksi kesalahan didasarkan pada fakta bahwa kombinasi yang salah, setelah sejumlah pergeseran siklik, "disesuaikan" dengan sisanya sedemikian rupa sehingga, bersama dengan sisanya, memberikan kombinasi kode yang dikoreksi. Sisanya dalam hal ini tidak lain adalah perbedaan antara yang terdistorsi dan simbol yang benar, unit dalam sisanya persis berada di tempat bit yang terdistorsi dalam kombinasi yang disesuaikan dengan pergeseran siklik. Kombinasi yang terdistorsi disesuaikan hingga jumlah unit sisanya sama dengan jumlah kesalahan dalam kode. Dalam hal ini, secara alami, jumlah unit dapat sama dengan jumlah kesalahan S, dikoreksi oleh kode ini (kode mengoreksi 3 kesalahan dan 3 kesalahan dalam kombinasi yang terdistorsi), atau kurang S(kode mengoreksi 3 kesalahan, dan dalam kombinasi yang diterima 1 kesalahan).

Tempat kesalahan dalam kombinasi kode tidak masalah. Jika k³(n/2), kemudian setelah sejumlah pergeseran, semua kesalahan akan berada di zona aksi "tunggal" dari polinomial pembangkit, mis., cukup untuk mendapatkan satu sisa, yang bobotnya W£s, dan ini sudah cukup untuk memperbaiki kombinasi yang terdistorsi.

Proses koreksi kesalahan dibahas secara rinci di bawah ini menggunakan contoh pembuatan kode tertentu.

Kode siklik

Kode siklik adalah salah satu kode sistematis blok di mana setiap kombinasi dikodekan secara independen (dalam bentuk blok) sedemikian rupa sehingga informasi k dan karakter kontrol t selalu ditemukan.

berpakaian di tempat-tempat tertentu. Kemungkinan untuk mendeteksi dan mengoreksi hampir semua kesalahan dengan redundansi yang relatif kecil dibandingkan dengan kode lain, serta kesederhanaan penerapan rangkaian peralatan pengkodean dan penguraian kode, membuat kode ini tersebar luas. Teori kode siklik didasarkan pada teori grup dan aljabar polinomial di atas medan Galois.

Kode siklik adalah kode yang urutan distribusi kombinasi kode dilakukan sedemikian rupa sehingga ketika berpindah dari kombinasi apa pun ke kombinasi tetangga, jarak kode Hamming tetap konstan setiap saat.

Kode siklik adalah seluruh keluarga kode koreksi kesalahan, termasuk kode Hamming sebagai salah satu varietas, tetapi secara umum memberikan fleksibilitas yang lebih besar dalam hal kemungkinan penerapan kode dengan kemampuan yang diperlukan untuk mendeteksi dan memperbaiki kesalahan yang terjadi saat mentransmisikan kombinasi kode melalui saluran komunikasi. Kode siklik mengacu pada kode blok sistematis (n, k), di mana k bit pertama adalah kombinasi dari kode utama, dan bit berikutnya (n × k) adalah bit cek.

Konstruksi kode siklik didasarkan pada operasi pembagian kata sandi yang ditransmisikan dengan menghasilkan polinomial tak tereduksi dengan derajat r. Sisa pembagian digunakan dalam pembentukan check bit. Dalam hal ini, operasi pembagian didahului dengan operasi perkalian yang menggeser kombinasi kode informasi k-bit ke kiri sebanyak r bit.

Polinomial (polinomial), yang dapat direpresentasikan sebagai produk dari polinomial dengan derajat yang lebih rendah, disebut dapat direduksi (dalam bidang tertentu), jika tidak maka tidak dapat direduksi. Polinomial tak tereduksi memainkan peran yang mirip dengan bilangan prima dalam teori bilangan. Polinomial tak tereduksi P(X) dapat ditulis sebagai bilangan desimal atau biner, atau sebagai polinomial aljabar.

Proses pengkodean siklik

Pengkodean siklik didasarkan pada penggunaan polinomial tak tereduksi P(X), yang, dalam hubungannya dengan kode siklik, disebut pembangkitan, pembangkitan, atau pembangkitan polinomial (polinomial).

Sebagai simbol informasi k untuk membuat kode siklik, kombinasi kode biner untuk semua kombinasi diambil. Dalam kasus umum, jika kombinasi kode yang diberikan Q(x) dikalikan dengan polinomial pembangkit P(x), kita mendapatkan kode siklik yang memiliki sifat korektif tertentu bergantung pada pilihan P(x). Namun, dalam kode ini, simbol kontrol m akan ditempatkan di berbagai tempat dalam kata kode. Kode semacam itu tidak sistematis, sehingga sulit untuk diterapkan di sirkuit. Situasinya dapat sangat disederhanakan jika karakter kontrol ditetapkan di bagian akhir, yaitu setelah karakter informasi. Untuk tujuan ini, disarankan untuk menggunakan metode berikut:

Kalikan kata kode G(x) yang akan dikodekan dengan monomial X m yang berderajat sama dengan polinomial P(x);

Kami membagi produk G(x)X m dengan menghasilkan polinomial P(x m):

di mana Q(x) adalah hasil bagi pembagian; R(x) - sisa.

Mengalikan ekspresi (2.1) dengan Р(х) dan mentransfer R(x) ke bagian persamaan lainnya tanpa tanda pembalik, diperoleh:

Jadi, menurut persamaan (2.2), kode siklik, yaitu pesan yang disandikan F(x), dapat dibentuk dengan dua cara:

Perkalian satu kombinasi kode dari suatu kode biner untuk semua kombinasi dengan pembangkitan polinomial P(x);

Dengan mengalikan kata kode yang diberikan G(x) dengan polinomial tunggal X m yang memiliki derajat yang sama dengan polinomial pembangkit P(x), dengan penambahan sisa R(x) yang diperoleh setelah membagi hasil kali G(x)X m dengan polinomial pembangkit P(X).

Pengodean pesan

Diperlukan untuk menyandikan kata kode 1100, yang sesuai dengan G(x)=x 3 +x 2 dengan P(x)=x 3 +x+1.

Kami mengalikan G (x) dengan X m, yang memiliki derajat ketiga, kami mendapatkan:

Membagi produk G(x)X m dengan menghasilkan polinomial P(x m), menurut (2.1) kita mendapatkan:

atau dalam persamaan biner:

Jadi, sebagai hasilnya, kita memperoleh hasil bagi Q(x) dengan derajat yang sama dengan G(x):

P(x)=x 3 +x 2 +x>1110

dan sisanya:

Akibatnya, kombinasi kode biner yang disandikan oleh kode siklik, menurut (2.2), akan berbentuk:

F(x)=1110 1011=1100010

Karena setiap kombinasi kode yang diperbolehkan dari kode siklik mewakili semua jumlah yang mungkin dari polinomial pembangkit G(x), mereka harus dapat dibagi tanpa sisa oleh P(x). Oleh karena itu, pemeriksaan kebenaran kombinasi kode yang diterima direduksi menjadi identifikasi sisa saat membaginya dengan polinomial pembangkit.

Menerima sisanya menunjukkan adanya kesalahan. Sisa pembagian dalam kode siklik berperan sebagai sindrom.

Misalnya, kombinasi kode yang ditransmisikan F(x)=1100010, dibangun menggunakan polinomial pembangkit P(x)=1011. Di bawah pengaruh interferensi, kombinasi kode diubah menjadi kombinasi F "(x) = 1000010

Kami membagi kombinasi yang diterima dengan polinomial pembangkit

Adanya sisa R(x)=001 menunjukkan kesalahan. Namun, itu tidak secara langsung menunjukkan lokasi kesalahan dalam kombinasi. Untuk menentukan kesalahan, ada beberapa metode berdasarkan analisis sindrom.

Mari kita tentukan lokasi kesalahan, untuk ini kita membagi unit dengan bilangan nol sembarang dengan P(x)=1011.

Terjadi kesalahan pada nomor elemen:

Jumlah residu -2>4-2=2

Artinya, kesalahannya ada pada elemen kedua.

UNIVERSITAS NEGARA BELARUSIA ILMU INFORMASI DAN ELEKTRONIK RADIO

Departemen RES

abstrak dengan topik:

Kode siklik. kode BCH"

MINSK, 2009

Kode siklik

Kode siklik adalah kode blok linier (n,k), yang dicirikan oleh sifat siklik, mis. pergeseran ke kiri satu langkah dari setiap kata kode yang diperbolehkan juga menghasilkan kata kode yang diperbolehkan yang termasuk dalam kode yang sama dan kumpulan kata kode tersebut diwakili oleh sekumpulan polinomial berderajat (n-1) atau kurang, habis dibagi polinomial g(x) berderajat r = n-k , yang merupakan faktor binomial x n +1.

Polinomial g(x) disebut pembangkitan.

Sebagai berikut dari definisi, kata kode dalam kode siklik direpresentasikan sebagai polinomial


di mana n adalah panjang kode; - koefisien dari bidang GF(q).

Jika kode dibangun di atas bidang GF(2), maka koefisiennya mengambil nilai 0 atau 1 dan kode tersebut disebut biner.
Contoh. Jika kata kode dari kode siklik

kemudian polinomial yang sesuai

Misalnya, jika kode dibangun di atas bidang GF(q)=GF(2 3), yang merupakan perpanjangan dari GF(2) modulo polinomial tak tereduksi f(z)=z 3 +z+1, dan elemen-elemennya bidang ini memiliki bentuk yang disajikan pada tabel 1,

kemudian koefisien

ambil nilai elemen bidang ini dan oleh karena itu nilai itu sendiri ditampilkan sebagai polinomial dari bentuk berikut
di mana m adalah derajat polinomial yang dengannya perluasan bidang GF(2) diperoleh; ai - koefisien yang mengambil nilai dari elemen GF(2), yaitu 0 dan 1. Kode seperti itu disebut q-th.

Panjang kode siklik disebut primitif dan kode itu sendiri disebut primitif jika panjangnya n=q m -1 pada GF(q).

Jika panjang kode kurang dari panjang kode primitif, maka kode tersebut disebut shorted atau non-primitive.

Sebagai berikut dari definisinya, sifat umum dari kata kode kode siklik adalah keterbagiannya tanpa sisa oleh suatu polinomial g(x), yang disebut generator.

Hasil pembagian binomial x n +1 dengan polinomial g(x) adalah polinomial uji h(x).

Saat mendekode kode siklik, polinomial galat e(x) dan polinomial sindrom S(x) digunakan.

Polinomial kesalahan derajat tidak lebih dari (n-1) ditentukan dari ekspresi

di mana polinomial masing-masing mewakili kata kode yang diterima (salah) dan dikirim.

Koefisien bukan nol dalam e(x) menempati posisi yang sesuai dengan kesalahan.

Contoh.

Polinomial sindromik yang digunakan dalam mendekodekan kode siklik didefinisikan sebagai sisa pembagian katakode yang diterima dengan polinomial generator, mis.


atau

Oleh karena itu, polinomial sindrom bergantung langsung pada polinomial galat e(x) Ketentuan ini digunakan dalam pembuatan tabel sindrom yang digunakan dalam proses decoding. Tabel ini berisi daftar polinomial kesalahan dan daftar sindrom terkait yang ditentukan dari ekspresi

(lihat tabel 2).

Dalam proses decoding, sindrom dihitung dari kata kode yang diterima, kemudian e(x) polinomial yang sesuai ditemukan dalam tabel, yang penjumlahannya dengan kata kode yang diterima memberikan kata kode yang dikoreksi, yaitu.

Polinomial yang terdaftar dapat dijumlahkan, dikalikan, dan dibagi menggunakan aturan aljabar yang diketahui, tetapi dengan hasil dikurangi mod 2, lalu mod x n +1 jika derajat hasilnya melebihi derajat (n-1).

Mari kita asumsikan panjang kodenya adalah n=7, lalu kita berikan hasil mod x 7 +1.

Saat membuat dan mendekode kode siklik, sebagai hasil pembagian polinomial, biasanya diperlukan bukan hasil bagi, tetapi sisa dari pembagian.
Oleh karena itu, metode pembagian yang lebih sederhana direkomendasikan, tidak menggunakan polinomial, tetapi hanya koefisiennya (opsi 2 dalam contoh).

Contoh.

Penugasan matriks kode

Kode siklik dapat diberikan dengan membuat dan memeriksa matriks. Untuk membangunnya, cukup mengetahui generator g(x) dan menguji polinomial h(x). Untuk kode siklik non-sistematis, matriks dibangun oleh pergeseran siklik dari polinomial yang menghasilkan dan memeriksa, yaitu dengan mengalikannya dengan x

Dan

Saat menyusun matriks H (n,k), koefisien terdepan dari polinomial h(x) terletak di sebelah kanan.

Contoh. Untuk kode siklik (7,4) dengan polinomial pembangkit g(x)=x 3 +x+1, matriks G (n,k) dan H (n,k) memiliki bentuk:

Di mana

Untuk kode siklik sistematis, matriks G (n,k) ditentukan dari ekspresi

di mana saya k adalah matriks identitas; R k,r - matriks persegi panjang. Baris matriks R k,r ditentukan dari ekspresi atau di mana a i (x) adalah nilai baris ke-i dari matriks I k ; i - nomor baris dari matriks R k,r .

Contoh. Matriks G (n,k) untuk (7,4)-kode berdasarkan polinomial pembangkit g(x)=x 3 +x+1 dibangun dalam urutan berikut


atau

R 4.3 ditentukan menggunakan

Karena

Dengan cara yang sama, itu ditentukan



Memuat...
Atas