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] - Diff between revs 3 and 10

Only display areas with differences | Details | Blame | View Log

Rev 3 Rev 10
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% $Id: product_code_iterative_decoder.tex,v 1.1.1.1 2005-11-15 01:52:10 arif_endro Exp $
% $Id: product_code_iterative_decoder.tex,v 1.1.1.1 2005-11-15 01:52:10 arif_endro Exp $
%
%
% Title          : Product Code Iterative Decoder
% Title          : Product Code Iterative Decoder
%
%
% Author         : "Arif E. Nugroho" <arif_endro@yahoo.com>
% Author         : "Arif E. Nugroho" <arif_endro@yahoo.com>
%
%
% Description    : Master Documentation File.
% Description    : Master Documentation File.
%
%
% Copyright (C) 2005 Arif E. Nugroho <arif_endro@yahoo.com>
% Copyright (C) 2005 Arif E. Nugroho <arif_endro@yahoo.com>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
\documentclass[a4paper,12pt]{report}
\documentclass[a4paper,12pt]{report}
\usepackage[english]{babel}
\usepackage[english]{babel}
\usepackage[dvips,english,none,light,portrait]{draftcopy}
\usepackage[dvips,english,none,light,portrait]{draftcopy}
\usepackage{fancyvrb}       % enable custom verbatim env.
\usepackage{fancyvrb}       % enable custom verbatim env.
\usepackage{float}          % enable floating images
\usepackage{float}          % enable floating images
\usepackage{graphicx}       % enable graphics in this document
\usepackage{graphicx}       % enable graphics in this document
\usepackage{titlesec}       % enable customization title
\usepackage{titlesec}       % enable customization title
\usepackage{fancyhdr}       % enable customization header e.g. page number
\usepackage{fancyhdr}       % enable customization header e.g. page number
\usepackage{setspace}       % Custom line spacing
\usepackage{setspace}       % Custom line spacing
\usepackage{palatino}
\usepackage{palatino}
%\usepackage{times}          % Default font for report
%\usepackage{times}          % Default font for report
\usepackage{indentfirst}   % to make identation after sectioning
\usepackage{indentfirst}   % to make identation after sectioning
\usepackage[pdftitle={Product Code Iterative Decoder},
\usepackage[pdftitle={Product Code Iterative Decoder},
            pdfauthor={Copyright (C) 2005 Arif E. Nugroho},
            pdfauthor={Copyright (C) 2005 Arif E. Nugroho},
            pdfsubject={Product Code Decoder},
            pdfsubject={Product Code Decoder},
            pdfkeywords={Decoder, Turbo, Product Code},
            pdfkeywords={Decoder, Turbo, Product Code},
            colorlinks=false, bookmarksnumbered=false, ps2pdf,
            colorlinks=false, bookmarksnumbered=false, ps2pdf,
            pdfpagemode=none
            pdfpagemode=none
            ]{hyperref}
            ]{hyperref}
 
 
\setlength{\topmargin}     {0cm}
\setlength{\topmargin}     {0cm}
\setlength{\headheight}    {1cm}
\setlength{\headheight}    {1cm}
\setlength{\textheight}    {21cm}
\setlength{\textheight}    {21cm}
\setlength{\textwidth}     {16cm}
\setlength{\textwidth}     {16cm}
\setlength{\oddsidemargin} {0cm}
\setlength{\oddsidemargin} {0cm}
\setlength{\evensidemargin}{0cm}
\setlength{\evensidemargin}{0cm}
\setlength{\columnsep}     {0.125in}
\setlength{\columnsep}     {0.125in}
\setlength{\columnseprule} {0.5pt}
\setlength{\columnseprule} {0.5pt}
\setlength{\footskip}      {1cm}
\setlength{\footskip}      {1cm}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
 
 
\setlength{\parindent}{1cm}  % set paragraph indentation 1cm almost
\setlength{\parindent}{1cm}  % set paragraph indentation 1cm almost
                             % equal to 5 character
                             % equal to 5 character
 
 
\lhead{\scriptsize{\textsf{\rightmark}}}
\lhead{\scriptsize{\textsf{\rightmark}}}
\rhead{\thepage}
\rhead{\thepage}
\chead{}
\chead{}
\lfoot{}
\lfoot{}
\rfoot{}
\rfoot{}
\cfoot{Arif E. Nugroho\\www.opencores.org}
\cfoot{Arif E. Nugroho\\www.opencores.org}
 
 
\titlelabel{\thetitle.\quad}
\titlelabel{\thetitle.\quad}
 
 
% Chapter heading layout
% Chapter heading layout
\titleformat{\chapter}[display]
\titleformat{\chapter}[display]
  {\normalfont\Large\filcenter\bfseries}
  {\normalfont\Large\filcenter\bfseries}
  { \vspace{1pc} \LARGE\thechapter}
  { \vspace{1pc} \LARGE\thechapter}
  {1pc} { \vspace{1pc} \Huge}
  {1pc} { \vspace{1pc} \Huge}
 
 
\onehalfspacing
\onehalfspacing
 
 
\makeatletter
\makeatletter
 
 
% numbering in equation by chapter
% numbering in equation by chapter
\renewcommand\theequation{\arabic{chapter}-\arabic{equation}}
\renewcommand\theequation{\arabic{chapter}-\arabic{equation}}
\@addtoreset{equation}{chapter}
\@addtoreset{equation}{chapter}
 
 
% numbering in figure by section
% numbering in figure by section
\renewcommand\thefigure{\arabic{chapter}-\arabic{figure}}
\renewcommand\thefigure{\arabic{chapter}-\arabic{figure}}
\@addtoreset{figure}{chapter}
\@addtoreset{figure}{chapter}
 
 
% numbering in table by section
% numbering in table by section
\renewcommand\thetable{\arabic{chapter}-\arabic{table}}
\renewcommand\thetable{\arabic{chapter}-\arabic{table}}
\@addtoreset{table}{chapter}
\@addtoreset{table}{chapter}
 
 
\makeatother
\makeatother
 
 
\title{\\Large\textbf{Product Code Iterative Decoder}\\}
\title{\\Large\textbf{Product Code Iterative Decoder}\\}
\author{Arif E. Nugroho\\
\author{Arif E. Nugroho\\
Department of Electrical Engineering\\
Department of Electrical Engineering\\
Institut Teknologi Bandung, Indonesia\\
Institut Teknologi Bandung, Indonesia\\
e-mail: arif\_endro@yahoo.com}
e-mail: arif\_endro@yahoo.com}
\date{}
\date{}
 
 
\begin{document}
\begin{document}
 
 
\begin{titlepage}
\begin{titlepage}
\tt
\tt
\thispagestyle{empty}
\thispagestyle{empty}
\center
\center
{\Large\textbf{Product Code Iterative Decoder\\}}
{\Large\textbf{Product Code Iterative Decoder\\}}
\vspace{2.0cm}
\vspace{2.0cm}
 
 
\begin{figure}[H]
\begin{figure}[H]
\center
\center
\includegraphics[width=4.0cm,height=4.0cm]{oc_logo.eps}
\includegraphics[width=4.0cm,height=4.0cm]{oc_logo.eps}
\end{figure}
\end{figure}
 
 
\vspace{1.5cm}
\vspace{1.5cm}
\normalsize
\normalsize
\textbf{Arif E. Nugroho}\\
\textbf{Arif E. Nugroho}\\
$\overline{arif\_endro@opencores.org}$
$\overline{arif\_endro@opencores.org}$
 
 
\vspace{1.50cm}
\vspace{1.50cm}
\begin{figure}[H]
\begin{figure}[H]
\center
\center
\includegraphics[width=4.0cm,height=4.0cm]{logo.eps}
\includegraphics[width=4.0cm,height=4.0cm]{logo.eps}
\end{figure}
\end{figure}
 
 
\vspace{1.50cm}
\vspace{1.50cm}
\textbf{
\textbf{
\begin{tabular}{p{2.0cm}p{12cm}}
\begin{tabular}{p{2.0cm}p{12cm}}
                & VLSI Research Group\\
                & VLSI Research Group\\
                & LabTek VIII Institut Teknologi Bandung\\
                & LabTek VIII Institut Teknologi Bandung\\
                & Jl.~Ganesha 10 Bandung 40141\\
                & Jl.~Ganesha 10 Bandung 40141\\
                & West Java, Indonesia\\
                & West Java, Indonesia\\
\end{tabular}
\end{tabular}
}
}
 
 
\end{titlepage}
\end{titlepage}
 
 
\pagenumbering{roman}
\pagenumbering{roman}
 
 
\tableofcontents
\tableofcontents
\listoffigures
\listoffigures
 
 
\pagestyle{fancy}
\pagestyle{fancy}
\chapter{Introduction}
\chapter{Introduction}
 
 
\pagenumbering{arabic}
\pagenumbering{arabic}
\vspace{2cm}
\vspace{2cm}
\section{Product Code}
\section{Product Code}
 
 
Product code is also known as turbo code, this error correction methods
Product code is also known as turbo code, this error correction methods
is known to approach the Shannon Limit. This design uses iterative
is known to approach the Shannon Limit. This design uses iterative
methods on decoding the product codes, see Figure~\ref{schematics}, this
methods on decoding the product codes, see Figure~\ref{schematics}, this
design is based on Mr.~Wada-san homepage\cite{wada}.
design is based on Mr.~Wada-san homepage\cite{wada}.
 
 
This is two dimesional product code iterative decoder, there are four
This is two dimesional product code iterative decoder, there are four
bits information followed by two row parity bits and two column parity
bits information followed by two row parity bits and two column parity
bits.  Each signal informations is represented in two's complement eight
bits.  Each signal informations is represented in two's complement eight
bit data, thus it indicate an integer value of -128 to 127 for each of
bit data, thus it indicate an integer value of -128 to 127 for each of
information bit.
information bit.
 
 
\vspace{1cm}
\vspace{1cm}
\begin{figure}[H]
\begin{figure}[H]
\center
\center
\includegraphics[width=9cm,height=2cm]{sequence.eps}
\includegraphics[width=9cm,height=2cm]{sequence.eps}
\caption{Sequence of Product Codes}
\caption{Sequence of Product Codes}
\label{sequence}
\label{sequence}
\end{figure}
\end{figure}
 
 
\begin{figure}[H]
\begin{figure}[H]
\center
\center
\includegraphics[width=8cm,height=4cm]{product_codes_table.eps}
\includegraphics[width=8cm,height=4cm]{product_codes_table.eps}
\caption{Product Code generations}
\caption{Product Code generations}
\label{product_code}
\label{product_code}
\end{figure}
\end{figure}
 
 
\section{Decoding Algorithm}
\section{Decoding Algorithm}
 
 
\begin{equation}
\begin{equation}
posteriori~value = channel~value~(Lch) + priori~value +
posteriori~value = channel~value~(Lch) + priori~value +
external~value~(Le)
external~value~(Le)
\end{equation}
\end{equation}
 
 
\begin{equation}
\begin{equation}
\left\{
\left\{
\begin{array}{lr}
\begin{array}{lr}
posteriori = Lch~+~priori~+~Le~(row~parity)      & (0)\\
posteriori = Lch~+~priori~+~Le~(row~parity)      & (0)\\
posteriori = Lch~+~priori~+~Le~(column~parity)   & (1)\\
posteriori = Lch~+~priori~+~Le~(column~parity)   & (1)\\
....\\
....\\
....\\
....\\
posteriori = Lch~+~priori~+~Le~(row~parity)      & (n-1)\\
posteriori = Lch~+~priori~+~Le~(row~parity)      & (n-1)\\
posteriori = Lch~+~priori~+~Le~(column~parity)   & (n)\\
posteriori = Lch~+~priori~+~Le~(column~parity)   & (n)\\
\end{array}
\end{array}
\right\}
\right\}
\end{equation}
\end{equation}
 
 
\begin{equation}
\begin{equation}
Lch = Y0,~Y1,~Y2,~Y3
Lch = Y0,~Y1,~Y2,~Y3
\end{equation}
\end{equation}
 
 
\begin{equation}
\begin{equation}
priori = posteriori~(n-1)
priori = posteriori~(n-1)
\end{equation}
\end{equation}
 
 
\begin{equation}
\begin{equation}
Le = sgn(a~*~b)~*~min\{abs(a),abs(b)\}
Le = sgn(a~*~b)~*~min\{abs(a),abs(b)\}
\end{equation}
\end{equation}
 
 
sgn(a~*~b) means the sign result of multiplication between operand a and
sgn(a~*~b) means the sign result of multiplication between operand a and
b, and abs(x) means absolute value of operand x. The last value of
b, and abs(x) means absolute value of operand x. The last value of
posteriori is the decoded informations, i.e the posteriori value at
posteriori is the decoded informations, i.e the posteriori value at
n$^{th}$ iterations.  The decoded informations can be obtained from the
n$^{th}$ iterations.  The decoded informations can be obtained from the
sign of the last posteriori value, positive value is zero and negative
sign of the last posteriori value, positive value is zero and negative
value is one, i.e this is the most significant bit of the posteriori
value is one, i.e this is the most significant bit of the posteriori
value.
value.
 
 
\section{Circuit Schematic}
\section{Circuit Schematic}
 
 
\begin{figure}[H]
\begin{figure}[H]
\center
\center
\includegraphics[width=15cm,height=9.0cm]{schematic.eps}
\includegraphics[width=15cm,height=9.0cm]{schematic.eps}
\caption{Schematic of Product Code Decoder}
\caption{Schematic of Product Code Decoder}
\label{schematics}
\label{schematics}
\end{figure}
\end{figure}
 
 
\chapter{Implementation}
\chapter{Implementation}
 
 
\vspace{2cm}
\vspace{2cm}
\section{Simulation}
\section{Simulation}
 
 
This design has been simulated using ModelSim 6.0 SE, here is the
This design has been simulated using ModelSim 6.0 SE, here is the
summary of bit errors on different signal to noise ratio (SNR) of input
summary of bit errors on different signal to noise ratio (SNR) of input
signal:
signal:
 
 
\begin{table}[H]
\begin{table}[H]
\center
\center
\includegraphics[width=8cm,height=2.5cm]{bit_errors.eps}
\includegraphics[width=8cm,height=2.5cm]{bit_errors.eps}
\caption{Bit errors on different SNR}
\caption{Bit errors on different SNR}
\label{bit_errors}
\label{bit_errors}
\end{table}
\end{table}
 
 
signal with SNR 0 dB is signal with very big noise.
signal with SNR 0 dB is signal with very big noise.
 
 
\section{Synthesize}
\section{Synthesize}
 
 
This design has been synthesized using ISE Xilinx 6.3i, here is the
This design has been synthesized using ISE Xilinx 6.3i, here is the
summary of the area utilization in FPGA Xilinx:
summary of the area utilization in FPGA Xilinx:
 
 
\begin{table}[H]
\begin{table}[H]
\center
\center
\includegraphics[width=8cm,height=2.5cm]{area.eps}
\includegraphics[width=8cm,height=2.5cm]{area.eps}
\caption{Area utilizations summary}
\caption{Area utilizations summary}
\label{area}
\label{area}
\end{table}
\end{table}
 
 
The maximum clock frequency is 64.070 MHz (Minimum period 15.608ns)
The maximum clock frequency is 64.070 MHz (Minimum period 15.608ns)
 
 
\begin{thebibliography}{1}
\begin{thebibliography}{1}
 
 
\bibitem{wada}
\bibitem{wada}
Tom Wada, \textbf{2-D Product Code Iterative Decoder},\\
Tom Wada, \textbf{2-D Product Code Iterative Decoder},\\
\href{http://www.ie.u-ryukyu.ac.jp/\~\ wada/design06/spec\_e.html}
\href{http://www.ie.u-ryukyu.ac.jp/\~\ wada/design06/spec\_e.html}
     {http://www.ie.u-ryukyu.ac.jp/\~\ wada/design06/spec\_e.html}\\
     {http://www.ie.u-ryukyu.ac.jp/\~\ wada/design06/spec\_e.html}\\
     October 1$^{st}$, 2005
     October 1$^{st}$, 2005
 
 
\end{thebibliography}
\end{thebibliography}
 
 
\appendix
\appendix
 
 
\chapter{Informations}
\chapter{Informations}
 
 
\section{Warranty}
\section{Warranty}
 
 
\begin{center}
\begin{center}
\textbf{\texttt{NO WARRANTY}}\\
\textbf{\texttt{NO WARRANTY}}\\
\end{center}
\end{center}
 
 
\textbf{\scriptsize{
\textbf{\scriptsize{
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.}}
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.}}
 
 
\section{Tools}
\section{Tools}
 
 
\begin{itemize}
\begin{itemize}
\item ALLIANCE CAD SYSTEM developed by ASIM
\item ALLIANCE CAD SYSTEM developed by ASIM
      team at \copyright LIP6/Universit\'{e} Pierre et
      team at \copyright LIP6/Universit\'{e} Pierre et
      Marie Curie,
      Marie Curie,
      \href{http://asim.lip6.fr/recherche/alliance}{\textbf{http://asim.lip6.fr/recherche/alliance}}\\
      \href{http://asim.lip6.fr/recherche/alliance}{\textbf{http://asim.lip6.fr/recherche/alliance}}\\
      The primary VHDL Analyser for Synthesize
      The primary VHDL Analyser for Synthesize
\item \textbf{ModelSim 6.0} The Simulator
\item \textbf{ModelSim 6.0} The Simulator
\item \textbf{Xilinx 6.3i} The Synthesizer
\item \textbf{Xilinx 6.3i} The Synthesizer
\item \textbf{VIM} (Vi IMproved) The Editor
\item \textbf{VIM} (Vi IMproved) The Editor
\item \textbf{\LaTeX}~~The Typesetter
\item \textbf{\LaTeX}~~The Typesetter
\end{itemize}
\end{itemize}
 
 
\vspace{15cm}
\vspace{15cm}
\begin{tabbing}
\begin{tabbing}
\textbf{Version: 1.0}
\textbf{Version: 1.0}
\end{tabbing}
\end{tabbing}
 
 
\end{document}
\end{document}
 
 

powered by: WebSVN 2.1.0

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