From 961aed44358c71a04ebcb5aace3d3be4cff962f4 Mon Sep 17 00:00:00 2001
From: =?utf8?q?St=C3=A9phane=20Domas?=
 <sdomas@prodigy.iut-bm.univ-fcomte.fr>
Date: Fri, 21 Oct 2011 15:55:32 +0200
Subject: [PATCH] =?utf8?q?11=C3=A8me=20:=20-=20moidf=20resultat=20XP?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

---
 dmems12.tex  | 179 ++++++++++++++++++++++++++++-----------------------
 lever-xp.jpg | Bin 0 -> 27346 bytes
 2 files changed, 100 insertions(+), 79 deletions(-)
 create mode 100644 lever-xp.jpg

diff --git a/dmems12.tex b/dmems12.tex
index 534a689..10db624 100644
--- a/dmems12.tex
+++ b/dmems12.tex
@@ -44,7 +44,7 @@
 
 
 
-\title{Using FPGAs for high speed and real time cantilever deflection estimation}
+\title{A new approach based on least square methods to estimate in real time cantilevers deflection with a FPGA}
 \author{\IEEEauthorblockN{Raphaël Couturier\IEEEauthorrefmark{1}, Stéphane Domas\IEEEauthorrefmark{1}, Gwenhaël Goavec-Merou\IEEEauthorrefmark{2} and Michel Lenczner\IEEEauthorrefmark{2}}
 \IEEEauthorblockA{\IEEEauthorrefmark{1}FEMTO-ST, DISC, University of Franche-Comte, Belfort, France\\
 \{raphael.couturier,stephane.domas\}@univ-fcomte.fr}
@@ -90,19 +90,18 @@ the cantiliver which result in a complex fabrication process.
 
 In this  paper our attention is focused  on a method based  on interferometry to
 measure cantilevers' displacements.  In  this method cantilevers are illuminated
-by  an optic  source. The  interferometry produces  fringes on  each cantilevers
+by  an optic  source. The  interferometry produces  fringes on  each cantilever
 which enables to  compute the cantilever displacement.  In  order to analyze the
 fringes a  high speed camera  is used. Images  need to be processed  quickly and
 then  a estimation  method is  required to  determine the  displacement  of each
-cantilever.  In~\cite{AFMCSEM11},  the authors have  used an algorithm  based on
+cantilever.  In~\cite{AFMCSEM11},  authors have  used an algorithm  based on
 spline to estimate the cantilevers' positions.
 
-   The overall  process gives
-accurate results  but all the computation  are performed on  a standard computer
-using labview.  Consequently,  the main drawback of this  implementation is that
-the computer is a bootleneck in the overall process. In this paper we propose to
-use a  method based on least  square and to  implement all the computation  on a
-FGPA.
+The overall process gives accurate results but all the computations
+are performed on a standard computer using LabView.  Consequently, the
+main drawback of this implementation is that the computer is a
+bootleneck. In this paper we propose to use a method based on least
+square and to implement all the computation on a FGPA.
 
 The remainder  of the paper  is organized as  follows. Section~\ref{sec:measure}
 describes  more precisely  the measurement  process. Our  solution based  on the
@@ -118,13 +117,6 @@ presented.
 \section{Measurement principles}
 \label{sec:measure}
 
-
-
-
-
-
-
-
 \subsection{Architecture}
 \label{sec:archi}
 %% description de l'architecture générale de l'acquisition d'images
@@ -138,24 +130,26 @@ deflection scheme and  sentitive to the angular displacement  of the cantilever,
 interferometry  is sensitive  to  the  optical path  difference  induced by  the
 vertical displacement of the cantilever.
 
-The system build  by authors of~\cite{AFMCSEM11} has been  developped based on a
-Linnick     interferomter~\cite{Sinclair:05}.    It     is     illustrated    in
-Figure~\ref{fig:AFM}.  A  laser diode  is first split  (by the splitter)  into a
-reference beam and a sample beam  that reachs the cantilever array.  In order to
-be  able to  move  the cantilever  array, it  is  mounted on  a translation  and
-rotational hexapod  stage with  five degrees of  freedom. The optical  system is
-also fixed to the stage.  Thus,  the cantilever array is centered in the optical
-system which  can be adjusted accurately.   The beam illuminates the  array by a
-microscope objective  and the  light reflects on  the cantilevers.  Likewise the
-reference beam  reflects on a  movable mirror.  A  CMOS camera chip  records the
-reference and  sample beams which  are recombined in  the beam splitter  and the
-interferogram.   At the  beginning of  each  experiment, the  movable mirror  is
-fitted  manually in  order to  align the  interferometric  fringes approximately
-parallel  to the cantilevers.   When cantilevers  move due  to the  surface, the
-bending of  cantilevers produce  movements in the  fringes that can  be detected
-with    the    CMOS    camera.     Finally    the    fringes    need    to    be
-analyzed. In~\cite{AFMCSEM11}, the authors used a LabView program to compute the
-cantilevers' movements from the fringes.
+The system build by these authors is based on a Linnick
+interferomter~\cite{Sinclair:05}.  It is illustrated in
+Figure~\ref{fig:AFM}.  A laser diode is first split (by the splitter)
+into a reference beam and a sample beam that reachs the cantilever
+array.  In order to be able to move the cantilever array, it is
+mounted on a translation and rotational hexapod stage with five
+degrees of freedom. The optical system is also fixed to the stage.
+Thus, the cantilever array is centered in the optical system which can
+be adjusted accurately.  The beam illuminates the array by a
+microscope objective and the light reflects on the cantilevers.
+Likewise the reference beam reflects on a movable mirror.  A CMOS
+camera chip records the reference and sample beams which are
+recombined in the beam splitter and the interferogram.  At the
+beginning of each experiment, the movable mirror is fitted manually in
+order to align the interferometric fringes approximately parallel to
+the cantilevers.  When cantilevers move due to the surface, the
+bending of cantilevers produce movements in the fringes that can be
+detected with the CMOS camera.  Finally the fringes need to be
+analyzed. In~\cite{AFMCSEM11}, authors used a LabView program to
+compute the cantilevers' deflections from the fringes.
 
 \begin{figure}    
 \begin{center}
@@ -171,21 +165,29 @@ cantilevers' movements from the fringes.
 \subsection{Cantilever deflection estimation}
 \label{sec:deflest}
 
-As shown on image \ref{img:img-xp}, each cantilever is covered by
-interferometric fringes. The fringes will distort when cantilevers are
-deflected. Estimating the deflection is done by computing this
-distortion. For that, (ref A. Meister + M Favre) proposed a method
-based on computing the phase of the fringes, at the base of each
-cantilever, near the tip, and on the base of the array. They assume
-that a linear relation binds these phases, which can be use to
-"unwrap" the phase at the tip and to determine the deflection.\\
-
-More precisely, segment of pixels are extracted from images taken by a
-high-speed camera. These segments are large enough to cover several
-interferometric fringes and are placed at the base and near the tip of
-the cantilevers. They are called base profile and tip profile in the
-following. Furthermore, a reference profile is taken on the base of
-the cantilever array.
+\begin{figure}    
+\begin{center}
+\includegraphics[width=\columnwidth]{lever-xp}
+\end{center}
+\caption{Portion of an image picked by the camera}
+\label{fig:img-xp}   
+\end{figure}
+
+As shown on image \ref{fig:img-xp}, each cantilever is covered by
+several interferometric fringes. The fringes will distort when
+cantilevers are deflected. Estimating the deflection is done by
+computing this distortion. For that, authors of \cite{AFMCSEM11}
+proposed a method based on computing the phase of the fringes, at the
+base of each cantilever, near the tip, and on the base of the
+array. They assume that a linear relation binds these phases, which
+can be use to "unwrap" the phase at the tip and to determine the deflection.\\
+
+More precisely, segment of pixels are extracted from images taken by
+the camera. These segments are large enough to cover several
+interferometric fringes. As said above, they are placed at the base
+and near the tip of the cantilevers. They are called base profile and
+tip profile in the following. Furthermore, a reference profile is
+taken on the base of the cantilever array.
 
 The pixels intensity $I$ (in gray level) of each profile is modelized by:
 
@@ -344,10 +346,11 @@ that communicate between i.MX and Spartan6, using Spartan3 as a
 tunnel. By default, the WEIM interface provides a clock signal at
 100MHz that is connected to dedicated FPGA pins.
 
-The Spartan6 is an LX100 version. It has 15822 slices, equivalent to
-101261 logic cells. There are 268 internal block RAM of 18Kbits, and
-180 dedicated multiply-adders (named DSP48), which is largely enough
-for our project.
+The Spartan6 is an LX100 version. It has 15822 slices, each slice
+containing 4 LUTs and 8 flip/flops. It is equivalent to 101261 logic
+cells. There are 268 internal block RAM of 18Kbits, and 180 dedicated
+multiply-adders (named DSP48), which is largely enough for our
+project.
 
 Some I/O pins of Spartan6 are connected to two $2\times 17$ headers
 that can be used as user wants. For the project, they will be
@@ -362,18 +365,18 @@ phase. The second one, detailed in this article, is based on a
 classical least square method but suppose that frequency is already
 known.
 
-\subsubsection{Spline algorithm}
+\subsubsection{Spline algorithm (SPL)}
 \label{sec:algo-spline}
 Let consider a profile $P$, that is a segment of $M$ pixels with an
 intensity in gray levels. Let call $I(x)$ the intensity of profile in $x
 \in [0,M[$. 
 
-At  first, only $M$  values of  $I$ are  known, for  $x =  0, 1,  \ldots,M-1$. A
-normalisation  allows  to scale  known  intensities  into  $[-1,1]$. We  compute
-splines  that fit  at best  these normalised  intensities. Splines  (SPL  in the
-following) are  used to interpolate $N  = k\times M$ points  (typically $k=4$ is
-sufficient), within $[0,M[$. Let call  $x^s$ the coordinates of these $N$ points
-    and $I^s$ their intensities.
+At first, only $M$ values of $I$ are known, for $x = 0, 1,
+\ldots,M-1$. A normalisation allows to scale known intensities into
+$[-1,1]$. We compute splines that fit at best these normalised
+intensities. Splines are used to interpolate $N = k\times M$ points
+(typically $k=4$ is sufficient), within $[0,M[$. Let call $x^s$ the
+coordinates of these $N$ points and $I^s$ their intensities.
 
 In order to have the frequency, the mean line $a.x+b$ (see equation \ref{equ:profile}) of $I^s$ is
 computed. Finding intersections of $I^s$ and this line allow to obtain
@@ -394,7 +397,7 @@ Two things can be noticed:
   computation of $\theta$.
 \end{itemize}
 
-\subsubsection{Least square algorithm}
+\subsubsection{Least square algorithm (LSQ)}
 
 Assuming that we compute the phase during the acquisition loop,
 equation \ref{equ:profile} has only 4 parameters: $a, b, A$, and
@@ -694,24 +697,42 @@ will include real experiments in the final version of this paper.
 % - en parallèle : simulink et VHDL à la main
 
 
-From the  LSQ algorithm,  we have written  a C  program which uses  only integer
-values  that have  been  previously  scaled. The  quantization  of doubles  into
-integers has  been performed  in order  to obtain a  good trade-off  between the
-number of bits  used and the precision. We have  compared the result of
-the LSQ version  using integers and doubles. We have observed  that the results of
-both versions were similar.
-
-Then we have built  two versions of VHDL codes: one directly  by hand coding and
-the     other     with    Matlab     using     the     Simulink    HDL     coder
-feature~\cite{HDLCoder}. Although  the approach is completely  different we have
-obtain VHDL  codes that are quite  comparable. Each approach  has advantages and
-drawbacks.   Roughly speaking, hand  coding provides  beautiful and  much better
-structured code  while HDL  coder provides  code faster.  In  terms of  speed of
-code, we  think that both  approaches will be  quite comparable with  a slightly
-advantage for hand coding.  We hope that real experiments will confirm that.  In
-the  LSQ algorithm, we  have replaced  all the  divisions by  multiplications by
-constants since divisions  are performed with constants depending  of the number
-of pixels in the profile (i.e. $M$).
+From the LSQ algorithm, we have written a C program that uses only
+integer values. We use a very simple quantization by multiplying
+double precision values by a power of two, keeping the integer
+part. For example, all values stored in lut$_s$, lut$_c$, $\ldots$ are
+scaled by 1024.  Since LSQ also computes average, variance, ... to
+remove the slope, the result of implied euclidian divisions may be
+relatively wrong. To avoid that, we also scale the pixel intensities
+by a power of two. Futhermore, assuming $nb_s$ is fixed, these
+divisions have a knonw denominator. Thus, they can be replaced by
+their multiplication/shift counterpart. Finally, all other
+multiplications or divisions by a power of two have been replaced by
+left or right bit shifts. By the way, the code only contains
+additions, substractions and multiplications of signed integers, which
+is perfectly adapted to FGPAs.
+
+As said above, hardware constraints have a great influence on the VHDL
+implementation. Consequently, we searched the maximum value of each
+variable as a function of the different scale factors and the size of
+profiles, which gives their maximum size in bits. That size determines
+the maximum scale factors that allow to use the least possible RAMs
+and DSPs. Actually, we implemented our algorithm with this maximum
+size but current works study the impact of quantization on the results
+precision and design complexity. We have compared the result of the
+LSQ version using integers and doubles and observed that the precision
+of both were similar.
+
+Then we built two versions of VHDL codes: one directly by hand coding
+and the other with Matlab using the Simulink HDL coder
+feature~\cite{HDLCoder}. Although the approach is completely different
+we obtained VHDL codes that are quite comparable. Each approach has
+advantages and drawbacks.  Roughly speaking, hand coding provides
+beautiful and much better structured code while Simulink allows to
+produce a code faster.  In terms of throughput and latency,
+simulations shows that the two approaches are close with a slight
+advantage for hand coding.  We hope that real experiments will confirm
+that.
 
 \subsection{Simulation}
 
diff --git a/lever-xp.jpg b/lever-xp.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..37beb0824cb71984c4a86f6e2e9c6a296ce5df05
GIT binary patch
literal 27346
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

literal 0
HcmV?d00001

-- 
2.39.5