Table Of contents Table of Figures ...........................................................................................................................II Introduction .................................................................................................................................1 Decision types of Viterbi Decoder................................................................................................1 Applications of Viterbi Decoder or areas like.............................................................................2 Simulation and Results..................................................................................................................2 Blocks description..........................................................................................................................3
II
Table of Figures Figure1: General Block Diagram of Decoder..................................................................................1 Figure 1: Block Diagram of Modulation and Demodulation using MATLAB/SIMULINK...........2 Figure 2: Input and Viterbi Decoder Output Signals......................................................................3 Figure 3: Data( input and output) Viterbi .......................................................................................4
1
Viterbi Decoder Introduction It uses the Viterbi algorithm for decoding a bit stream that has been encoded using a convolutional code. Viterbi algorithm uses the maximum likelihood decoding. There are three main components to the Viterbi decoding algorithm, are: 1) Branch Metric computation (BMC) 2) Add-Compare and Select (ACS) 3) Traceback decoding (TBD)
Figure 4: General Block Diagram of Decoder
Decision types of Viterbi Decoder: 1) Un-quantized decision 2) Hard decision 3) Soft decision Applications of Viterbi Decoder or areas like: 1) Radio and satellite communication 2) Trellis-coded modulation (TCM) 3) Computer storage devices such as hard disk drives 2
4) Automatic speech recognition
Simulation and Results : The next figure shows a small simulation of this decoder by MATLAB/SIMULINK:
The project is divided into two main parts , as the whole communication system divided into modulation ( transmitter) and demodulation ( receiver ). The Binary Phase Shift keying is used for this technique. And more over Viterbi Decoder is used to decode the input of the receiver .
Blocks description: Error rate calculation (bit error rate): it calculates the error rate as a running statistic by dividing the total number of unequal pairs of data elements by the total number of input data elements from one source. Viterbi decoder: it decodes input symbols to produce binary output symbols. This block can process several symbols at a time for faster performance. Convolutional encoder: it encodes a sequence of binary input vectors to produce a sequence of binary output vectors. Figure 5: Block Diagram of Modulation and Demodulation using MATLAB/SIMULINK 3
AWGN channel: adds a white Gaussian noise to a real or complex input signal( for real communication system ) . Data type conversion: it converts an input signal of any SIMULINK data type to the data type and scaling specify for the output data type. In order to have clear plot, I just limited the input and the out into 12 bit at all the block of Simulink Blocks
Results :
Figure 6: Input and Viterbi Decoder Output Signals 4