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/] [tags/] [INITIAL/] [doc/] [product_code_iterative_decoder.tex] - Blame information for rev 12

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 arif_endro
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2
% $Id: product_code_iterative_decoder.tex,v 1.1.1.1 2005-11-15 01:52:10 arif_endro Exp $
3
%
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
$\overline{arif\_endro@opencores.org}$
106
 
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
This design has been simulated using ModelSim 6.0 SE, here is the
218
summary of bit errors on different signal to noise ratio (SNR) of input
219
signal:
220
 
221
\begin{table}[H]
222
\center
223
\includegraphics[width=8cm,height=2.5cm]{bit_errors.eps}
224
\caption{Bit errors on different SNR}
225
\label{bit_errors}
226
\end{table}
227
 
228
signal with SNR 0 dB is signal with very big noise.
229
 
230
\section{Synthesize}
231
 
232
This design has been synthesized using ISE Xilinx 6.3i, here is the
233
summary of the area utilization in FPGA Xilinx:
234
 
235
\begin{table}[H]
236
\center
237
\includegraphics[width=8cm,height=2.5cm]{area.eps}
238
\caption{Area utilizations summary}
239
\label{area}
240
\end{table}
241
 
242
The maximum clock frequency is 64.070 MHz (Minimum period 15.608ns)
243
 
244
\begin{thebibliography}{1}
245
 
246
\bibitem{wada}
247
Tom Wada, \textbf{2-D Product Code Iterative Decoder},\\
248
\href{http://www.ie.u-ryukyu.ac.jp/\~\ wada/design06/spec\_e.html}
249
     {http://www.ie.u-ryukyu.ac.jp/\~\ wada/design06/spec\_e.html}\\
250
     October 1$^{st}$, 2005
251
 
252
\end{thebibliography}
253
 
254
\appendix
255
 
256
\chapter{Informations}
257
 
258
\section{Warranty}
259
 
260
\begin{center}
261
\textbf{\texttt{NO WARRANTY}}\\
262
\end{center}
263
 
264
\textbf{\scriptsize{
265
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
266
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
267
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
268
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
269
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
270
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
271
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
272
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
273
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
274
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.}}
275
 
276
\section{Tools}
277
 
278
\begin{itemize}
279
\item ALLIANCE CAD SYSTEM developed by ASIM
280
      team at \copyright LIP6/Universit\'{e} Pierre et
281
      Marie Curie,
282
      \href{http://asim.lip6.fr/recherche/alliance}{\textbf{http://asim.lip6.fr/recherche/alliance}}\\
283
      The primary VHDL Analyser for Synthesize
284
\item \textbf{ModelSim 6.0} The Simulator
285
\item \textbf{Xilinx 6.3i} The Synthesizer
286
\item \textbf{VIM} (Vi IMproved) The Editor
287
\item \textbf{\LaTeX}~~The Typesetter
288
\end{itemize}
289
 
290
\vspace{15cm}
291
\begin{tabbing}
292
\textbf{Version: 1.0}
293
\end{tabbing}
294
 
295
\end{document}

powered by: WebSVN 2.1.0

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