Escolar Documentos
Profissional Documentos
Cultura Documentos
NOVEMBER, 2010
ii
All the trademark and copyrights use herein are property of their respective owner.
References of information from other sources are quoted accordingly; otherwise the
information presented in this report is solely work of the author.
Signature
Author
Date
: 30 NOVEMBER 2010
iv
I hereby acknowledge that the scope and quality of this thesis is qualified for the
award of the Bachelor Degree of Electrical Engineering
(Electronic)
Signature
: ______________________________________________
Name
Date
: 30 NOVEMBER 2010
ACKNOWLEDGMENT
Alhamdulillah, the highest thanks to God because with His Willingness I can
complete the final year project in time.
vi
ABSTRACT
Nowadays bandwidth demands are totally increase and the tolerance for errors
and latency decreases, designers of data-communication systems are looking for new
ways to expand available bandwidth and improve the quality of transmission. One
solution isn't actually new, but has been around for a while. Nevertheless, it could prove
quite useful. Called forward error correction (FEC), this design technology has been
used for years to enable efficient, high-quality data communication over noisy channels,
such as those found in satellite and digital cellular-communications applications. The big
attraction of FEC technology is how it adds redundant information to a data stream. This
enables a receiver to identify and correct errors without the need for retransmission and
the data will be transfer faster than ever.
vii
ABSTRAK
Pada zaman serba canggih sekarang ini keperluan jalur lebar yang benar-benar
meningkat dan kesungguhan untuk mengurangkan kesalahan dan latensi, pereka sistem
komunikasi data telah mencari cara baru untuk memperluaskan jalur lebar yang telah
sedia ada dan mempertingkatkan lagi kualiti penghantaran maklumat. Salah satunya
adalah kaedah yang lama tetapi telah di pertingkatkan penggunaanya untuk kemudahan
yang lebih luas. Kaedah yang digunakan adalah telah terbukti sangat berguna. Forward
Error Correction (FEC), adalah teknologi yang telah dicipta dan telah digunakan
selama bertahun-tahun untuk membolehkan penghantaran komunikasi yang lebih cekap,
data komunikasi yang lebih berkualiti tinggi apabila melalui gangguan saluran, seperti
yang ditemui dalam satelit dan digital-aplikasi komunikasi bimbit. Kelebihan utama
yang terdapat pada teknologi FEC ini adalah bagaimana ia dapat menambah maklumat
secara berlebihan untuk satu aliran data. Hal ini membolehkan penerima untuk mengenal
pasti dan memperbaiki kesalahan tanpa memerlukan penghantaran semula dan
pemindahan data akan lebih cepat daripada sebelumnya.
viii
TABLE OF CONTENTS
TITLE
CHAPTER
PAGE
TITLE
DECLARATION
ii
DEDICATION
iii
ACKNOWLEDGMENT
iv
ABSTRACT
vi
ABSTRAK
vii
TABLE OF CONTENTS
viii
LIST OF FIGURES
xi
LIST OF ABBREVIATIONS
xiii
LIST OF TABLES
xiv
INTRODUCTION
1.1 Introduction
ix
2
LITERATURE REVIEW
2.1 Introduction
2.3 VHDL
2.3.1 Basic of VHDL
14
15
2.4 MATLAB
11
16
2.4.1 Simulink
11
17
METHDOLOGY
3.1 Introduction
18
18
19
21
22
22
23
3.6.2 Poly2trellis
26
26
27
27
29
Simulink
3.8.1 XOR Logical Operator
31
x
4
33
33
37
39
CONCLUSION
41
5.1 Conclusion
5.2 Limitation of the Project
42
42
REFRENCE
43
APPENDIX
Appendix AAppendix B-
xi
LIST OF FIGURES
FIGURE NO.
TITLE
PAGE
2.0
2.1
2.2
13
2.3
15
3.1
Flow chart
20
3.2
Simulink browser
21
3.3
23
3.4
24
3.5
27
3.6
29
3.7
30
3.8
31
4.1
34
4.2
35
4.3
36
xii
4.4
37
4.5
38
4.6
39
xiii
LIST OF ABBREVIATIONS
FEC
VHDL
QoS
Quality of Service
ARQ
XOR
CAD
Computer-Aided Design
AWGN
Generator Polynomial 1
Generator Polynomial 2
Rate
Input
Output
Constraint Length
Memory Register
1
2
xiv
LIST OF TABLES
TITLE
TABLE NO
PAGE
2.0
12
2.1
15
3.0
23
3.1
Logical XOR
31
CHAPTER 1
INTRODUCTION
1.1
Overview
Its popularity of using the convolution encoder for forward error correction is
came from the structure and availability that is easy and simple to implement. The
purposes of convolution code are to improve channel capacity during the transmission
and the other is to mitigate burst error occurs the transmission.
In developing digital system design, a main techniques use is by using Very High
Speed Integrated Circuit Hardware Description Language (VHDL) in order to
programmed it in software where simulation can be perform to do analysis and then the
result will be compared to the analysis result that have been perform by using MATLAB
software. Xilinx ISE 10.1 and MATLAB software are use in order to encode the data
and develop a convolution encoder.
1.2
Problem Statement
1.3
ii)
1.4
Scope of project
The scope of the project has been narrow down from the objective to ensure the
goal target is achieved when the result are conclude. The scope of the project has been
specified as below:
i)
The data out that was scramble out by MATLAB software will be
verified again by using Very High Speed Integrated Circuit Hardware
Description Language (VHDL) in Xilinx software to get the same data
output
ii)
Basic convolution encoder rate 1/2 with constraint length 7 will be use
iii)
Same input data Bernoulli Binary Generator are use in both simulation
process
In other word, these scopes create a basic convolution code that demonstrates the
detection of the error in the transmission of data in communication system.
1.5
Thesis Outline
This section will give an outlines of the structure of the thesis. This thesis will
consist of five chapters including this chapter. The following is an explanation for each
chapter:
Chapter 2 discusses the previous work that been done around the world about the
convolution encoder, in term of definition, algorithm, and modeling system design.
Literature that been done will cover, for instance, history, algorithm design and others.
Chapter 3 explain on methodology of this project. In this chapter, each step in the
work methodology flow chart starting from modelling of the convolution encoder block
was explained.
.
Chapter 4 consists of experimental results and results analysis. Comparison between
each graphically result was done.
Lastly, Chapter 5 summarizes the overall conclusion for this thesis and a few
suggestion and recommendation for future development.
CHAPTER II
LITERATURE REVIEW
2.1
Introduction
This part will explain the research information that is related to completing this
project. All the research sources are from books, journals, websites and some articles.
2.2
FEC
retransmission would be excessive, the expected number of error would require a large
number of retransmission, or retransmission would be awkward to implement [4].
FEC
encoder
Source
modulator
channel
Sink
s
demodulator
FEC
decoder
The FEC code acts on a discrete data channel comprised of all system elements
between the encoder output and decoder input. The encoder maps the source data to qary code symbols that are modulated and transmitted. During the transmission, the signal
can be corrupted, causing errors to arise in the demodulated symbol sequence. The FEC
decoder attempts to correct these errors and restore the original source data [4].
Shannons Noisy Channel Coding Theorem says that With every channel we
can associate a channel capacity C (bits/sec). There exist such error control codes that
information can be transmitted at a rate below C (bits/sec) with an arbitrarily low bit
error rate [3].
Convolution codes were first introduced by Elias [14] in 1955. He proved that
redundancy could be added to an information stream through the use of linear shift
register. In 1961, Wozencraft and Reiffen describe the first practical decoding algorithm
for convolution codes [15]. The algorithm was based on sequential decoding, however
sub-optimal for decoding convolution codes.
Several other algorithms were developed off of Wozencraft and Reiffen initial
work. In 1967, Viterbi proposed a maximum likelihood decoding scheme for decoding
convolution codes. The importance of the Viterbi algorithm is that it proved to be
relatively easy to implement given the encoder has a small number of memory elements
[16].
Convolutional codes are described by two parameters: the code rate R=k/n,
expressed as a ratio of the number of input bits of the convolutional encoder (k) to the
number of channel symbols in the output of the convolutional encoder (n), and the
constraint length L, indicating how many k-bit stages are available to feed the
combinatorial logic (exclusive OR, XOR-gates) that produces the output symbols [6].
Path 1
output
Input
Flip-flop
Path 2
Example:
Consider the convolution encoder figure 2.1 which has two paths numbered 1
and 2 for convenience of reference. The impulse response of path 1 is (1,1,1). Hence the
corresponding generator polynomial is given by
( )(
)= 1+
10
)=1+
For the message sequence (10011), say we have the polynomial representation
( )=1+
( )
( )(
) ( )
= (1 +
=1+
)(1 +
From this we immediately deduce that the output sequence of path 1 is (1111001).
Similarly, the output polynomial of path 2 is given by
( )(
)=
( )(
) ( )
= (1 +
=1+
)(1 +
The output sequence of path 2 is therefore (1011111). Finally, multiplexing the two
output sequences path 1and 2, we get the encoded sequence
= (11,10,11,11,01,01,11)
11
2.3
VHDL
The first step is to consider the specification of requirement that the algorithm is
satisfy. In other word, the developers have to consider the limitation of the input for
instants the same rate, memory register, and the constraint length so that the designed
system is capable to operate [2].
VHDL stands for Very High Speed Integrated Circuit Hardware Description
Language. This VHDL language can be used in several goals in mind. It may be used for
the system description and documentation, synthesis of digital circuits, simulation of
digital system, or verification and validation of digital systems [2].