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

Subversion Repositories simple_fm_receiver

[/] [simple_fm_receiver/] [trunk/] [docs/] [simple_fm_receiver.tex] - Blame information for rev 47

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

Line No. Rev Author Line
1 20 arif_endro
% $Id: simple_fm_receiver.tex,v 1.2 2005-03-29 05:03:21 arif_endro Exp $
2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3
%   Title      : Simple FM Receiver DOCS
4
%   Project    : FM Receiver
5
%
6
%   Author     : Arif E. Nugroho
7
%
8
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9
%  Description : Simple FM Receiver documentations file
10
%
11
%  Copyright (c) 2005 Arif E. Nugroho
12
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13 9 arif_endro
 
14
\documentclass[a4paper,10pt]{article}
15
 
16 20 arif_endro
\usepackage[english]{babel}  % enable selecting language in docs
17
\usepackage{fancybox}        % enable custom box
18
\usepackage{fancyhdr}        % enable custom header
19
\usepackage{float}           % enable floating graphics
20
\usepackage{graphicx}        % enable graphics in docs
21
\usepackage{palatino}        % palatino font
22
\usepackage{indentfirst}     % first indentation after section
23 9 arif_endro
 
24 20 arif_endro
\setlength{\parindent}        {1cm}
25
\setlength{\topmargin}        {0cm}
26
\setlength{\headheight}       {1cm}
27
\setlength{\textheight}       {21cm}
28
\setlength{\textwidth}        {16cm}
29
\setlength{\oddsidemargin}    {0cm}
30
\setlength{\evensidemargin}   {0cm}
31
\setlength{\columnsep}        {0.125in}
32
\setlength{\columnseprule}    {0.5pt}
33
\setlength{\footskip}         {1cm}
34
\renewcommand{\footrulewidth} {0.4pt}
35
 
36
% fancy box package
37
 
38 9 arif_endro
\newlength{\verbatimbox}
39
\settowidth{\verbatimbox}{\scriptsize\tt
40
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
41
}
42
 
43
\newenvironment{sourcelisting}
44
   {\VerbatimEnvironment\par\noindent\scriptsize
45
    \begin{Sbox}\begin{minipage}{\verbatimbox}\begin{Verbatim}}%
46
   {\end{Verbatim}\end{minipage}\end{Sbox}
47
    \setlength{\fboxsep}{3mm}\center
48
    \shadowbox{\TheSbox}\normalsize\par\noindent}
49
 
50
\newenvironment{commandline}
51
   {\VerbatimEnvironment\par\vspace*{2mm}\noindent\footnotesize
52
    \begin{Sbox}\begin{minipage}{\verbatimbox}\begin{Verbatim}}%
53
   {\end{Verbatim}\end{minipage}\end{Sbox}\setlength{\shadowsize}{2pt}%
54
    \shadowbox{\TheSbox}\normalsize\par\noindent}
55
 
56 20 arif_endro
% custom numbering system
57 9 arif_endro
 
58 20 arif_endro
\makeatletter
59
 
60
\renewcommand\theequation{\arabic{section}-\arabic{equation}}
61
\@addtoreset{equation}{section}
62
 
63
\renewcommand\thefigure{\arabic{section}-\arabic{figure}}
64
\@addtoreset{figure}{section}
65
 
66
\renewcommand\thetable{\arabic{section}-\arabic{table}}
67
\@addtoreset{table}{section}
68
 
69
\makeatother
70
 
71
% fancy header package
72
 
73 9 arif_endro
\chead{}
74
\lhead{\Large \bfseries \texttt{Simple FM Receiver}}
75 20 arif_endro
\rhead{\thepage}
76
\lfoot{\bfseries \texttt{Arif E. Nugroho}}
77 9 arif_endro
\cfoot{www.opencores.org}
78 20 arif_endro
\rfoot{}
79
 
80 9 arif_endro
\begin{document}
81 20 arif_endro
 
82
% Cover
83
 
84
\begin{titlepage}
85 9 arif_endro
\thispagestyle{empty}
86 20 arif_endro
 
87 9 arif_endro
\begin{center}
88 20 arif_endro
 
89
\Huge \textbf {\textit{Simple FM Receiver}}
90
 
91 9 arif_endro
\vspace{3.0cm}
92
\large \textbf {\texttt{Arif E. Nugroho \\<arif\_endro@opencores.org>}}
93 20 arif_endro
 
94 9 arif_endro
\end{center}
95
 
96 20 arif_endro
\vspace{3.0cm}
97 9 arif_endro
\begin{figure}[H]
98
\center
99
\includegraphics[width=7.5cm,height=7.5cm]{fm_cores.eps}
100
\end{figure}
101
 
102
\vspace{0.50cm}
103
\begin{tabular}{p{3.0cm}p{10cm}}
104
                & VLSI Research Group ITB\\
105
                & LabTek VIII Institut Teknologi Bandung\\
106
                & Jl. Ganesha 10 Bandung 40141 West Java Indonesia\\
107
\end{tabular}
108
 
109
\vspace{1.00cm}
110
\begin{center}
111
 
112
\Large \textbf{\texttt{2005}}
113 20 arif_endro
 
114 9 arif_endro
\end{center}
115
 
116 20 arif_endro
\end{titlepage}
117 9 arif_endro
 
118 20 arif_endro
\pagenumbering{roman}
119 9 arif_endro
\tableofcontents
120
\newpage
121
 
122
\listoffigures
123
\newpage
124 20 arif_endro
 
125
\section{Introduction}
126
 
127
\pagestyle{fancy}
128 9 arif_endro
\pagenumbering{arabic}
129
 
130 20 arif_endro
This design is a very simple implementation of FM Receiver for
131
demodulating Frequency Modulated (FM) signal.  The input signal it's
132
self is a square wave signal that already modulated and digitized in the
133
form 8 bit signed 2's complement.
134
 
135
\subsection{Circuit Schematics}
136
 
137
The works of this FM Receiver is based on PLL operation to capture FM
138
signal.  The design architecture it's self like ordinary PLL using phase
139
detector, vco (realize using an nco), loop filter, and low pass filter.
140
 
141 9 arif_endro
\begin{figure}[H]
142
\center
143
\includegraphics[width=15cm,height=12cm]{fm_receiver.eps}
144
\caption {Architecture Schematics}
145
\end{figure}
146
 
147 20 arif_endro
In the PLL loop's, the FM signal it's self captured from phase
148
difference betwee input signal and loop signal. This signal is raw
149
signal of the original signal and the looks is not too good, After loop
150
filtering the phase difference looks more clearly. finally, after
151
filtering out in low pass filter the original signal can be recovered.
152
 
153
The recovered signal it's self not perfect but it's not too far from
154
original signal. The shape of original signal suppose to be straigh line
155
but the recovered signal not. There is still many noise in the recovered
156
signal.
157
 
158
\section{Circuit Component}
159
 
160 9 arif_endro
\subsection{Core Component}
161
 
162 20 arif_endro
\begin{itemize}
163
 
164
\item \textbf{fm}
165
 
166
The core component, the connector between many component in the PLL
167
loops.
168
 
169 9 arif_endro
\begin{figure}[H]
170
\center
171
\includegraphics[width=10.0cm,height=5.0cm]{fm.eps}
172
\caption {FM core component}
173
\end{figure}
174
 
175 20 arif_endro
\end{itemize}
176
 
177 9 arif_endro
\subsection{Main Component}
178
 
179 20 arif_endro
\begin{itemize}
180
 
181
\item \textbf{nco}
182
 
183
The NCO functions it's like VCO in analog PLL.
184
 
185
% This NCO works like variable binary up-counter that controlled by input.
186
% Because its controlled by input then it's output frequency is change
187
% along with it's input value.
188
 
189 9 arif_endro
\begin{figure}[H]
190
\center
191
\includegraphics[width=10.0cm,height=5.0cm]{nco.eps}
192
\caption {NCO block diagram}
193
\end{figure}
194
 
195 20 arif_endro
\item \textbf{phase\_detector}
196 9 arif_endro
 
197 20 arif_endro
This component works by multiplying input signal
198
and loop signal.
199
 
200 9 arif_endro
\begin{figure}[H]
201
\center
202
\includegraphics[width=10.0cm,height=5.0cm]{phase_detector.eps}
203
\caption {Phase detector block diagram}
204
\end{figure}
205
 
206 20 arif_endro
\item \textbf{loop\_filter}
207 9 arif_endro
 
208 20 arif_endro
A low pass filter in the PLL loop.
209
 
210
%\begin{displaymath}
211
%Y(z) = X(z) \frac{z^{-1}}{1-(1-\frac{1}{16})z^{-1}}
212
%\end{displaymath}
213
 
214 9 arif_endro
\begin{figure}[H]
215
\center
216
\includegraphics[width=10.0cm,height=5.0cm]{loop_filter.eps}
217
\caption {Loop filter block diagram}
218
\end{figure}
219
 
220 20 arif_endro
% \item \textbf{low pass filter}
221
%
222
% Realization of this filter is using direct FIR Transform 16 tap.
223
%
224
% \begin{displaymath}
225
% Y(z) = X(z) \frac{1}{C_{fir}}\sum_{i=0}^{15}z^{-i}
226
% \end{displaymath}
227 9 arif_endro
 
228 20 arif_endro
\end{itemize}
229 9 arif_endro
 
230 20 arif_endro
\subsection{Arithmetic Component}
231
 
232
\begin{itemize}
233
 
234
\item \textbf{adder}
235
 
236
Adder implementation in this design is in the simplest form (e.g simple
237
ripple carry adder), this adder implementations is the slowest compared
238
with other type adder but this adder implementations is easy to
239
understand. This adder is used for arithmetics operations in many
240
component that exists in the PLL loops\footnote{I will use a different
241
type adder for next time, if you have any suggestion email me :)}.
242
 
243
\item \textbf{subtractor}
244
 
245
Subtractor implementation used in this design is a modified version of
246
adder. This is because the subtractor it's self a manipulations of
247
adder\footnote{in 2's complement implementation negatif value of a
248
number is equal to it's 2' complement. so subtraction is equal to
249
addition to it's 2's complement}.
250
 
251
\item \textbf{multiplier}
252
 
253
Multiplier is used on the phase detector to multiply input signal and
254
signal nco to get the phase different.
255
 
256
% This multiplier is implemented using simple addition of two operand.
257
% this multiplier need 8 stage of addition to perform operation on 8 bit
258
% input operand. This multiplier is the slowest component in this design,
259
% because this operations takes 8 stages of additions to complete single
260
% multiplications.
261
%
262
% \begin{sourcelisting}
263
% operand0          = XXXX_XXXX
264
% operand1          = XXXX_XXXX
265
% _____________________________
266
% ...
267
% ...       -> 8 stage addition
268
% ...
269
% _____________________________
270
% result = XXXX_XXXX__XXXX_XXXX
271
%          ^^^^^^^^^--> 8 bit output
272
% \end{sourcelisting}
273
 
274
\item \textbf{full adder}
275
 
276
Full Adder, everyone already know about it's. In this design the full
277
adder implementation is implemented using following
278
relations\footnote{because full adder input/output relations can have
279
many form, if you have better implementation just let me know :)}:
280
 
281 9 arif_endro
\begin{sourcelisting}
282
sum          <=  ((addend xor augend) xor carry_in);
283
carry        <=  ((addend xor augend) or  (carry_in and (addend or augend)));
284
\end{sourcelisting}
285
 
286 20 arif_endro
\end{itemize}
287
 
288
\section{Waveform}
289
 
290
Here is the output waveform of the design.
291
 
292
\begin{figure}[H]
293
\center
294
\includegraphics[width=15cm,height=10cm]{screenshot.eps}
295
\caption {Waveform preview}
296
\end{figure}
297
 
298 9 arif_endro
\newpage
299 20 arif_endro
 
300 9 arif_endro
\section{Information}
301
 
302 20 arif_endro
\subsection{Warranty}
303 9 arif_endro
 
304
\begin{center}
305
                \textbf      {\texttt{NO WARRANTY}}\\
306
\end{center}
307 20 arif_endro
 
308 9 arif_endro
\scriptsize
309
\textbf{\textrm{
310
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
311
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
312
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
313
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
314
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
315
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
316
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
317
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
318
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
319 20 arif_endro
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
320
}}
321 9 arif_endro
\normalsize
322
 
323
\subsection{TOOLS}
324 20 arif_endro
 
325 9 arif_endro
\begin{itemize}
326 20 arif_endro
 
327 9 arif_endro
\item \textbf{\texttt{ALLIANCE CAD SYSTEM}} developed by \textbf{\texttt{ASIM}}
328
      team at \copyright \textbf{\texttt{LIP6}}/Universit\'{e} Pierre et
329
      Marie Curie,
330
      \texttt{http://asim.lip6.fr/recherche/alliance}
331
      - \textbf{\textit{The primary VHDL Analyser for Synthesize}}
332 20 arif_endro
 
333 9 arif_endro
\item \textbf{\texttt{ISE Xilinx 6.3i}} - \textbf{\textit{The Synthesizer}}
334 20 arif_endro
 
335
\item \textbf{\texttt{VIM - Vi IMproved}}
336 9 arif_endro
      - \textbf{\textit{The Editor}}
337 20 arif_endro
 
338 9 arif_endro
\item \LaTeX - \textbf{\textit{The Typesetter}}
339 20 arif_endro
 
340 9 arif_endro
\end{itemize}
341
 
342
\begin{thebibliography}{1}
343 20 arif_endro
 
344 9 arif_endro
\bibitem{Wada} Tom Wada,
345
        \textbf{\textit{ All Digital FM Receiver}}, at
346
        http://www.ie.u-ryukyu.ac.jp/\~\ wada/design05/
347 20 arif_endro
 
348 9 arif_endro
\end{thebibliography}
349
 
350
\vspace{01cm}
351 20 arif_endro
 
352 9 arif_endro
\begin{tabbing}
353 20 arif_endro
\textbf{Version: 1.2}  \` \textbf{\today}
354 9 arif_endro
\end{tabbing}
355
 
356
\end{document}

powered by: WebSVN 2.1.0

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