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