You are on page 1of 22

MUHAMMAD DIONO

GANDHY SENJAYA

pesan_kirim=[1 0 1 1 0 1 0 0]

pesan_kirim =

1 0 1 1 0 1 0 0

stairs(pesan_kirim)

xlabel('jumlah bit pesan');

ylabel('amplitudo bit pesan');

title('Bit pesan yang dikirim');

Bit pesan yang dikirim


1

0.9

0.8

0.7
amplitudo bit pesan

0.6

0.5

0.4

0.3

0.2

0.1

0
1 2 3 4 5 6 7 8
jumlah bit pesan

>> t=poly2trellis(3,[6,7]);

>> codeword=conv(pesan_kirim,t);

>> codeword=convenc(pesan_kirim,t);

>> codeword
codeword =

1 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1

stairs(codeword)

xlabel('amplitudo codeword');

ylabel('jumlah bit codeword');

title('bit hasil pengkodean');

bit hasil pengkodean


1

0.9

0.8

0.7
jumlah bit codeword

0.6

0.5

0.4

0.3

0.2

0.1

0
0 2 4 6 8 10 12 14 16
amplitudo codeword

stem(codeword);

xlabel('amplitudo codeword');

ylabel('jumlah bit codeword');

title('bit hasil pengkodean');


bit hasil pengkodean
1

0.9

0.8

0.7
jumlah bit codeword

0.6

0.5

0.4

0.3

0.2

0.1

0
0 2 4 6 8 10 12 14 16
amplitudo codeword
Tugas 10 Bit

>> pesan_kirim=[1 0 1 0 1 0 1 0 1 0]

pesan_kirim =

1 0 1 0 1 0 1 0 1 0

>> t=poly2trellis(3,[6,7]);

>> codeword=convenc(pesan_kirim,t);

codeword'

ans =

1
1

stairs(codeword);
xlabel('amplitudo codeword');
ylabel('jumlah bit codeword');
title('bit hasil pengkodean');

bit hasil pengkodean


1

0.9

0.8

0.7
jumlah bit codeword

0.6

0.5

0.4

0.3

0.2

0.1

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

stem(codeword);
xlabel('amplitudo codeword');
ylabel('jumlah bit codeword');
title('bit hasil pengkodean');
bit hasil pengkodean
1

0.9

0.8

0.7
jumlah bit codeword

0.6

0.5

0.4

0.3

0.2

0.1

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

pesan_kirim=[1 0 1 0 1 0 1 0 1 0 1 1 1 1 0]

pesan_kirim =

1 0 1 0 1 0 1 0 1 0 1 1 1 1 0

>> t=poly2trellis(3,[6,7]);

>> codeword=convenc(pesan_kirim,t);

>> codeword'

ans =

1
0

stairs(codeword);
xlabel('amplitudo codeword');
ylabel('jumlah bit codeword');
title('bit hasil pengkodean');
bit hasil pengkodean
1

0.9

0.8

0.7
jumlah bit codeword

0.6

0.5

0.4

0.3

0.2

0.1

0
0 5 10 15 20 25 30
amplitudo codeword

stem(codeword);
xlabel('amplitudo codeword');
ylabel('jumlah bit codeword');
title('bit hasil pengkodean');

bit hasil pengkodean


1

0.9

0.8

0.7
jumlah bit codeword

0.6

0.5

0.4

0.3

0.2

0.1

0
0 5 10 15 20 25 30
amplitudo codeword

pesan_kirim=[1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1]

pesan_kirim =
Columns 1 through 17

1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 1

Columns 18 through 20

0 0 1

>> t=poly2trellis(3,[6,7]);

>> codeword=convenc(pesan_kirim,t);

>> codeword'

ans =

0
1

1
0

stairs(codeword);
xlabel('amplitudo codeword');
ylabel('jumlah bit codeword');
title('bit hasil pengkodean');

bit hasil pengkodean


1

0.9

0.8

0.7
jumlah bit codeword

0.6

0.5

0.4

0.3

0.2

0.1

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

stem(codeword);
xlabel('amplitudo codeword');
ylabel('jumlah bit codeword');
title('bit hasil pengkodean');
bit hasil pengkodean
1

0.9

0.8

0.7
jumlah bit codeword

0.6

0.5

0.4

0.3

0.2

0.1

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

pesan_kirim=[1 0 1 1 0 1 0 0]

pesan_kirim =

1 0 1 1 0 1 0 0

>> t=poly2trellis(3,[6,7]);

>> codeword=convenc(pesan_kirim,t);

>> codeword'

ans =

1
1

>> tb=2;

>> pesan_terima=vitdec(codeword,t,tb,'trunc','hard')

pesan_terima =

1 0 1 1 0 1 0 0

>> pesan_terima'

ans =
1

>> cek=[pesan_kirim' pesan_terima']

cek =

1 1

0 0

1 1

1 1

0 0

1 1

0 0

0 0

[jml_biterr,ratio bitter]=biterr(pesan_terima,pesan_kirim)

jml_biterr =

0
ratio =

bitter =

0 0 0 0 0 0 0 0

subplot(3,1,1)
stairs(pesan_kirim);
title('pesan yang dikirim');
subplot(3,1,2);
stairs(codeword);
ylabel('codeword tanpa error');
subplot(3,1,3);
stairs(pesan_terima);
xlabel('pesan yang diterima');
pesan yang dikirim
1

0.5

0
1 2 3 4 5 6 7 8
codeword tanpa error

0.5

0
0 2 4 6 8 10 12 14 16
1

0.5

0
1 2 3 4 5 6 7 8
pesan yang diterima

subplot(3,1,1)
stem(pesan_kirim);
title('pesan yang dikirim');
subplot(3,1,2);
stem(codeword);
ylabel('codeword tanpa error');
subplot(3,1,3);
stem(pesan_terima);
xlabel('pesan yang diterima');

pesan yang dikirim


1

0.5

0
1 2 3 4 5 6 7 8
codeword tanpa error

0.5

0
0 2 4 6 8 10 12 14 16
1

0.5

0
1 2 3 4 5 6 7 8
pesan yang diterima

Tugas 3
>> pesan_kirim=[1 0 1 1 0 1 0 0]

pesan_kirim =

1 0 1 1 0 1 0 0

>> t=poly2trellis(3,[6,7]);
>> codeword=convenc(pesan_kirim,t);
>> codeword'

ans =

1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
>> tb=4;
>> pesan_terima=vitdec(codeword,t,tb,'trunc','hard')

pesan_terima =

1 0 1 1 0 1 0 0

>> pesan_terima'

ans =

1
0
1
1
0
1
0
0

>> cek=[pesan_kirim' pesan_terima']

cek =

1 1
0 0
1 1
1 1
0 0
1 1
0 0
0 0

>> [jml_biterr,ratio bitter]=biterr(pesan_terima,pesan_kirim)

jml_biterr =

ratio =

bitter =
0 0 0 0 0 0 0 0

>> pesan_kirim=[1 0 1 1 0 1 0 0]

pesan_kirim =

1 0 1 1 0 1 0 0

>> t=poly2trellis(3,[6,7]);
>> codeword=convenc(pesan_kirim,t);
>> codeword'

ans =

1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1

>> tb=7;
>> pesan_terima=vitdec(codeword,t,tb,'trunc','hard')

pesan_terima =

1 0 1 1 0 1 0 0

>> pesan_terima'

ans =

1
0
1
1
0
1
0
0

>> cek=[pesan_kirim' pesan_terima']

cek =

1 1
0 0
1 1
1 1
0 0
1 1
0 0
0 0

>> [jml_biterr,ratio bitter]=biterr(pesan_terima,pesan_kirim)

jml_biterr =

ratio =

bitter =

0 0 0 0 0 0 0 0

Tb=9;10;
Tidak bisa di run karena kodenya terlalu besar
Analisa
Hasil decoder pada nilai tb 2,4,7 tidak memiliki perbedaan
sedangkan nilai tb 9,10 tidak bisa karena nilai traceback lebih
besar dari pada nilai input pada code tersebut

No 4
>> pesan_kirim=[1 0 1 1 0 1 0 0];
>> t=poly2trellis(3,[6 7]);
>> codeword=convenc(pesan_kirim,t);
>> N=length(codeword);
>> var=0.4;
>> noise=var*randn(N,1);
>> ncoden=xor(codeword',noise);
>> noisecode=fix(ncoden);
>> tb=2;
>> pesan_terima_bernoise=vitdec(noisecode,t,tb,'trunc','hard')

pesan_terima_bernoise =

0
0
1
1
0
1
1
0

>> [jml_biterr,ratio
bitter]=biterr(pesan_terima_bernoise',pesan_kirim)

jml_biterr =

ratio =

0.2500

bitter =

1 0 0 0 0 0 1 0

subplot(3,1,1)
stem(pesan_kirim);
title('pesan yang dikirim');
subplot(3,1,2);
stem(codeword);
ylabel('codeword dengan noise');
subplot(3,1,3);
stem(pesan_terima_bernoise);
xlabel('pesan yang diterima');
pesan yang dikirim
1

0.5

0
1 2 3 4 5 6 7 8
codeword dengan noise

0.5

0
0 2 4 6 8 10 12 14 16
1

0.5

0
1 2 3 4 5 6 7 8
pesan yang diterima

Tugas 4a
>> pesan_kirim=[1 0 1 1 0 1 0 0];
t=poly2trellis(3,[6 7]);
codeword=convenc(pesan_kirim,t);
N=length(codeword);
>> var=0.7;
>> noise=var*randn(N,1);
>> ncoden=xor(codeword',noise);
>> noisecode=fix(ncoden);
>> tb=2;
>> pesan_terima_bernoise=vitdec(noisecode,t,tb,'trunc','hard')

pesan_terima_bernoise =

0
0
1
1
0
1
1
0

>> [jml_biterr,ratio
bitter]=biterr(pesan_terima_bernoise',pesan_kirim)

jml_biterr =

2
ratio =

0.2500

bitter =

1 0 0 0 0 0 1 0

>> pesan_kirim=[1 0 1 1 0 1 0 0];


>> t=poly2trellis(3,[6 7]);
>> codeword=convenc(pesan_kirim,t);
>> N=length(codeword);
>> var=0.9;
>> noise=var*randn(N,1);
>> ncoden=xor(codeword',noise);
>> noisecode=fix(ncoden);
>> tb=2;
>> pesan_terima_bernoise=vitdec(noisecode,t,tb,'trunc','hard')

pesan_terima_bernoise =

0
0
1
1
0
1
1
0

>> [jml_biterr,ratio
bitter]=biterr(pesan_terima_bernoise',pesan_kirim)

jml_biterr =

ratio =

0.2500

bitter =
1 0 0 0 0 0 1 0

Analisa
Dengan ditambah noise pada pesan yang dikirim, maka pesan yang diterima akan berubah. Nilai
dari noise tidak mempengaruhi pesan yang diterima meskipun nilai dari varian itu berbeda beda,
maka jumlah bit error yang tetap memiliki nilai sama yaitu 2

Tugas
1 error control correction dibutuhkan dalam komunikasi digital, karena channel yang digunakan
tidak lepas dari noise. Sehingga dengan adanya error control correction, pesan yang dikirim
melalui channel bernoise tidak mengalami perubahan ketika diterima
Dalam pengkodean konvolusi, error control connection tidak berjalan dengan baik, karena
codeword yang ditambah dengan noise, pesan yang diterima akan mengalami perubahan,
sehingga pesan yang dikirim berbeda dengan pesan yang diterima

2 data yang dikirim data yang diterima

10110100 00110110

Dari data diatas dapat dilihat bahwa antara pesan yang dikirim dan diterima terdapat perbedaan,
yaitu pada bit pertama dan ketujuh , perbedaan yang berbeda antara data yang dikirim dan data
yang diterima disebut hamming distance, dengan distance hamming 2 pada data tersebut

3 penambahan bit bit redundancy akan mempengaruhi kapasitas channel, semakin banyak bit
redundancy maka channel semakin besar

4 kemampuan kode siklik dalam melakukan error control lebih baik daripada kode konvolusi
untuk melakukan error control, karena kode siklik meskipun data yang dikirim ditambah noise
maka akan sama dengan data yang diterima, berbeda dengan konvolusi bila ditambah dengan
noise maka data yang dikirim berbeda dengan data yang diterima

You might also like