OpenCores
URL https://opencores.org/ocsvn/product_code_iterative_decoder/product_code_iterative_decoder/trunk

Subversion Repositories product_code_iterative_decoder

[/] [product_code_iterative_decoder/] [trunk/] [doc/] [product_code_iterative_decoder.tex] - Blame information for rev 10

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 arif_endro
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 7 arif_endro
% $Id: product_code_iterative_decoder.tex,v 1.2 2005-12-26 04:55:49 arif_endro Exp $
3 2 arif_endro
%
4
% Title          : Product Code Iterative Decoder
5
%
6
% Author         : "Arif E. Nugroho" <arif_endro@yahoo.com>
7
%
8
% Description    : Master Documentation File.
9
%
10
% Copyright (C) 2005 Arif E. Nugroho <arif_endro@yahoo.com>
11
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12
 
13
\documentclass[a4paper,12pt]{report}
14
\usepackage[english]{babel}
15
\usepackage[dvips,english,none,light,portrait]{draftcopy}
16
\usepackage{fancyvrb}       % enable custom verbatim env.
17
\usepackage{float}          % enable floating images
18
\usepackage{graphicx}       % enable graphics in this document
19
\usepackage{titlesec}       % enable customization title
20
\usepackage{fancyhdr}       % enable customization header e.g. page number
21
\usepackage{setspace}       % Custom line spacing
22
\usepackage{palatino}
23
%\usepackage{times}          % Default font for report
24
\usepackage{indentfirst}   % to make identation after sectioning
25
\usepackage[pdftitle={Product Code Iterative Decoder},
26
            pdfauthor={Copyright (C) 2005 Arif E. Nugroho},
27
            pdfsubject={Product Code Decoder},
28
            pdfkeywords={Decoder, Turbo, Product Code},
29
            colorlinks=false, bookmarksnumbered=false, ps2pdf,
30
            pdfpagemode=none
31
            ]{hyperref}
32
 
33
\setlength{\topmargin}     {0cm}
34
\setlength{\headheight}    {1cm}
35
\setlength{\textheight}    {21cm}
36
\setlength{\textwidth}     {16cm}
37
\setlength{\oddsidemargin} {0cm}
38
\setlength{\evensidemargin}{0cm}
39
\setlength{\columnsep}     {0.125in}
40
\setlength{\columnseprule} {0.5pt}
41
\setlength{\footskip}      {1cm}
42
\renewcommand{\headrulewidth}{0.4pt}
43
\renewcommand{\footrulewidth}{0.4pt}
44
 
45
\setlength{\parindent}{1cm}  % set paragraph indentation 1cm almost
46
                             % equal to 5 character
47
 
48
\lhead{\scriptsize{\textsf{\rightmark}}}
49
\rhead{\thepage}
50
\chead{}
51
\lfoot{}
52
\rfoot{}
53
\cfoot{Arif E. Nugroho\\www.opencores.org}
54
 
55
\titlelabel{\thetitle.\quad}
56
 
57
% Chapter heading layout
58
\titleformat{\chapter}[display]
59
  {\normalfont\Large\filcenter\bfseries}
60
  { \vspace{1pc} \LARGE\thechapter}
61
  {1pc} { \vspace{1pc} \Huge}
62
 
63
\onehalfspacing
64
 
65
\makeatletter
66
 
67
% numbering in equation by chapter
68
\renewcommand\theequation{\arabic{chapter}-\arabic{equation}}
69
\@addtoreset{equation}{chapter}
70
 
71
% numbering in figure by section
72
\renewcommand\thefigure{\arabic{chapter}-\arabic{figure}}
73
\@addtoreset{figure}{chapter}
74
 
75
% numbering in table by section
76
\renewcommand\thetable{\arabic{chapter}-\arabic{table}}
77
\@addtoreset{table}{chapter}
78
 
79
\makeatother
80
 
81
\title{\\Large\textbf{Product Code Iterative Decoder}\\}
82
\author{Arif E. Nugroho\\
83
Department of Electrical Engineering\\
84
Institut Teknologi Bandung, Indonesia\\
85
e-mail: arif\_endro@yahoo.com}
86
\date{}
87
 
88
\begin{document}
89
 
90
\begin{titlepage}
91
\tt
92
\thispagestyle{empty}
93
\center
94
{\Large\textbf{Product Code Iterative Decoder\\}}
95
\vspace{2.0cm}
96
 
97
\begin{figure}[H]
98
\center
99
\includegraphics[width=4.0cm,height=4.0cm]{oc_logo.eps}
100
\end{figure}
101
 
102
\vspace{1.5cm}
103
\normalsize
104
\textbf{Arif E. Nugroho}\\
105 7 arif_endro
$\overline{\textbf{arif\_endro@opencores.org}}$
106 2 arif_endro
 
107
\vspace{1.50cm}
108
\begin{figure}[H]
109
\center
110
\includegraphics[width=4.0cm,height=4.0cm]{logo.eps}
111
\end{figure}
112
 
113
\vspace{1.50cm}
114
\textbf{
115
\begin{tabular}{p{2.0cm}p{12cm}}
116
                & VLSI Research Group\\
117
                & LabTek VIII Institut Teknologi Bandung\\
118
                & Jl.~Ganesha 10 Bandung 40141\\
119
                & West Java, Indonesia\\
120
\end{tabular}
121
}
122
 
123
\end{titlepage}
124
 
125
\pagenumbering{roman}
126
 
127
\tableofcontents
128
\listoffigures
129
 
130
\pagestyle{fancy}
131
\chapter{Introduction}
132
 
133
\pagenumbering{arabic}
134
\vspace{2cm}
135
\section{Product Code}
136
 
137
Product code is also known as turbo code, this error correction methods
138
is known to approach the Shannon Limit. This design uses iterative
139
methods on decoding the product codes, see Figure~\ref{schematics}, this
140
design is based on Mr.~Wada-san homepage\cite{wada}.
141
 
142
This is two dimesional product code iterative decoder, there are four
143
bits information followed by two row parity bits and two column parity
144
bits.  Each signal informations is represented in two's complement eight
145
bit data, thus it indicate an integer value of -128 to 127 for each of
146
information bit.
147
 
148
\vspace{1cm}
149
\begin{figure}[H]
150
\center
151
\includegraphics[width=9cm,height=2cm]{sequence.eps}
152
\caption{Sequence of Product Codes}
153
\label{sequence}
154
\end{figure}
155
 
156
\begin{figure}[H]
157
\center
158
\includegraphics[width=8cm,height=4cm]{product_codes_table.eps}
159
\caption{Product Code generations}
160
\label{product_code}
161
\end{figure}
162
 
163
\section{Decoding Algorithm}
164
 
165
\begin{equation}
166
posteriori~value = channel~value~(Lch) + priori~value +
167
external~value~(Le)
168
\end{equation}
169
 
170
\begin{equation}
171
\left\{
172
\begin{array}{lr}
173
posteriori = Lch~+~priori~+~Le~(row~parity)      & (0)\\
174
posteriori = Lch~+~priori~+~Le~(column~parity)   & (1)\\
175
....\\
176
....\\
177
posteriori = Lch~+~priori~+~Le~(row~parity)      & (n-1)\\
178
posteriori = Lch~+~priori~+~Le~(column~parity)   & (n)\\
179
\end{array}
180
\right\}
181
\end{equation}
182
 
183
\begin{equation}
184
Lch = Y0,~Y1,~Y2,~Y3
185
\end{equation}
186
 
187
\begin{equation}
188
priori = posteriori~(n-1)
189
\end{equation}
190
 
191
\begin{equation}
192
Le = sgn(a~*~b)~*~min\{abs(a),abs(b)\}
193
\end{equation}
194
 
195
sgn(a~*~b) means the sign result of multiplication between operand a and
196
b, and abs(x) means absolute value of operand x. The last value of
197
posteriori is the decoded informations, i.e the posteriori value at
198
n$^{th}$ iterations.  The decoded informations can be obtained from the
199
sign of the last posteriori value, positive value is zero and negative
200
value is one, i.e this is the most significant bit of the posteriori
201
value.
202
 
203
\section{Circuit Schematic}
204
 
205
\begin{figure}[H]
206
\center
207
\includegraphics[width=15cm,height=9.0cm]{schematic.eps}
208
\caption{Schematic of Product Code Decoder}
209
\label{schematics}
210
\end{figure}
211
 
212
\chapter{Implementation}
213
 
214
\vspace{2cm}
215
\section{Simulation}
216
 
217 7 arif_endro
\begin{figure}[H]
218
\center
219
\includegraphics[width=12cm,height=6cm]{screenshot.eps}
220
\caption{Simulation waveform}
221
\label{simulation waveform}
222
\end{figure}
223
 
224 2 arif_endro
This design has been simulated using ModelSim 6.0 SE, here is the
225
summary of bit errors on different signal to noise ratio (SNR) of input
226
signal:
227
 
228
\begin{table}[H]
229
\center
230
\includegraphics[width=8cm,height=2.5cm]{bit_errors.eps}
231
\caption{Bit errors on different SNR}
232
\label{bit_errors}
233
\end{table}
234
 
235
signal with SNR 0 dB is signal with very big noise.
236
 
237
\section{Synthesize}
238
 
239
This design has been synthesized using ISE Xilinx 6.3i, here is the
240
summary of the area utilization in FPGA Xilinx:
241
 
242
\begin{table}[H]
243
\center
244
\includegraphics[width=8cm,height=2.5cm]{area.eps}
245
\caption{Area utilizations summary}
246
\label{area}
247
\end{table}
248
 
249 7 arif_endro
The maximum clock frequency is 64.045 MHz (Minimum period 15.614ns)
250 2 arif_endro
 
251
\begin{thebibliography}{1}
252
 
253
\bibitem{wada}
254
Tom Wada, \textbf{2-D Product Code Iterative Decoder},\\
255
\href{http://www.ie.u-ryukyu.ac.jp/\~\ wada/design06/spec\_e.html}
256
     {http://www.ie.u-ryukyu.ac.jp/\~\ wada/design06/spec\_e.html}\\
257
     October 1$^{st}$, 2005
258
 
259
\end{thebibliography}
260
 
261
\appendix
262
 
263
\chapter{Informations}
264
 
265
\section{Warranty}
266
 
267
\begin{center}
268
\textbf{\texttt{NO WARRANTY}}\\
269
\end{center}
270
 
271
\textbf{\scriptsize{
272
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
273
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
274
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
275
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
276
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
277
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
278
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
279
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
280
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
281
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.}}
282
 
283
\section{Tools}
284
 
285
\begin{itemize}
286
\item ALLIANCE CAD SYSTEM developed by ASIM
287
      team at \copyright LIP6/Universit\'{e} Pierre et
288
      Marie Curie,
289
      \href{http://asim.lip6.fr/recherche/alliance}{\textbf{http://asim.lip6.fr/recherche/alliance}}\\
290
      The primary VHDL Analyser for Synthesize
291
\item \textbf{ModelSim 6.0} The Simulator
292
\item \textbf{Xilinx 6.3i} The Synthesizer
293
\item \textbf{VIM} (Vi IMproved) The Editor
294
\item \textbf{\LaTeX}~~The Typesetter
295
\end{itemize}
296
 
297
\vspace{15cm}
298
\begin{tabbing}
299
\textbf{Version: 1.0}
300
\end{tabbing}
301
 
302
\end{document}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.