FPGA Design for Efficient Architecture for the Convolution Encoder

advertisement
International Journal of Engineering Trends and Technology (IJETT) – Volume 9 Number 2 - Mar 2014
FPGA Design for Efficient Architecture for the Convolution Encoder
and Viterbi Decoder
Vinita Soni
TIT Bhopal
Madhya Pradesh
Prof. Sandip Nemade
TIT Bhopal
Madhya Pradesh
Abstract-
Convolution encoding is used in almost all digital
communication systems to get better gain BER and all
applications need high throughput rate. The main aim of this
paper is to design FPGA based convolution encoder and viterbi
decoder which encodes/decodes the data. In this paper we are
presenting an efficient design structure for the convolution
encoder and decoder (Viterbi) for the FPGA implementation we
also analyzed the developed mode for noisy situations for it
correcting capabilities. The proposed model is synthesized and
simulated using Xilinx ISE 14.4 software which shows that the
proposed design effectively reduces the resource requirements
and the power analysis on X-Power Analyzer shows considerable
reduction in power requirements.
.
Keywords- Convolution Encoder, Viterbi Decoder, FPGA
VHDL
1. Introduction
The convolution codes falls in non-block codes whose performance
are superior to block code sin the same coding efficiency situation
[1]. As the name suggest the coding scheme performs a convolution
of the input stream with the encoder's impulse responses. This
procedure spreads the bits information over the large sequences
which results the increased of transmission redundancy. In practice
these operations are performed by using EX-OR operation. Since the
information is encoded by means of correlations the decoder needs to
be able to retrieve that information to correct any possible error in the
sequence. The complexity of the receiver increases exponentially
with the depth of trace back and coding rate. Therefore an optimum
designing is required to make a practical decoder with the FPGA
technology. The FPGA technology is particularly chosen because it
can be used to design highly parallel architecture which reduces the
processing delay and not feasible for microprocessor or
microcontrollers. As showed in Table 1, the constraint length, code
rate and polynomial of convolution code.
Table 1: Code Parameters Of Different Standards Code
parameter
Standard
Constraint length
LTE
7
1/3
(133,171,165)oct
UMB
9
1/3
(577,633,711)oct
WIMAX
7
1/2
(133,171,)oct
ISSN: 2231-5381
Code rate
polynomial
The rest of this paper is organized as follows. Section II gives a
review of some recent development and the published research arch
literature.The background information about Convolution encoder
and Viterbi decoder is presented in Section III. The proposed
architecture is discussed in the section IV followed by the synthesis
and power estimation results in Section V. in section VI simulation
waveform is analysed and finally conclusions are given in Section
VII.
2. Literature Review
In this section some of the important literatures related to the
proposed work are discussed. Yan Sun et al [1] presented FPGA
Design and Implementation of a Convolution Encoder and a Viterbi
Decoder Based on 802.11a for OFDM. The proposed design uses
full-parallel structure improve computational speed for the addcompare-select(ACS) modules, adopts optimal data storage
mechanism and supports a generic, robust and configurable Viterbi
decoder with constraint length of 7, code rate of 1/2 and decoding
depth of 36 symbols. High-Speed Low-Power Viterbi Decoder
Design for TCM Decoders is presented by Jinjin He et al [2]. They
proposed a pre-computation architecture in corporate with Talgorithm for Viterbi decoder (VD),which can effectively reduce the
power consumption without degrading the decoding speed much .A
general solution to deriving the optimal pre-computation steps is also
given in the paper. Nayel Al-Zubi [3] proposed Pipelined Viterbi
Decoder using a carry-save technique, which gets the advantage that
the critical path in the ACS feedback becomes in one direction and
get rid of carry ripple in the “Add” part of ACS unit. Li Zhou et al [4]
presented an architecture of flexible Viterbi decoder for Software
Defined Radio (SDR). The SDR requires reconfigurable platform
due to the reuse of hardware and in order to support multi-standard
service, a decoder compatible for different protocols is needed. In
this paper, we designed a flexible Viterbi decoder which is
compatible with Wi MAX, UMB and LTE’s channel coding scheme.
High efficient cascaded Add-compare-select unit architecture and
sliding window method for trace back a represented. Usana
Tuntoolavest et al [5] presented the implementation result of List-of2 soft-decision Viterbi decoder on FPGA platform. Unified NULL
Convention Logic Environment which is an end-to-end toolset for
creating asynchronous designs using NULL Convention Logic (NCL)
is presented by Robert B. Reese et al [6]. Liu Yanyan proposed et al
[7] proposed a parallel decoding algorithm to achieve high speed and
parallel Viterbi decoding method, which is realized easily by FPGA
http://www.ijettjournal.org
Page 74
International Journal of Engineering Trends and Technology (IJETT) – Volume X Issue Y- Month 2014
3. Convolution Encoder
The convolution code is a kind of linear coding method with memory
packet and equivalent to convolution between the input information
stream and an impulse response. The constraint length of the
convolution code determines the coded error resilience ability,
constraint length is longer, error resilience capability is stronger, but
the decoding complexity is increased significantly [6].The difference
between block codes and convolution codes is the encoding principle.
In the block codes, the information bits are followed by the parity
bits. In convolution codes the information bits are spread along the
sequence. That means that the convolution codes map information to
code bits not block wise, but sequentially convolve the sequence of
information bits according to some rule. The code is defined by the
circuit which consist soft different number of shift registers all owing
building different codes in terms of complexity [8].
Convolution codes are commonly specified by three parameters (n, k
and m).
n = number of output bits
k = number of input bits
m = number of memory registers
The quantity k/n called the code rate, is a measure of the efficiency
of the code. Commonly k and n parameters range from 1 to 8, m
from 2 to 10 and the code rate from 1/8 to 7/8 except for deep space
applications where code rates as low as 1/100 or even longer have
been employed. Often the manufacturers of convolution code chips
specify the code by parameters (n,k,L), the quantity L is called the
constraint length of the code and is defined byConstraint Length, L =
k (m-1)The constraint length L represents the number of bits in the
encoder memory that affect the generation of the n output bits. The
constraint length L is also referred to by the capital letter K, which
can be confusing with the lower case k, which represents the number
of input bits. In some books K is defined as equal to product of the k
and m. Often in commercial spec, the codes are specified by (r, K),
where r = the code rate k/n and K is the constraint length. The
constraint length K however is equal to L -1 [10].
3.1 Structure of the Convolution Encoder
A convolution code is generated by passing the information sequence
to be transmitted through a linear finite-state shift register. In general,
the shift register consists of K (k-bit) stages and n linear algebraic
function generators as shown in the Fig. 1.
Figure 1 shows the structure of convolution encoder of rate 1/3. Each
input bit is coded into 3 output bits. The constraint length of the code
is 2. The 3 output bits are produced by the 3 modulo-2 adders by
adding up certain bits in the memory registers. The selection of
which bits are to be added to produce the output bit is called the
generator polynomial (g) for that output bit. The polynomials give
the code its unique error protection quality. One (3,1,4) code can
have completely different properties from an another one depending
on the polynomials chosen .
3.2 Trellis Diagram
Trellis diagrams are messy but generally preferred over both the tree
and the state diagrams because they represent linear time sequencing
of events. The x-axis is discrete time and all possible states are
shown on the y-axis. We move horizontally through the trellis with
the passage of time. Each transition means new bits have arrived.
Figure 2: Trellis Diagram of Convolution Encoder
4. Viterbi Decoder
Viterbi decoding is the best known implementation of the maximum
likely-hood decoding. Here we narrow the options systematically at
each time tick. The principal used to reduce the choices is this.
1. The errors occur infrequently. The probability of error is
small.
2. The probability of two errors in a row is much smaller than
a single error, which are distributed randomly.
The Viterbi decoder examines an entire received sequence of a given
length. The decoder computes a metric for each path and makes a
decision based on this metric. All paths are followed until two paths
converge on one node. Then the path with the higher metric is kept
and the one with lower metric is discarded. The paths selected are
called the survivors.
For an N bit sequence, total numbers of possible received sequences
are 2N. Of these only 2kL are valid. The Viterbi algorithm applies
the maximum-likelihood principles to limit the comparison to
Figure 1: Basic structure of convolution encoder
ISSN: 2231-5381
2 to the power of k L surviving paths instead of checking all paths.
The most common metric used is the Hamming distance metric.
Following are the main advantages of the Viterbi algorithm
http://www.ijettjournal.org
Page 75
International Journal of Engineering Trends and Technology (IJETT) – Volume X Issue Y- Month 2014



Guaranteed to find the ML solution
The complexity is only O(2K)
Complexity does not depend on the number of original data
bits Easily implementable in hardware
4.1 Working Steps




Takes advantage of the structure of the trellis
Goes through the trellis one stage at a time. At each stage,
finds the most likely path leading into each state (surviving
path) and discards all other paths leading into the state
(non-surviving paths)
Continues until the end of trellis is reached
At the end of the trellis, traces the most probable path from
right to left and reads the data bits from the trellis
In principle whole transmitted sequence must be received
before decision. However, in practice storing of stages with
length of 5K is quite adequate.
5. Proposed Design Synthesis and Analysis
5.1 HDL Synthesis Report
Macro Statistics
RAMs
8x6-bit single-port Read
Only RAM
1
1
Multiplexers
16-bit 7-to-1 multiplexer
X ors
1-bit xor2
1
1
560
560
Primitive and Black Box Usage:
# BELS
# LUT2
# LUT3
149
29
5
#
#
#
#
8
24
76
7
LUT4
LUT5
LUT6
MUXF7
# IO Buffers
# IBUF
# OBUF
52
36
16
Time Delay for Different Operations
Sequences
Figure 3: RTL of the Convolution Encoder
Delay(ns) in Previous
Delay(ns) in Proposed
000
7.00
7.00
001
10.00
9.50
010
9.00
8.50
011
6.00
6.00
100
7.00
7.00
101
7.00
7.00
110
9.50
9.00
111
7.00
6.00
Power Dissipation
Activity
Rate
50%
100%
Dissipation(W) in
Previous
Dissipation(W)
Proposed
0.014
0.011
0.030
0.024
in
Figure 4: RTL of the Signal Generator Unit
ISSN: 2231-5381
http://www.ijettjournal.org
Page 76
International Journal of Engineering Trends and Technology (IJETT) – Volume X Issue Y- Month 2014
[3] D.A.F. El-Dib, M.I. Elmasry, “Low-power register-exchange Viterbi
decoder for high-speed wireless communications”, Proceedings of IEEE
International Symposium on Circuitsand Systems, IEEE Conference
Publishing Services, May 26-29, 2002, pp. 737–740
6. Simulated Waveform
[4] P. J. Black and T. H. Meng, “A 140-Mb/s, 32-state, radix-4 Viterbi
decoder”, IEEE Journal of Solid-State Circuits, Vol. 27, No. 12, 1992, pp.
1877-1885.
[5] D. Yeh, et al., “RACER: a reconfigurable constraint-length 14
Viterbi decoder”, Proceedings of IEEE Symposium on FPGAs for Custom
Computing Machines, IEEE Conference Publishing Services, April 17-19,
1996, pp. 60-69.
[6] W. Ching-Wen and C. Yun-Nan, “Design ofViterbi decoders with
in-place state metric update and hybrid traceback processing”,
Proceedings of IEEE Workshop on Signal Processing Systems, IEEE
Conference Publishing Services, September 26-28, 2001, pp. 5-15.
[7] Xilinx Corporation, “Viterbi decoder: product specification (v6.2)”,
October, 2007.
Figure. 6.1 Convolution encoder simulation waveform
[8] L. Bissi, et al., “A Viterbi decoder architecture for a standard-agile and
reprogrammable transceiver”, Integration-the VLSI Journal, Vol.41, No. 2,
2008, pp. 161-170.
[9] Y. Gang, T. Arslan, and A. T. Erdogan, “An efficient pre-traceback
approach for Viterbi decoding in wireless communication”, Proceedings of
IEEE International Symposium on Circuits and Systems, IEEE
Conference Publishing Services, May 23-26, 2005, pp. 5441–5444.
[10] B. Pandita and S. K. Roy, “Design and implementation of a
Viterbi decoder using FPGAs”, Proceedings of the 12th International
Conference on VLSI Design, IEEE Conference Publishing Services, January
10-13, 1999, pp. 611-614.
[11] W. H. W. Tuttle bee, “Software-defined radio: facets of a
developing technology”, IEEE Personal Communications Magazine, Vol.
6,No. 2, 1999, pp. 38-44.
Figure. 6.2 viterbi decoder simulation waveform
7. Conclusion
In this paper, we presented a low complexity low area and low power
architecture for Viterbi decoder for different applications. The
proposed decoder can deal the convolution code in wireless standard
WiMAX, UWB, and LTE etc. It is reconfigurable and suitable for
software define radio platform also. The proposed architecture is
highly efficient the comparison shows that it outperforms the
previous architecture by 25% when handling different code
parameter. The strategy we applied made a good trade off between
performance, power, area and delay. Hence future scope indicates
testing of convolution encoder and viterbi decoder with more than 9
bit constraint length.
8.References
[1] M. Irfan, et al., “Design and Implementation of Viterbi Encoding and
Decoding Algorithm on FPGA”, Proceedings of the 17th International
Conference on Microelectronics, December 13-15, 2005, pp. 234-239.
[2] G. Forney, “Convolutional codes II. Maximum-likelihood decoding”,
Information and Control, Vol. 25, No. 3, 1974, pp. 222-266.
ISSN: 2231-5381
http://www.ijettjournal.org
Page 77
Download