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