Channel Coding dan Decoding- Convolutional Coding By Teddy Purnamirza, ST, MEng
Convolutional Coding Sama dengan coding lainnya, mengambil sejumlah input k bit dan memetakan menjadi n bit output, dimana ditambahkan (n-k) bit Perbedaan Convolutional coding dengan coding lainnya: n bit output nilainya tergantung dari k bit input, dan juga k bit input sebelumnya
Cont’
Representasi polinomial
Diagram Trellis Node menyatakan bit apa yang akan tersisa jika bit baru masuk Garis putus-putus menggambarkan jika bit 1 yang masuk, contoh jika state awal 00 (posisi 1=0, posisi 2=0, kemudian masuk bit 1 ,maka isi register 100, dimana menghasilkan ouput 11 dan state baru 10 (posisi 1=1,posisi 2=0,lihat gambar samping)
Latihan Tentukan representasi polinomial dan diagram trellis dari coder convolutional berikut:
Jawaban
Channel decoding
Cont’ Misalnya dikirim u=000000 dan diterima v=000000,maka dari diagram trellis dapat dilihat bahwa kemungkinan nilai u ada Misalnya dikirim u=000000 dan diterima v=000001, maka dapat dilihat dari diagram trellis bahwa kemungkinan ini tidak ada, berarti terjadi error (cara mudah mendeteksi error) Bagaimana mengkoreksi error? Dengan melakukan searching disemua kemungkinan jalur pada diagram trellis,maka jalur yang mendekati jalur v=000001 adalah u’=000000, dan diketahui juga dari diagram trellis bahwa u’=000000 berhubungan dengan m’=000 (lihat gambar dibawah)
Latihan Untuk convolutional coder berikut, tentukan output channel decoder, jika yang diterima v=1111
Jawaban
Algoritma Viterbi Jika kita menerima v=00 00 01 11 10 00 10 00 00 11 11 11 01 10 10 01 01 11 11 11 01, dan mencari pada diagram trellis jalur yang paling mendekati, maka ini akan memerlukan waktu pencarian yang panjang, digunakan cara yang lebih sederhana: Algoritma Viterbi Contoh untuk diagram berikut:
Cont’
Cont’
PR
Unjuk Kerja Convolutional Coding Tujuan utama dari adanya convolutional coding adalah sebagai pengkoreksi error Convolutional coder dapat mengkoreksi e bit error dari setiap 4k bit, dimana k adalah solusi untuk 2k = jumlah node (state) dmin adalah jarak terpendek antara 2 jalur dengan node awal dan akhir yang sama pada diagram trellis dmin adalah juga jarak terpendek antara jalur zero dan jalur yang lain pada diagram trellis yang bermula pada node 0 (time 0) dan berakhir pada node 0 (waktu berikutnya)
Cont’ Jalur zero adalah jalur yang mengouputkan bit 0 dari awal sampai akhir Pada gambar berikut terlihat jalur zero (yang paling atas) dan jalur lain yang bermula di state 0 dan berakhir di state 0 juga, pada gambar dibawah terlihat berapa banyak nilai 1 yang dioutputkan pada setiap cabang, totalkan semuanya maka didapat dmin=5
Kode Catastrophic Kode convolutional disebut catastrohic jika terjadi kasus berikut m=(0 0 0 0 0…) adalah input convolutional coder dan u = (00 00 00 00. ..) adalah output convolutional coder. Terjadi 3 bit error maka diterima v=(11 01 00 00…) dan akan dihasilkan selamanya error m’=(11111…)
Cont’ Catastrophic coder terjadi jika g2(x) adalah faktor dari g1(x) Misalnya convolutional coder berikut g2(x)=1+x2=(1+x)(1+x), dan g1(x) = 1+x, maka ini akan menghasilkan catastrophic coder
Cont Diinputkan m=(0 0 0 0..), dioutputkan u =(00 00 00 00….),misalnya diterima 3 bit error v=(11 01 00 00..) maka akan dihasilkan m = (1 1 1 …)
Membangun Convolutional coder Pastikan tidak catastropich Buat dmin sebesar mungkin, artinya coder kita dapat mengkoreksi error e lebih Pastikan hanya ada 1 jalur dengan jarak dmin pada trellis Bangun coder sedemikian hingga diagram trellis memiliki jalur sesedikit mungkin dengan jarak dmin +1 Bangun coder sedemikian hingga diagram trellis memiliki jalur sesedikit mungkin dengan jarak dmin +2