Viterbi Tail-Biting Double-Pass Decoding (P = TB)
This design example shows how to implement a communication system with Altera® DSP Builder blocks. The system consists of a convolutional encoder and Viterbi decoder. The convolutional encoder adopts the trellis termination scheme called tail-biting by initializing the starting state of each packet with the tail bits. The encoded packet size (P) is equal to the traceback length (TB) of 16 in the Viterbi decoder parameter setting. On the decoder side, the double-pass buffer and output buffer are implemented along with the Altera Viterbi intellectual property (IP) core to decode the received code words properly. In this example, the packet size of 32 in the decoder is equal to twice the encoded packet size (P) of 16. You can also compare the performance of the bit-error rate (BER) versus Eb/No curves with other design examples.
Download the files used in this example:
The use of this design is governed by, and subject to, the terms and conditions of the Altera Hardware Reference Design License Agreement.
Files in the zip download include:
- viterbi_system_doublepass.mdl - DSP Builder design file implementing the Viterbi system
- viterbi.vhd - wrapper file to generate the Altera Viterbi IP core
- init.m - MATLAB script to initialize the sampling time
Figure 1 shows the top-level diagram of the Viterbi tail-biting system design example in DSP Builder.
Figure 1. Viterbi System Top-Level Diagram

View Full Size
Figure 2 compares the performance of BER versus Eb/No curves.
Figure 2. BER vs. Eb/No Performance Curves

View Full Size
Table 1 lists the ports and gives a description for each.
| Table 1. Viterbi System Port Listing |
| Port Name |
Type |
Description |
datain |
Input |
data input to encoder |
enain |
Input |
enable input to encoder |
rst |
Input |
reset signal |
decout |
Output |
data output from decoder |
enaout |
Output |
enable output from decoder |
Related Links
For more information on the related features used in this design example, go to:
Design Examples Disclaimer
These design examples may only be used within Altera Corporation devices and remain the property of Altera. They are being provided on an “as-is” basis and as an accommodation; therefore, all warranties, representations, or guarantees of any kind (whether express, implied, or statutory) including, without limitation, warranties of merchantability, non-infringement, or fitness for a particular purpose, are specifically disclaimed. Altera expressly does not recommend, suggest, or require that these examples be used in combination with any other product not provided by Altera.
|