Commit ef6d349d4f87d1d51e38e397728bdc2d5b67e390

Authored by jfriedt
Exists in master

ajouts suite a discussion avec Arthur

Showing 1 changed file Inline Diff

\documentclass[a4paper]{article} 1 1 \documentclass[a4paper]{article}
\usepackage[usenames,dvipsnames]{color} 2 2 \usepackage[usenames,dvipsnames]{color}
\usepackage[english]{babel} 3 3 \usepackage[english]{babel}
\usepackage{url,graphicx,enumitem,enumitem,caption} 4 4 \usepackage{url,graphicx,enumitem,enumitem,caption}
5 5
\definecolor{title_color}{rgb}{0.050980, 0.325490, 0.580392} 6 6 \definecolor{title_color}{rgb}{0.050980, 0.325490, 0.580392}
7 7
\newcommand{\newsection}[1] { 8 8 \newcommand{\newsection}[1] {
{\color{title_color}\section*{#1}} 9 9 {\color{title_color}\section*{#1}}
} 10 10 }
11 11
\newcommand{\addblock}[2] { 12 12 \newcommand{\addblock}[2] {
\begin{minipage}[t]{#1} 13 13 \begin{minipage}[t]{#1}
#2 14 14 #2
\end{minipage} 15 15 \end{minipage}
} 16 16 }
17 17
\newcommand{\addalignedblock}[3] { 18 18 \newcommand{\addalignedblock}[3] {
\begin{minipage}[c]{#1} 19 19 \begin{minipage}[c]{#1}
\begin{#2} 20 20 \begin{#2}
#3 21 21 #3
\end{#2} 22 22 \end{#2}
\end{minipage} 23 23 \end{minipage}
} 24 24 }
25 25
\textheight=29.7cm 26 26 \textheight=29.7cm
\topmargin=-3.6cm 27 27 \topmargin=-3.6cm
\oddsidemargin=-2cm 28 28 \oddsidemargin=-2cm
\textwidth=19.5cm 29 29 \textwidth=19.5cm
\pagestyle{empty} 30 30 \pagestyle{empty}
31 31
\begin{document} 32 32 \begin{document}
33 33
% Title 34 34 % Title
\begin{center} 35 35 \begin{center}
\textbf{{\scshape 36 36 \textbf{{\scshape
\LARGE\color{OliveGreen} 37 37 \LARGE\color{OliveGreen}
Filter optimization for real time digital processing of radiofrequency signals: application 38 38 Filter optimization for real time digital processing of radiofrequency signals: application
to oscillator metrology 39 39 to oscillator metrology
\\}} 40 40 \\}}
\end{center} 41 41 \end{center}
42 42
\vspace{-0.35cm} 43 43 \vspace{-0.35cm}
% Authors 44 44 % Authors
\begin{center} 45 45 \begin{center}
\addalignedblock{0.18\textwidth}{flushleft}{% 46 46 \addalignedblock{0.18\textwidth}{flushleft}{%
\includegraphics[height=1.6cm]{images/logo_ubfc} 47 47 \includegraphics[height=1.6cm]{images/logo_ubfc}
} 48 48 }
\addalignedblock{0.28\textwidth}{center}{% 49 49 \addalignedblock{0.28\textwidth}{center}{%
A. \textsc{Hugeat}$^{*}$, J. \textsc{Bernard}\\ 50 50 A. \textsc{Hugeat}$^{*}$, J. \textsc{Bernard}\\
~\\ 51 51 ~\\
FEMTO-ST, DISC dept., Besan\c con, France 52 52 FEMTO-ST, DISC dept., Besan\c con, France
} 53 53 }
\addalignedblock{0.28\textwidth}{center}{% 54 54 \addalignedblock{0.28\textwidth}{center}{%
G. \textsc{Goavec-Merou},\\ 55 55 G. \textsc{Goavec-Merou},\\
P.-Y. \textsc{Bourgeois}, J.-M \textsc{Friedt}\\ 56 56 P.-Y. \textsc{Bourgeois}, J.-M \textsc{Friedt}\\
$^{*}$FEMTO-ST, Time \& Frequency dept., Besan\c con, France 57 57 $^{*}$FEMTO-ST, Time \& Frequency dept., Besan\c con, France
} 58 58 }
\addalignedblock{0.18\textwidth}{flushright}{% 59 59 \addalignedblock{0.18\textwidth}{flushright}{%
\includegraphics[height=1.4cm]{images/logo_femto} 60 60 \includegraphics[height=1.4cm]{images/logo_femto}
} 61 61 }
\end{center} 62 62 \end{center}
63 63
% First part 64 64 % First part
\vspace{-.61cm} 65 65 \vspace{-.61cm}
\newsection{Digital signal processing of ultrastable clock signals} 66 66 \newsection{Digital signal processing of ultrastable clock signals}
67 67
\vspace{-.21cm} 68 68 \vspace{-.21cm}
%\begin{minipage}[t]{\linewidth} 69 69 %\begin{minipage}[t]{\linewidth}
%\begin{minipage}{.7\linewidth} 70 70 %\begin{minipage}{.7\linewidth}
\begin{itemize}[leftmargin=*] 71 71 \begin{itemize}[leftmargin=*]
\setlength{\itemsep}{0pt}% 72 72 \setlength{\itemsep}{0pt}%
\setlength{\parskip}{0pt}% 73 73 \setlength{\parskip}{0pt}%
\item 74 74 \item
{\bf Digital phase noise characterization}: flexibility (software defined local 75 75 {\bf Digital phase noise characterization}: flexibility (software defined local
oscillator),\\ stability (no long term drift), reconfigurabilty 76 76 oscillator),\\ stability (no long term drift), reconfigurabilty
$\Rightarrow$ {\bf software defined radio} oscillator \\ 77 77 $\Rightarrow$ {\bf software defined radio} oscillator \\
phase noise characterization 78 78 phase noise characterization
\item analog to digital conversion of radiofrequency signal, software 79 79 \item analog to digital conversion of radiofrequency signal, software
defined local oscillator, 80 80 defined local oscillator,
mixer and {\bf low pass filter} 81 81 mixer and {\bf low pass filter}
\item low pass filter uses most resources and introduces latency (phase delay 82 82 \item low pass filter uses most resources and introduces latency (phase delay
in feedback loop): needs to be optimized 83 83 in feedback loop): needs to be optimized
\end{itemize} 84 84 \end{itemize}
%\end{minipage} 85 85 %\end{minipage}
%\begin{minipage}{.28\linewidth} 86 86 %\begin{minipage}{.28\linewidth}
87 87
\vspace{-3cm}\hfill\includegraphics[width=.28\linewidth]{schema} 88 88 \vspace{-3cm}\hfill\includegraphics[width=.28\linewidth]{schema}
%\end{minipage} 89 89 %\end{minipage}
%\end{minipage} 90 90 %\end{minipage}
91 91
\vspace{1.29cm} 92 92 \vspace{1.29cm}
\hrule{\hfill} 93 93 \hrule{\hfill}
% Second part 94 94 % Second part
\vspace{-.61cm} 95 95 \vspace{-.61cm}
\newsection{Filter design and implementation strategy:} 96 96 \newsection{Filter design and implementation strategy:}
%\begin{itemize}[leftmargin=*] 97 97 %\begin{itemize}[leftmargin=*]
%\setlength{\itemsep}{0pt}% 98 98 %\setlength{\itemsep}{0pt}%
%\setlength{\parskip}{0pt}% 99 99 %\setlength{\parskip}{0pt}%
\vspace{-.40cm} 100 100 \vspace{-.40cm}
\addblock{0.44\textwidth}{ 101 101 \addblock{0.44\textwidth}{
% \begin{enumerate}[noitemsep,nolistsep] 102 102 % \begin{enumerate}[noitemsep,nolistsep]
% \item 103 103 % \item
\textbf{1. Classical way:}\\ 104 104 \textbf{1. Classical way:}\\
Compute the transfer function of a monolithic filter 105 105 Compute the transfer function of a monolithic filter
\begin{itemize}[label=$\Rightarrow$, noitemsep, nolistsep] 106 106 \begin{itemize}[label=$\Rightarrow$, noitemsep, nolistsep]
{\color{Green}\item Simplest way to design filter} 107 107 {\color{Green}\item Simplest way to design filter}
{\color{Green}\item Great rejection} 108 108 {\color{Green}\item Great rejection}
{\color{Red}\item Consume lot of resources on FPGA} 109 109 {\color{Red}\item Consume lot of resources on FPGA}
\end{itemize} 110 110 \end{itemize}
% \end{enumerate} 111 111 % \end{enumerate}
} 112 112 }
\addblock{0.40\textwidth}{ 113 113 \addblock{0.40\textwidth}{
% \begin{enumerate} 114 114 % \begin{enumerate}
% \setcounter{enumi}{1} 115 115 % \setcounter{enumi}{1}
% \item 116 116 % \item
\textbf{2. Alternative way (our focus):}\\ 117 117 \textbf{2. Alternative way (our focus):}\\
Chain of small filters 118 118 Chain of small filters
\begin{itemize}[label=$\Rightarrow$, noitemsep, nolistsep] 119 119 \begin{itemize}[label=$\Rightarrow$, noitemsep, nolistsep]
{\color{Green}\item Great rejection} 120 120 {\color{Green}\item Fewer resource consumption on FPGA}
{\color{Green}\item Consume less resources on FPGA} 121 121 {\color{Green}\item Greater rejection}
{\color{Red}\item Harder way to design filter} 122 122 {\color{Red}\item Harder way to design filter}
\end{itemize} 123 123 \end{itemize}
% \end{enumerate} 124 124 % \end{enumerate}
} 125 125 }
126 126
\vspace{-2.6cm}\hfill\includegraphics[width=.2\linewidth]{schema2} 127 127 \vspace{-2.6cm}\hfill\includegraphics[width=.2\linewidth]{schema2}
\vspace{-0.3cm} 128 128 \vspace{-0.3cm}
129 129
The 2\textsuperscript{nd} way could be considered as an optimization problem: 130 130 The 2\textsuperscript{nd} way could be considered as an optimization problem:
\begin{itemize}[noitemsep,nolistsep] 131 131 \begin{itemize}[noitemsep,nolistsep]
\item One or many {\bf performance criteria} (rejection, noise, 132 132 \item One or many {\bf performance criteria} (rejection, noise,
throughput...) 133 133 throughput...)
\item Limited {\bf resources} (area on FPGA) \hfill {\bf each FIR outputs} $y_n=\sum_{k=0}^{N_i} 134 134 \item Limited {\bf resources} (area on FPGA) \hfill {\bf each FIR outputs} $y_n=\sum_{k=0}^{N_i}
\underbrace{b_{i_k}}_{c_i\mbox{ \footnotesize bits}}\times x_{n-k}$ 135 135 \underbrace{b_{i_k}}_{c_i\mbox{ \footnotesize bits}}\times x_{n-k}$
\end{itemize} 136 136 \end{itemize}
137 137
\vspace{-0.40cm} 138 138 \vspace{-0.40cm}
\noindent Expressed as a {\bf Mixed-Integer Linear Programming} (MILP) with GLPK solver 139 139 \noindent Expressed as a {\bf Mixed-Integer Linear Programming} (MILP) with GLPK solver
140 140
\noindent 3 degrees of freedom: number of filters, $N_i$ number of coeff. for each filter $i$, $c_i$ 141 141 \noindent 3 degrees of freedom: number of filters, $N_i$ number of coeff. for each filter $i$, $c_i$
number of bits for coefficients of filter $i$ 142 142 number of bits for coefficients of filter $i$
\vspace{.1cm} 143 143 \vspace{.1cm}
%\parbox{.60\linewidth}{ 144 144 %\parbox{.60\linewidth}{
% \begin{enumerate}[noitemsep,nolistsep] 145 145 % \begin{enumerate}[noitemsep,nolistsep]
% \item 146 146 % \item
\noindent 147 147 \noindent
% \item 148 148 % \item
% \item 149 149 % \item
% \end{enumerate} 150 150 % \end{enumerate}
%} 151 151 %}
%\end{itemize} 152 152 %\end{itemize}
\vspace{-0.5cm} 153 153 \vspace{-0.5cm}
\newsection{Filter selection} 154 154 \newsection{Filter selection}
\vspace{-0.3cm} 155 155 \vspace{-0.3cm}
\begin{itemize}[noitemsep,nolistsep] 156 156 \begin{itemize}[noitemsep,nolistsep]
\item For select the filter design we need to evaluate the rejection like: 157 157 \item For select the filter design we need to evaluate the rejection like:
158 158
% \begin{enumerate}[noitemsep,nolistsep] 159 159 % \begin{enumerate}[noitemsep,nolistsep]
% \item The mean value of rejection 160 160 % \item The mean value of rejection
% \item The median value of rejection 161 161 % \item The median value of rejection
% \item A custom criterion (we penalize the rejection in base band and we keep only the maximum rejection on the filter tail) 162 162 % \item A custom criterion (we penalize the rejection in base band and we keep only the maximum rejection on the filter tail)
% \end{enumerate} 163 163 % \end{enumerate}
\begin{minipage}[t]{0.30\textwidth} 164 164 \begin{minipage}[t]{0.30\textwidth}
\includegraphics[width=0.95\textwidth]{images/noise-rejection-mean} 165 165 \includegraphics[width=0.95\textwidth]{images/noise-rejection-mean}
%\captionof{figure} 166 166 %\captionof{figure}
{Criterion=mean value of rejection} 167 167 {Criterion=mean value of rejection}
\end{minipage} 168 168 \end{minipage}
\begin{minipage}[t]{0.30\textwidth} 169 169 \begin{minipage}[t]{0.30\textwidth}
\includegraphics[width=0.95\textwidth]{images/noise-rejection-median} 170 170 \includegraphics[width=0.95\textwidth]{images/noise-rejection-median}
% \captionof{figure}{ 171 171 % \captionof{figure}{
{Criterion=median value of rejection} 172 172 {Criterion=median value of rejection}
\end{minipage} 173 173 \end{minipage}
\begin{minipage}[t]{0.30\textwidth} 174 174 \begin{minipage}[t]{0.30\textwidth}
\includegraphics[width=0.95\textwidth]{images/noise-rejection-custom} 175 175 \includegraphics[width=0.95\textwidth]{images/noise-rejection-custom}
% \captionof{figure} 176 176 % \captionof{figure}
{Criterion=max value of rejection} 177 177 {Criterion=max value of rejection}
\end{minipage} 178 178 \end{minipage}
\vspace{0.4cm} 179 179 \vspace{0.4cm}
\item All rejection criteria produce the same kind of result: the best filters seem to be in the edge of pyramid 180 180 \item All rejection criteria produce the same kind of result: the best filters seem to be in the edge of pyramid
\item For each criteria, we associate the rejection to the related filter and we let GLPK choose the best configuration\\ 181 181 \item For each criteria, we associate the rejection to the related filter and we let GLPK choose the best configuration\\
\begin{minipage}[t]{0.30\textwidth} 182 182 \begin{minipage}[t]{0.30\textwidth}
\includegraphics[width=0.95\textwidth]{images/fir-mono-vs-fir-series-noise-fixe-mean.pdf} 183 183 \includegraphics[width=0.95\textwidth]{images/fir-mono-vs-fir-series-noise-fixe-mean.pdf}
% \captionof{figure}{ 184 184 % \captionof{figure}{
{Criterion=mean value of rejection} 185 185 {Criterion=mean value of rejection}
\end{minipage} 186 186 \end{minipage}
\begin{minipage}[t]{0.30\textwidth} 187 187 \begin{minipage}[t]{0.30\textwidth}
\includegraphics[width=0.95\textwidth]{images/fir-mono-vs-fir-series-noise-fixe-median.pdf} 188 188 \includegraphics[width=0.95\textwidth]{images/fir-mono-vs-fir-series-noise-fixe-median.pdf}
% \captionof{figure} 189 189 % \captionof{figure}
{Criterion=median value of rejection} 190 190 {Criterion=median value of rejection}
\end{minipage} 191 191 \end{minipage}
\begin{minipage}[t]{0.30\textwidth} 192 192 \begin{minipage}[t]{0.30\textwidth}
\includegraphics[width=0.95\textwidth]{images/fir-mono-vs-fir-series-noise-fixe-jmf.pdf} 193 193 \includegraphics[width=0.95\textwidth]{images/fir-mono-vs-fir-series-noise-fixe-jmf.pdf}
% \captionof{figure} 194 194 % \captionof{figure}
{Criterion=max value of rejection} 195 195 {Criterion=max value of rejection}
\end{minipage} 196 196 \end{minipage}
\vspace{0.4cm} 197 197 \vspace{0.4cm}
\item {\bf Rejection}: the last configuration is better than the first but worse 198 198 \item {\bf Rejection}: the last configuration is better than the first one but worse
than the monolithic filter 199 199 than the monolithic filter
\item Resource {\bf consumption} assessed by {\bf synthesizing designs in Vivado} (2017): filter cascade uses less 200 200 \item Resource {\bf consumption} assessed by {\bf synthesizing designs in Vivado} (2017): filter cascade uses less
resources than a single monolithic filter (too large to fit in Zedboard's Zynq 7020) 201 201 resources than a single monolithic filter (too large to fit in Zedboard's Zynq 7020)
\vspace{-.33cm} 202 202 \vspace{-.33cm}
\begin{center} 203 203 \begin{center}
\begin{tabular}{|c|ccccc|}\hline 204 204 \begin{tabular}{|c|ccccc|}\hline
FIR & BlockRAM36 & BlockRAM18 & LookUpTables & DSP & rejection (dB)\\\hline\hline 205 205 FIR & BlockRAM36 & BlockRAM18 & LookUpTables & DSP & rejection (dB)\\\hline\hline
1 (monolithic) & 1 & 0 & {\color{Red}76183} & 220 & -162 \\ 206 206 1 (monolithic) & 1 & 0 & {\color{Red}76183} & 220 & -162 \\
5 & 0 & 5 & {\color{Green}18597} & 220 & -160 \\ 207 207 5 & 0 & 5 & {\color{Green}18597} & 220 & -160 \\
10 & 0 & 8 & {\color{Green}24729} & 220 & -161 \\\hline\hline 208 208 10 & 0 & 8 & {\color{Green}24729} & 220 & -161 \\\hline\hline
\textbf{Zynq 7020} & \textbf{140} & \textbf{280} & \textbf{53200} & \textbf{220} & \\\hline 209 209 \textbf{Zynq 7020} & \textbf{140} & \textbf{280} & \textbf{53200} & \textbf{220} & \\\hline
\end{tabular} 210 210 \end{tabular}
% \captionof{table}{Resources consumption when we use the configuration with the custom criterion} 211 211 % \captionof{table}{Resources consumption when we use the configuration with the custom criterion}
\end{center} 212 212 \end{center}
\item Filter cascade: {\bf targeted rejection level} (-160~dB) reached with the max(rejection) criterion 213 213 \item Filter cascade: {\bf targeted rejection level} (-160~dB) reached with the max(rejection) criterion