Commit 4c7d37b914796ee9d5bab67878745c2a96d60006

Authored by jfriedt
1 parent 77328a1b2a
Exists in master

schemas

Showing 3 changed files with 154 additions and 48 deletions 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.7cm} 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}{%
G. \textsc{Goavec-M\'erou},\\ 50
P.-Y. \textsc{Bourgeois}, J.-M \textsc{Friedt}\\ 51
$^{*}$FEMTO-ST, Time \& Frequency dept., Besan\c con, France 52
} 53
\addalignedblock{0.28\textwidth}{center}{% 54
A. \textsc{Hugeat}$^{*}$, J. \textsc{Bernard}\\ 55 50 A. \textsc{Hugeat}$^{*}$, J. \textsc{Bernard}\\
~\\ 56 51 ~\\
FEMTO-ST, DISC dept., Besan\c con, France 57 52 FEMTO-ST, DISC dept., Besan\c con, France
} 58 53 }
54 \addalignedblock{0.28\textwidth}{center}{%
55 G. \textsc{Goavec-Merou},\\
56 P.-Y. \textsc{Bourgeois}, J.-M \textsc{Friedt}\\
57 $^{*}$FEMTO-ST, Time \& Frequency dept., Besan\c con, France
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{-.71cm} 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}
69 %\begin{minipage}[t]{\linewidth}
70 %\begin{minipage}{.7\linewidth}
\begin{itemize}[leftmargin=*] 69 71 \begin{itemize}[leftmargin=*]
\setlength{\itemsep}{0pt}% 70 72 \setlength{\itemsep}{0pt}%
\setlength{\parskip}{0pt}% 71 73 \setlength{\parskip}{0pt}%
\item 72 74 \item
{\bf Digital phase noise characterization}: flexibility (software defined local 73 75 {\bf Digital phase noise characterization}: flexibility (software defined local
oscillator), stability (no long term drift), reconfigurabilty 74 76 oscillator),\\ stability (no long term drift), reconfigurabilty
$\Rightarrow$ {\bf software defined radio} oscillator phase noise 75 77 $\Rightarrow$ {\bf software defined radio} oscillator \\
characterization 76 78 phase noise characterization
\item analog to digital conversion of radiofrequency signal, software 77 79 \item analog to digital conversion of radiofrequency signal, software
defined local oscillator, mixer and {\bf low pass filter} 78 80 defined local oscillator,
81 mixer and {\bf low pass filter}
\item low pass filter uses most resources and introduces latency (phase delay 79 82 \item low pass filter uses most resources and introduces latency (phase delay
in feedback loop): needs to be optimized 80 83 in feedback loop): needs to be optimized
\end{itemize} 81 84 \end{itemize}
85 %\end{minipage}
86 %\begin{minipage}{.28\linewidth}
82 87
\vspace{-.21cm} 83 88 \vspace{-3cm}\hfill\includegraphics[width=.28\linewidth]{schema}
89 %\end{minipage}
90 %\end{minipage}
91
92 \vspace{1.21cm}
\hrule{\hfill} 84 93 \hrule{\hfill}
% Second part 85 94 % Second part
\vspace{-.71cm} 86 95 \vspace{-.61cm}
\newsection{Filter design and implementation strategy:} 87 96 \newsection{Filter design and implementation strategy:}
%\begin{itemize}[leftmargin=*] 88 97 %\begin{itemize}[leftmargin=*]
%\setlength{\itemsep}{0pt}% 89 98 %\setlength{\itemsep}{0pt}%
%\setlength{\parskip}{0pt}% 90 99 %\setlength{\parskip}{0pt}%
\vspace{-.41cm} 91 100 \vspace{-.40cm}
\addblock{0.48\textwidth}{ 92 101 \addblock{0.44\textwidth}{
\begin{enumerate}[noitemsep,nolistsep] 93 102 % \begin{enumerate}[noitemsep,nolistsep]
\item \textbf{Classical way:}\\ 94 103 % \item
104 \textbf{Classical way:}\\
Compute the transfer function of a monolithic filter 95 105 Compute the transfer function of a monolithic filter
\begin{itemize}[label=$\Rightarrow$, noitemsep, nolistsep] 96 106 \begin{itemize}[label=$\Rightarrow$, noitemsep, nolistsep]
{\color{Green}\item Simplest way to design filter} 97 107 {\color{Green}\item Simplest way to design filter}
{\color{Green}\item Great rejection} 98 108 {\color{Green}\item Great rejection}
{\color{Red}\item Consume lot of resources on FPGA} 99 109 {\color{Red}\item Consume lot of resources on FPGA}
\end{itemize} 100 110 \end{itemize}
\end{enumerate} 101 111 % \end{enumerate}
} 102 112 }
\addblock{0.48\textwidth}{ 103 113 \addblock{0.40\textwidth}{
\begin{enumerate} 104 114 % \begin{enumerate}
\setcounter{enumi}{1} 105 115 % \setcounter{enumi}{1}
\item \textbf{Alternative way (our focus):}\\ 106 116 % \item
117 \textbf{Alternative way (our focus):}\\
Chain of small filters 107 118 Chain of small filters
\begin{itemize}[label=$\Rightarrow$, noitemsep, nolistsep] 108 119 \begin{itemize}[label=$\Rightarrow$, noitemsep, nolistsep]
{\color{Green}\item Great rejection} 109 120 {\color{Green}\item Great rejection}
{\color{Green}\item Consume less resources on FPGA} 110 121 {\color{Green}\item Consume less resources on FPGA}
{\color{Red}\item Harder way to design filter} 111 122 {\color{Red}\item Harder way to design filter}
\end{itemize} 112 123 \end{itemize}
\end{enumerate} 113 124 % \end{enumerate}
} 114 125 }
126
127 \vspace{-2.6cm}\hfill\includegraphics[width=.2\linewidth]{schema2}
128 \vspace{-0.3cm}
129
The 2\textsuperscript{nd} way could be considered as an optimization problem: 115 130 The 2\textsuperscript{nd} way could be considered as an optimization problem:
\begin{itemize}[noitemsep,nolistsep] 116 131 \begin{itemize}[noitemsep,nolistsep]
\item One or many {\bf performance criteria} (rejection, noise, 117 132 \item One or many {\bf performance criteria} (rejection, noise,
throughput...) 118 133 throughput...)
\item Limited {\bf resources} (on FPGA) 119 134 \item Limited {\bf resources} (on FPGA)
\end{itemize} 120 135 \end{itemize}
Translation into a Mixed-Integer Linear Programming (MILP) with GLPK solver 121 136 Translation into a Mixed-Integer Linear Programming (MILP) with GLPK solver
3 degrees of freedom: 122 137 3 degrees of freedom:
123 138
\vspace{.1cm} 124 139 \vspace{.1cm}
\hfill 125 140 %\parbox{.60\linewidth}{
\parbox{.60\linewidth}{ 126 141 % \begin{enumerate}[noitemsep,nolistsep]
\begin{enumerate}[noitemsep,nolistsep] 127 142 % \item
\item The size of chain filters 128 143 \noindent
\item The number of coefficients for each filter $i$: $N_i$ 129 144 size of chain filters,
\item The number of bits for each coefficients and for each filter $i$: $c_i$ 130 145 % \item
\end{enumerate} 131 146 number of coefficients for each filter $i$: $N_i$,
} 132 147 % \item
148 number of bits for each coefficients and for each filter $i$: $c_i$
149 % \end{enumerate}
150 %}
%\end{itemize} 133 151 %\end{itemize}
\vspace{-1.0cm} 134 152 \vspace{-0.5cm}
\newsection{Filter selection} 135 153 \newsection{Filter selection}
\vspace{-0.3cm} 136 154 \vspace{-0.3cm}
\begin{itemize}[noitemsep,nolistsep] 137 155 \begin{itemize}[noitemsep,nolistsep]
\item For select the filter design we need to evaluate the rejection like: 138 156 \item For select the filter design we need to evaluate the rejection like:
\begin{enumerate}[noitemsep,nolistsep] 139 157
\item The mean value of rejection 140 158 % \begin{enumerate}[noitemsep,nolistsep]
\item The median value of rejection 141 159 % \item The mean 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) 142 160 % \item The median value of rejection
\end{enumerate} 143 161 % \item A custom criterion (we penalize the rejection in base band and we keep only the maximum rejection on the filter tail)
162 % \end{enumerate}
\begin{minipage}[t]{0.30\textwidth} 144 163 \begin{minipage}[t]{0.30\textwidth}
\includegraphics[width=0.95\textwidth]{images/noise-rejection-mean} 145 164 \includegraphics[width=0.95\textwidth]{images/noise-rejection-mean}
\captionof{figure}{Mean criterion} 146 165 %\captionof{figure}
166 {Criterion=mean value of rejection}
\end{minipage} 147 167 \end{minipage}
\begin{minipage}[t]{0.30\textwidth} 148 168 \begin{minipage}[t]{0.30\textwidth}
\includegraphics[width=0.95\textwidth]{images/noise-rejection-median} 149 169 \includegraphics[width=0.95\textwidth]{images/noise-rejection-median}
\captionof{figure}{Median criterion} 150 170 % \captionof{figure}{
171 {Criterion=median value of rejection}
\end{minipage} 151 172 \end{minipage}
\begin{minipage}[t]{0.30\textwidth} 152 173 \begin{minipage}[t]{0.30\textwidth}
\includegraphics[width=0.95\textwidth]{images/noise-rejection-custom} 153 174 \includegraphics[width=0.95\textwidth]{images/noise-rejection-custom}
\captionof{figure}{Custom criterion} 154 175 % \captionof{figure}
176 {Criterion=max value of rejection}
\end{minipage} 155 177 \end{minipage}
178 \vspace{0.4cm}
\item All rejection criteria produce the same kind of result: the best filters seem to be in the edge of pyramid 156 179 \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\\ 157 180 \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} 158 181 \begin{minipage}[t]{0.30\textwidth}
\includegraphics[width=0.95\textwidth]{images/fir-mono-vs-fir-series-noise-fixe-mean.pdf} 159 182 \includegraphics[width=0.95\textwidth]{images/fir-mono-vs-fir-series-noise-fixe-mean.pdf}
\captionof{figure}{Mean criterion} 160 183 % \captionof{figure}{
184 {Criterion=mean value of rejection}
\end{minipage} 161 185 \end{minipage}
\begin{minipage}[t]{0.30\textwidth} 162 186 \begin{minipage}[t]{0.30\textwidth}
\includegraphics[width=0.95\textwidth]{images/fir-mono-vs-fir-series-noise-fixe-median.pdf} 163 187 \includegraphics[width=0.95\textwidth]{images/fir-mono-vs-fir-series-noise-fixe-median.pdf}
\captionof{figure}{Median criterion} 164 188 % \captionof{figure}
189 {Criterion=median value of rejection}
\end{minipage} 165 190 \end{minipage}
\begin{minipage}[t]{0.30\textwidth} 166 191 \begin{minipage}[t]{0.30\textwidth}
\includegraphics[width=0.95\textwidth]{images/fir-mono-vs-fir-series-noise-fixe-jmf.pdf} 167 192 \includegraphics[width=0.95\textwidth]{images/fir-mono-vs-fir-series-noise-fixe-jmf.pdf}
\captionof{figure}{Custom criterion} 168 193 % \captionof{figure}
194 {Criterion=max value of rejection}
\end{minipage} 169 195 \end{minipage}
<<<<<<< HEAD 170 196 \vspace{0.4cm}
\item {\bf Rejection}: the last configuration is better than the first but worse 171 197 \item {\bf Rejection}: the last configuration is better than the first but worse
than the monolithic filter 172 198 than the monolithic filter
\item Resources {\bf consumption}: last filter is better than the single monolithic filter 173 199 \item Resources {\bf consumption}: last filter is better than the single monolithic filter
(monolithic does not fit in available resources) 174 200 (monolithic does not fit in available resources)
\vspace{-.33cm} 175 201 \vspace{-.33cm}
======= 176
\item For the rejection: the last configuration is better than the first one but it's worst than monolithic filter 177
\item For the resources consumption: the last one is better than the single filter 178
>>>>>>> de0f544773b03c4215f07cea693fc7eb145ff20a 179
\begin{center} 180 202 \begin{center}
\begin{tabular}{|c|ccccc|}\hline 181 203 \begin{tabular}{|c|ccccc|}\hline
FIR & BlockRAM36 & BlockRAM18 & LookUpTables & DSP & rejection (dB)\\\hline\hline 182 204 FIR & BlockRAM36 & BlockRAM18 & LookUpTables & DSP & rejection (dB)\\\hline\hline
1 (monolithic) & 1 & 0 & {\color{Red}76183} & 220 & -162 \\ 183 205 1 (monolithic) & 1 & 0 & {\color{Red}76183} & 220 & -162 \\
5 & 0 & 5 & {\color{Green}18597} & 220 & -160 \\ 184 206 5 & 0 & 5 & {\color{Green}18597} & 220 & -160 \\
10 & 0 & 8 & {\color{Green}24729} & 220 & -161 \\\hline\hline 185 207 10 & 0 & 8 & {\color{Green}24729} & 220 & -161 \\\hline\hline
\textbf{Zynq 7020} & \textbf{140} & \textbf{280} & \textbf{53200} & \textbf{220} & \\\hline 186 208 \textbf{Zynq 7020} & \textbf{140} & \textbf{280} & \textbf{53200} & \textbf{220} & \\\hline
\end{tabular} 187 209 \end{tabular}
% \captionof{table}{Resources consumption when we use the configuration with the custom criterion} 188 210 % \captionof{table}{Resources consumption when we use the configuration with the custom criterion}
\end{center} 189 211 \end{center}
\item Series of filters: targetd rejection level (-160~dB) reached since less 190 212 \item Series of filters: targetd rejection level (-160~dB) reached since less
resources are needed than with a monolithic filter 191 213 resources are needed than with a monolithic filter
\end{itemize} 192 214 \end{itemize}
\hrule{\hfill} 193 215 \hrule{\hfill}
194 216
\vspace{-.71cm} 195 217 \vspace{-.71cm}
\newsection{Conclusion} 196 218 \newsection{Conclusion}
197 219
\vspace{-.21cm} 198 220 \vspace{-.21cm}
\noindent 199 221 \noindent
FIR filter implementation in an FPGA as an optimization problem: best 200 222 FIR filter implementation in an FPGA as an optimization problem: best
results with cascaded filters with increasing number of coefficients 201 223 results with cascaded filters with increasing number of coefficients
and resolution 202 224 and resolution
\end{document} 203 225 \end{document}
204 226
File was created 1 #FIG 3.2 Produced by xfig version 3.2.6a
2 Landscape
3 Center
4 Metric
5 A4
6 100.00
7 Single
8 -2
9 1200 2
10 1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 4860 4140 270 270 4860 4140 5130 4140
11 1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 6210 4140 180 180 6210 4140 6390 4140
12 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
13 5130 4140 5310 4140 5490 3915
14 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
15 5310 4140 5490 4365 5850 4365 5850 3915 5490 3915
16 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
17 5850 4140 6030 4140
18 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
19 6075 4005 6345 4275
20 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
21 6345 4005 6120 4275
22 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
23 6210 4320 6210 4455
24 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
25 6390 4095 6525 4095
26 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
27 6390 4185 6525 4185
28 2 2 0 1 4 7 50 -1 -1 0.000 0 0 -1 0 0 5
29 6525 3960 6930 3960 6930 4320 6525 4320 6525 3960
30 2 1 0 1 4 7 50 -1 -1 0.000 0 0 -1 0 0 3
31 6570 4050 6795 4050 6885 4230
32 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
33 6930 4095 6975 4095
34 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
35 6930 4185 6975 4185
36 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
37 0 0 1.00 60.00 120.00
38 7065 4005 7065 4275
39 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
40 6975 3960 7155 3960 7155 4320 6975 4320 6975 3960
41 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
42 7155 4185 7200 4185
43 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
44 7155 4095 7200 4095
45 3 0 0 1 0 7 50 -1 -1 0.000 0 0 0 4
46 4680 4140 4770 3960 4950 4320 5040 4140
47 0.000 1.000 1.000 0.000
48 4 0 0 50 -1 0 12 0.0000 4 135 390 4680 4590 DUT\001
49 4 0 0 50 -1 0 12 0.0000 4 135 405 5400 4185 ADC\001
50 4 0 0 50 -1 0 12 0.0000 4 135 405 5985 4635 NCO\001
51 4 0 0 50 -1 0 8 0.0000 4 120 105 6390 4320 Q\001
52 4 0 0 50 -1 0 8 0.0000 4 90 45 6390 4050 I\001
53 4 0 0 50 -1 0 12 1.5708 4 120 345 7335 4320 atan\001
File was created 1 #FIG 3.2 Produced by xfig version 3.2.6a
2 Landscape
3 Center
4 Metric
5 A4
6 100.00
7 Single
8 -2
9 1200 2
10 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
11 0 0 1.00 60.00 120.00
12 4680 4680 4680 3510
13 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
14 0 0 1.00 60.00 120.00
15 4680 4680 6210 4680
16 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
17 4680 3780 5310 3780 6030 4680
18 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 1 2
19 0 0 1.00 60.00 120.00
20 0 0 1.00 60.00 120.00
21 4680 4050 5310 4050
22 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 1 2
23 0 0 1.00 60.00 120.00
24 0 0 1.00 60.00 120.00
25 5580 4050 6210 4050
26 4 0 0 50 -1 1 12 0.0000 4 135 120 4725 3645 P\001
27 4 0 0 50 -1 1 12 0.0000 4 180 60 6120 4590 f\001
28 4 0 0 50 -1 1 8 0.0000 4 90 540 4770 4230 BP=40%\001
29 4 0 0 50 -1 1 8 0.0000 4 90 570 5670 3960 BW=40%\001
30 4 0 0 50 -1 1 8 0.0000 4 120 525 5670 3825 rejection\001
31 4 0 0 50 -1 1 6 1.5708 4 75 1020 5535 4590 transition width=20%\001