Anda di halaman 1dari 7

NOVI W - 4 D4 TB/1210141059

PRAKTIKUM 6 – KODE KONVOLUSI HARD DAN SOFT DECISION


A. Pengkodean Tanpa Error
1. Masukan = Pesan = Informasi
Tampilan pesan yang dikirim :
Pesan Yang dikirim
1

0.9

0.8

0.7

Amplitudo pesan kirim


0.6

0.5

0.4

0.3

0.2

0.1

0
0 2 4 6 8 10 12 14 16 18 20
Bit Pesan yang Dikirim

2. Proses Pengkodean (Encoder)

3. Dekoder (Pegkodean Kembali)


Pesan Yang Dikirm
1

0.5

0
0 2 4 6 8 10 12 14 16 18 20

1
codeword

0.5

0
0 5 10 15 20 25 30

0.5

0
0 2 4 6 8 10 12 14 16 18 20
Pesan yang Diterima
NOVI W - 4 D4 TB/1210141059

B. Pengkodean dengan Error


1. Mengkodekan Informasi Menjadi Sebuah Codeword Menggunakan Encoder
Seperti Gambar 2

2. Menambahkan Noise pada Codeword

3. Mengkodekan Kembali Codeword Menjadi Sebuah Informasi Asal Menggunakan


Viterbi “Hard Decision” dan “Soft Decision”
NOVI W - 4 D4 TB/1210141059

Hard Decision Soft Decision


1 1

0.8

0.6
0.5
0.4

0.2

0 0
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20
Pesan Kirim Pesan Kirim

1 1

0.5 0.5

0 0
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20
Pesan Terima Pesan Terima

TUGAS
A. Pesan sama, encoder berbeda decoder sama “Hard Decision” (tanpa error)
%A1.masukan=pesan=informasi
pesan_kirim=randint(20,1)

%plot pesan kirim


figure(1)
stem(pesan_kirim,'r')
title('Pesan yang Dikirim')
xlabel('Bit-bit Pesan yang Dikirim')
ylabel('Amplitudo Pesan yang Dikirim')

Pesan yang Dikirim


1

0.9

0.8
Amplitudo Pesan yang Dikirim

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 2 4 6 8 10 12 14 16 18 20
Bit-bit Pesan yang Dikirim

%A2. Proses pengodean


t1=poly2trellis(5,[31 27])
t2=poly2trellis([5 4],[23 35 0;0 5 11])
codeword1=convenc(pesan_kirim,t1)
codeword2=convenc(pesan_kirim,t2)
NOVI W - 4 D4 TB/1210141059

%A3. Proses dekoder


tb=2;
pesan_terima1=vitdec(codeword1,t1,tb,'trunc','hard')
pesan_terima2=vitdec(codeword2,t2,tb,'trunc','hard')

cek1=[pesan_kirim pesan_terima1]
cek2=[pesan_kirim pesan_terima2]

[number1,ratio1]=biterr(pesan_kirim,pesan_terima1)
[number2,ratio2]=biterr(pesan_kirim,pesan_terima2)

%plot pesan terima1


figure(2)
subplot(3,1,1)
stem(pesan_kirim,'r')
title('Pesan yang Dikirim')
subplot(3,1,2)
stem(codeword1,'b')
ylabel('Codeword')
NOVI W - 4 D4 TB/1210141059

subplot(3,1,3)
stem(pesan_terima1,'m')
xlabel('Pesan yang Diterima')

%plot pesan terima2


figure(3)
subplot(3,1,1)
stem(pesan_kirim,'r')
title('Pesan yang Dikirim')
subplot(3,1,2)
stem(codeword2,'b')
ylabel('Codeword')
subplot(3,1,3)
stem(pesan_terima2,'g')
xlabel('Pesan yang Diterima')

t= (5,[31 27]) t=([5 4],[23 35 0;0 5 11])

Pesan yang Dikirim Pesan yang Dikirim


1 1

0.5 0.5

0 0
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20

1 1
Codeword

Codeword
0.5 0.5

0 0
0 5 10 15 20 25 30 35 40 0 5 10 15 20 25 30

1 1

0.5 0.5

0 0
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20
Pesan yang Diterima Pesan yang Diterima

B. Pesan sama, encoder sama, decoder berbeda yaitu “hard decision” dan “soft decision”
(dengan error)
clear all; clc;
pesan_kirim=randint(40,1)
figure(3)
stem(pesan_kirim,'r');
title('Pesan Yang dikirim')
xlabel('Bit Pesan yang Dikirim')
ylabel('Amplitudo pesan kirim')

Pesan Yang dikirim


1

0.9

0.8

0.7
Amplitudo pesan kirim

0.6

0.5

0.4

0.3

0.2

0.1

0
0 5 10 15 20 25 30 35 40
Bit Pesan yang Dikirim
NOVI W - 4 D4 TB/1210141059

%Membangkitkan trellis dari encoder


trellis=poly2trellis([3 3],[5 4 0;0 4 5])
ns=64; %number state dari trellis
code=convenc(pesan_kirim,trellis) %encode the data1

tb=4; delay=tb;
N=length(code)
noise=zeros(N,1);
noise([3 5 7],1)=1
ncoden=xor(code,noise);
noise_code=fix(ncoden);

%Quantize to prepare for soft-decision decoding


quan_code=quantiz(noise_code,[0.1,.2,.3,.4,.5,.6,.7]);
quan_code_hard=quan_code/7;
pesan_terima=vitdec(code,trellis,tb,'trunc','hard')
NOVI W - 4 D4 TB/1210141059

cek=[pesan_kirim pesan_terima] %viterbi decoding


pesan_terima_hard=vitdec(quan_code_hard,trellis,tb,'cont','hard'); %decode
hard
[numberhard,ratiohard]=biterr(pesan_terima_hard(delay+1:end),pesan_kirim(1
:end-delay))
pesanterima_hard=pesan_terima_hard(delay+1:end);

pesan_terima_soft=vitdec(quan_code,trellis,tb,'trunc','soft',tb-1);
%decode soft
[numbersoft,ratiosoft]=biterr(pesan_terima_soft(delay+1:end),pesan_kirim(1
:end-delay))
pesanterima_soft=pesan_terima_soft(delay+1:end);

Hard Decision
1

%plotting hard decision


figure(1) 0.5
subplot(211)
stem(pesan_kirim,'b')
title('Hard Decision') 0
0 5 10 15 20 25 30 35 40
xlabel('Pesan Kirim') Pesan Kirim

subplot(212) 1
stem(pesanterima_hard,'m')
xlabel('Pesan Terima')
0.5

0
0 5 10 15 20 25 30 35 40
Pesan Terima

Soft Decision
1

%plotting soft decision


figure(2)
0.5
subplot(211)
stem(pesan_kirim,'b')
title('Soft Decision') 0
xlabel('Pesan Kirim') 0 5 10 15 20
Pesan Kirim
25 30 35 40

subplot(212)
stem(pesanterima_soft,'m') 1

xlabel('Pesan Terima')
Amplitudo

ylabel('Amplitudo') 0.5

0
0 5 10 15 20 25 30 35 40
Pesan Terima

Anda mungkin juga menyukai