/[dtapublic]/pubs/books/ucbka/trunk/c_qua0/c_qua0.tex
ViewVC logotype

Contents of /pubs/books/ucbka/trunk/c_qua0/c_qua0.tex

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6 - (show annotations) (download) (as text)
Fri Oct 7 01:36:46 2016 UTC (6 years, 2 months ago) by dashley
File MIME type: application/x-tex
File size: 8303 byte(s)
Initial commit after migrating from CVS.
1 %$Header: /home/dashley/cvsrep/e3ft_gpl01/e3ft_gpl01/dtaipubs/esrgubka/c_qua0/c_qua0.tex,v 1.3 2001/06/29 23:40:53 dtashley Exp $
2
3 \chapter{\cquazerolongtitle{}}
4
5 \label{cqua0}
6
7 \section{Introduction}
8 %Section tag INT
9
10 A microcontroller can inherently manipulate only integers: usually 8-bit
11 integers, 16-bit integers, or 32-bit integers. Typically, the less
12 expensive a microcontroller is, the smaller the maximum data sizes that
13 it can accomodate; the least expensive devices can easily manipulate
14 only integers no larger than 8 bits.
15
16 This chapter deals with the error analysis of \emph{quantization}. By
17 \emph{quantization}, we mean three [distinct] mechanisms of error introduction
18 in microcontroller software.
19
20 \begin{itemize}
21 \item \textbf{Input Quantization:} the unavoidable conversion from
22 $\vworkrealset$ to $\vworkintset$ performed by interface hardware.
23 For example, interface hardware may convert a voltage which is
24 conceptually continuous to an integer (which can assume only discrete
25 values), or may convert a time period which is conceptually
26 continuous to an integer.
27 \item \textbf{Arithmetic Quantization:} microcontroller arithmetic algorithms
28 must often discard precision in order to restrict intermediate results of
29 calculations to data sizes which the microcontroller can economically
30 manipulate. This type of quantization error is most often injected
31 by discarding the remainder of an integer quotient.
32 \item \textbf{Output Quantization:} microcontroller output hardware can
33 produce continuous outputs (such as voltages or pulse widths)
34 only in discrete steps. Often, this lack of ability to control
35 outputs precisely introduces additional uncertainty into the
36 system which must be analyzed.
37 \end{itemize}
38
39 Note that the error-injection mechanism that we call \emph{quantization}
40 (in some sense, the creation of a discrete-\emph{data} system)
41 is not related to and is orthogonal to the notion of a
42 discrete-\emph{time} (or sampled) system.
43
44
45 \section{Modeling Of Quantization}
46 %Section tag: MOQ
47
48 For the analytical treatment of quantization, the \emph{floor($\cdot{}$)}
49 function, denoted $\lfloor \cdot \rfloor$, is used, often preceded by a
50 scaling factor. For example, in the case of an A/D converter which
51 converts a voltage $\in [0, 5]$ volts into an integer
52 $\in [0,255]_{\vworkintsetnonneg{}}$, we may model the function which
53 maps from voltage to A/D count as
54
55 \begin{equation}
56 \label{eq:cqua0:smoq:001}
57 f(x) = \left\lfloor {\frac{255 x }{5}} \right\rfloor .
58 \end{equation}
59
60 Inherent in (\ref{eq:cqua0:smoq:001})
61 is the assumption that quantization will
62 choose an integer by rounding \emph{down}. Other
63 assumptions are possible
64 (\ref{eq:cqua0:smoq:002}, \ref{eq:cqua0:smoq:003}).
65
66 \begin{equation}
67 \label{eq:cqua0:smoq:002}
68 f(x) = \left\lceil {\frac{255 x }{5}} \right\rceil
69 \end{equation}
70
71 \begin{equation}
72 \label{eq:cqua0:smoq:003}
73 f(x) = \left\lfloor {\frac{255 x }{5} + \frac{1}{2}} \right\rfloor
74 \end{equation}
75
76 At first glance, it may seem intuitively likely
77 that (\ref{eq:cqua0:smoq:003}) leads
78 to smaller error terms than (\ref{eq:cqua0:stqn:001})
79 or (\ref{eq:cqua0:smoq:002})---that rounding to the
80 nearest integer is a better strategy than rounding
81 down or rounding up. In this case, intuition may be misleading.
82 (\ref{eq:cqua0:smoq:003}) more precisely \emph{centers the
83 expected value} of the error than (\ref{eq:cqua0:smoq:001})
84 or (\ref{eq:cqua0:smoq:002}), but the \emph{span} of the
85 error---the largest error minus the smallest error---remains
86 one. In a practical system, the \emph{span} of the error
87 is the dominant effect. In practice,
88 (\ref{eq:cqua0:smoq:001}), (\ref{eq:cqua0:smoq:002}),
89 and (\ref{eq:cqua0:smoq:003}) lead to near-identical
90 error terms. For algebraic convenience,
91 (\ref{eq:cqua0:smoq:001}) is used preferentially.
92
93 Error terms are denoted by the Greek
94 letter \emph{epsilon} ($\varepsilon$) and
95 are viewed as the perturbation to the
96 ``ideal'' to yield the ``actual''; so that a negative error
97 term leads to a result less than than it
98 ``should'' be, and a positive
99 error term leads to a result greater than
100 it ``should'' be. If the \emph{floor($\cdot{}$)}
101 is used to model quantization, the relationship
102 in (\ref{eq:cqua0:smoq:004}) holds.
103
104 \begin{equation}
105 \label{eq:cqua0:smoq:004}
106 \lfloor x \rfloor = x - \varepsilon{}; \; \varepsilon \in [0,1)
107 \end{equation}
108
109
110 \section{Error Analysis Of Addition Of Quantized Inputs}
111 %Section tag: eaqi
112
113 If we add two quantized values $\lfloor a \rfloor$ and
114 $\lfloor b \rfloor$, both $a$ and $b$ contain quantization
115 error, and a question of interest is how much
116 error the sum $\lfloor a \rfloor + \lfloor b \rfloor$ may
117 contain; that is, how different it may be from $a+b$.\footnote{For
118 addition and subtraction, this question is nearly trivial; but for
119 multiplication and division the relationships are more complex; and for
120 an arbitrary network of addition, subtraction, multiplication, and
121 division we are not sure how to answer this question easily.
122 Please see \ldots{}.}
123 We seek an inequality which bounds
124
125 \begin{equation}
126 \label{eq:cqua0:eaqi:001}
127 \varepsilon{} = \left( {\lfloor a \rfloor + \lfloor b \rfloor} \right)
128 - \left( {a + b} \right) .
129 \end{equation}
130
131 Noting that quantization introduces an error $\varepsilon \in [0,1)$
132 (Eq. \ref{eq:cqua0:stqn:004}) leads to
133 (\ref{eq:cqua0:eaqi:002}) and (\ref{eq:cqua0:eaqi:003}), which are equivalent statements.
134
135 \begin{equation}
136 \label{eq:cqua0:eaqi:002}
137 a + b - 2 < \lfloor a \rfloor + \lfloor b \rfloor \leq a + b
138 \end{equation}
139
140 \begin{equation}
141 \label{eq:cqua0:eaqi:003}
142 \varepsilon \in (-2,0]
143 \end{equation}
144
145 Extending (\ref{eq:cqua0:eaqi:002}) and (\ref{eq:cqua0:eaqi:003})
146 to an arbitrary number $N \in \vworkintsetpos{}$ of quantized inputs leads to
147 (\ref{eq:cqua0:eaqi:004}) and (\ref{eq:cqua0:eaqi:005}),
148 which are equivalent statements.
149
150 \begin{equation}
151 \label{eq:cqua0:eaqi:004}
152 \sum_{i=1}^{N} x_i - N < \sum_{i=1}^{N} \lfloor x_i \rfloor \leq \sum_{i=1}^{N} x_i
153 \end{equation}
154
155 \begin{equation}
156 \label{eq:cqua0:eaqi:005}
157 \varepsilon \in (-N,0]
158 \end{equation}
159
160 \section{Error Analysis Of Subtraction Of Quantized Inputs}
161
162 \section{Error Analysis Of Multiplication Of Quantized Inputs}
163
164 \section{Error Analysis Of Division Of Quantized Inputs}
165
166 \begin{equation}
167 \frac{p-1}{q}
168 <
169 \frac{\lfloor p \rfloor}{\lfloor q \rfloor}
170 <
171 \frac{p}{q-1}; \; p,q > 1
172 \end{equation}
173
174 \section{Error Analysis Of Arbitrary Algebraic Functions}
175
176 \section{Error Analysis Of Rational Sweeps}
177
178 \section{Exercises}
179
180
181 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
182
183 \noindent\begin{figure}[!b]
184 \noindent\rule[-0.25in]{\textwidth}{1pt}
185 \begin{tiny}
186 \begin{verbatim}
187 $RCSfile: c_qua0.tex,v $
188 $Source: /home/dashley/cvsrep/e3ft_gpl01/e3ft_gpl01/dtaipubs/esrgubka/c_qua0/c_qua0.tex,v $
189 $Revision: 1.3 $
190 $Author: dtashley $
191 $Date: 2001/06/29 23:40:53 $
192 \end{verbatim}
193 \end{tiny}
194 \noindent\rule[0.25in]{\textwidth}{1pt}
195 \end{figure}
196
197 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
198 % $Log: c_qua0.tex,v $
199 % Revision 1.3 2001/06/29 23:40:53 dtashley
200 % Spelling mistake corrected.
201 %
202 % Revision 1.2 2001/06/29 23:39:56 dtashley
203 % Conversion from binary to CVS archives.
204 %
205 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
206 % $History: c_qua0.tex $
207 %
208 % ***************** Version 3 *****************
209 % User: Dashley1 Date: 12/22/00 Time: 12:56a
210 % Updated in $/uC Software Multi-Volume Book (A)/Chapter, QUA0, Quantization
211 % Tcl automated method of build refined.
212 %
213 % ***************** Version 2 *****************
214 % User: David T. Ashley Date: 7/11/00 Time: 8:30p
215 % Updated in $/uC Software Multi-Volume Book (A)/Chapter, QUA0, Quantization
216 % Separation and enhancement of quantization chapter.
217 %
218 % ***************** Version 1 *****************
219 % User: David T. Ashley Date: 7/11/00 Time: 6:07p
220 % Created in $/uC Software Multi-Volume Book (A)/Chapter, QUA0, Quantization
221 % Initial check-in.
222 %
223 %End of file C_QUA0.TEX

dashley@gmail.com
ViewVC Help
Powered by ViewVC 1.1.25