Dekoding Bit-Flip Dekoding LDPC

P = A A 2.16 dengan P adalah koefisien matriks dan adalah invers matriks A. Generator matriks skema LDPC ditentukan dengan G = [ A A ⋮ I ] 2.17 dengan adalah matriks identitas k-oleh-k. Penting untuk digaris-bawahi bahwa jika penentuan matriks periksa paritas A untuk sembarang kode LDPC dan pengambilan n-k kolom A secara acak untuk membentuk matriks persegi , tidak menjamin bahwa akan nonsingular memiliki invers, bahkan jika baris A adalah “independent linearly” sekalipun.

2.4.3.2 Enkoding LDPC

Proses enkoding LDPC dilakukan dengan melakukan perkalian matriks u pesan dengan G generator sandi LDPC. c = uG 2.18

2.4.3.3 Dekoding LDPC

2.4.3.3.1 Dekoding Bit-Flip

Algoritma bit-flip adalah sebuah algoritma pelewat pesan hard-decision untuk sandi LDPC. Hard decision tentang masing-masing bit yang diterima dibuat oleh detektor dan melewati dekoder. Untuk algoritma bit-flip, pesan yang melewati batas grafik bipartit Tanner adalah dalam bentuk biner. Node bit variabel mengirimkan pesan yang mendeklarasikan apakah bernilai satu atau nol, dan setiap node cek mengirimkan pesan ke setiap node bit yang terhubung mendeklarasikan nilai dari bit berdasarkan informasi yang terdapat pada node cek. Node cek menentukan apakah persamaan cek paritas memenuhi jika penjumlahan modulo 2 dari masukan bit adalah bernilai nol. Jika sebagian besar pesan diterima dengan node bit berbeda dari nilai yang diterima maka nilai node bit saat itu akan berubah flip. Proses ini diulangi sampai semua persamaan cek paritas terpenuhi atau sampai melewati nilai maksimum dari iterasi dekoder. Proses dekoding bit-flip bisa langsung dihentikan apabila codeword valid sudah ditemukan dengan memeriksa jika semua persamaan cek paritas terpenuhi. Skema dekoding ini memiliki dua keuntungan, yaitu iterasi tambahan tidak diperlukan saat solusi sudah ditemukan dan kegagalan menemukan codeword dapat dideteksi. Algoritma bit-flip berdasarkan prinsip bahwa adalah salah jika sebuah codeword melibatkan sejumlah besar persamaan cek yang salah. Kejarangan pada matriks periksa paritas H membantu menyebarkan bit sehingga persamaan periksa paritas tidak berisi set bit codeword yang sama. Masukan dari proses bit-flip adalah codeword transmisi y = [y 1 ,y 2 ,...,y n ] dan keluarannya adalah M = [M 1 ,M 2 ,...,M n ]. Pseudo-code dari bit-flip adalah sebagai berikut Algoritma dekoding bit-flip dibagi menjadi beberapa langkah yaitu : 1. Inisialiasi Setiap node bit variabel menandai bit yang diterima kanal dan mengirim pesan ke node cek yang terhubung, inisialisasi dapat diperlihatkan melalui grafik bipartit Tanner. 2. Memperbarui paritas Dengan menggunakan pesan dari node bit, setiap node cek memeriksa apakah persamaan cek paritas terpenuhi, jika terpenuhi algoritma akan berhenti. Jika persamaan cek paritas tidak terpenuhi setiap node cek akan mengirimkan pesan ke node bit yang terhubung untuk memeriksa paritas. 3. Memperbarui bit Jika sebagian besar pesan yang dikirim oleh node cek mengindikasikan persamaan cek paritas tidak terpenuhi, maka nilai dari node bit berubah flip. Setelah node bit berubah, proses memperbarui paritas akan dilakukan kembali sampai paritas codeword valid atau maksimum iterasi. Jika sampai kondisi iterasi maksimum codeword belum valid, maka algoritma dekoding akan berhenti.

2.5 Penyandian Kanal