Commit 33bcbbbcd854afd612381e6423a54a2548061470

Authored by jfriedt
1 parent e3580faaed
Exists in master

biblio en majuscules et description moyenne/median

Showing 3 changed files with 66 additions and 22 deletions Side-by-side Diff

1 1 @thesis{gwen-cogen,
2 2 author = {Gwenhaël Goavec-Merou},
3   -title = {Générateur de coprocesseur pour le traitement de données en flux (vidéo ou similaire) sur FPGA},
  3 +title = {Générateur de coprocesseur pour le traitement de données en flux (vidéo ou similaire) sur {FPGA}},
4 4 institution = {FEMTO-ST},
5 5 year = {2014}
6 6 }
... ... @@ -17,7 +17,7 @@
17 17 }
18 18  
19 19 @inproceedings{skeleton,
20   - title={High level programming for FPGA based image and video processing using hardware skeletons},
  20 + title={High level programming for {FPGA} based image and video processing using hardware skeletons},
21 21 author={Benkrid, Khaled and Crookes, Danny and Smith, J and Benkrid, Abdsamad},
22 22 booktitle={Field-Programmable Custom Computing Machines, 2001. FCCM'01. The 9th Annual IEEE Symposium on},
23 23 pages={219--226},
... ... @@ -37,7 +37,7 @@
37 37 }
38 38  
39 39 @phdthesis{these-dsp-fpga,
40   - title={Design methodologies and architectures for digital signal processing on FPGAs},
  40 + title={Design methodologies and architectures for digital signal processing on {FPGA}s},
41 41 author={Mirzaei, Shahnam},
42 42 year={2010},
43 43 school={UNIVERSITY OF CALIFORNIA SANTA BARBARA}
... ... @@ -101,7 +101,7 @@
101 101 }
102 102  
103 103 @article{salvador2012accelerating,
104   - title={Accelerating FPGA-based evolution of wavelet transform filters by optimized task scheduling},
  104 + title={Accelerating {FPGA}-based evolution of wavelet transform filters by optimized task scheduling},
105 105 author={Salvador, Ruben and Vidal, Alberto and Moreno, Felix and Riesgo, Teresa and Sekanina, Lukas},
106 106 journal={Microprocessors and Microsystems},
107 107 volume={36},
... ... @@ -156,7 +156,7 @@
156 156 }
157 157  
158 158 @inproceedings{crookes1998environment,
159   - title={An environment for generating FPGA architectures for image algebra-based algorithms},
  159 + title={An environment for generating {FPGA} architectures for image algebra-based algorithms},
160 160 author={Crookes, Danny and Alotaibi, Khalid and Bouridane, Ahmed and Donachy, Paul and Benkrid, Abdsamad},
161 161 booktitle={Image Processing, 1998. ICIP 98. Proceedings. 1998 International Conference on},
162 162 pages={990--994},
... ... @@ -165,7 +165,7 @@
165 165 }
166 166  
167 167 @article{crookes2000design,
168   - title={Design and implementation of a high level programming environment for FPGA-based image processing},
  168 + title={Design and implementation of a high level programming environment for {FPGA}-based image processing},
169 169 author={Crookes, D and Benkrid, K and Bouridane, A and Alotaibi, K and Benkrid, A},
170 170 journal={IEE Proceedings-Vision, Image and Signal Processing},
171 171 volume={147},
... ... @@ -176,7 +176,7 @@
176 176 }
177 177  
178 178 @article{benkrid2002towards,
179   - title={Towards a general framework for FPGA based image processing using hardware skeletons},
  179 + title={Towards a general framework for {FPGA} based image processing using hardware skeletons},
180 180 author={Benkrid, Khaled and Crookes, Danny and Benkrid, Abdsamad},
181 181 journal={Parallel Computing},
182 182 volume={28},
ifcs2018_proceeding.tex
... ... @@ -5,7 +5,7 @@
5 5 \usepackage{amssymb}
6 6 \usepackage{amsmath}
7 7 \usepackage{algorithm2e}
8   -\usepackage{url}
  8 +\usepackage{url,balance}
9 9 \usepackage[normalem]{ulem}
10 10 % correct bad hyphenation here
11 11 \hyphenation{op-tical net-works semi-conduc-tor}
... ... @@ -119,8 +119,9 @@
119 119 \begin{figure}[h!tb]
120 120 \includegraphics[width=\linewidth]{images/demo_filtre}
121 121 \caption{Impact of the quantization resolution of the coefficients: the quantization is
122   -set to 6~bits, setting the 30~first and 30~last coefficients out of the initial 128~band-pass
123   -filter coefficients to 0.}
  122 +set to 6~bits -- with the horizontal black lines indicating $\pm$1 least significant bit -- setting
  123 +the 30~first and 30~last coefficients out of the initial 128~band-pass
  124 +filter coefficients to 0 (red dots).}
124 125 \label{float_vs_int}
125 126 \end{figure}
126 127  
127 128  
128 129  
... ... @@ -153,15 +154,16 @@
153 154 An optimization problem \cite{leung2004handbook} aims at improving one or many
154 155 performance criteria within a constrained resource environment. Amongst the tools
155 156 developed to meet this aim, Mixed-Integer Linear Programming (MILP) provides the framework to
156   -provide a formal definition of the stated problem and search for an optimal use of available
  157 +formally define the stated problem and search for an optimal use of available
157 158 resources \cite{yu2007design, kodek1980design}.
158 159  
159 160 First we need to ensure that our problem is a real optimization problem. When
160   -we design a process inside the FPGA we want reach some requirements by example the
161   -throughput, the computation time or the rejection noise... But we some limited
  161 +designing a processing function in the FPGA, we aim at meeting some requirement such as
  162 +the throughput, the computation time or the noise rejection noise. However, due to limited
162 163 resources to design the process like BRAM (high performance RAM), DSP (Digital Signal Processor)
163   -or LUT (Look Up Table). Since we want optimize some criteria and we have some
164   -limited resources our problem is a classical optimization problem.
  164 +or LUT (Look Up Table), a tradeoff must be generally searched between performance and available
  165 +computational resources: optimizing some criteria within finite, limited
  166 +resources indeed matches the definition of a classical optimization problem.
165 167  
166 168 Specifically the degrees of freedom when addressing the problem of replacing the single monolithic
167 169 FIR with a cascade of optimized filters are the number of coefficients $N_i$ of each filter $i$,
... ... @@ -176,7 +178,7 @@
176 178 at the end of the design a synthesis step using vendor software to assess the validity of the solution
177 179 found. As an example of the limitation linked to the lack of detailed hardware consideration, Block Random
178 180 Access Memory (BRAM) used to store filter coefficients are not shared amongst filters, and multiplications
179   -are most efficiently implemented by using Digital Signal Processing (DSP) blocks whose input word
  181 +are most efficiently implemented by using DSP blocks whose input word
180 182 size is finite. DSPs are a scarce resource to be saved in a practical implementation. Keeping a high
181 183 abstraction on the resource occupation is nevertheless selected in the following discussion in order
182 184 to leave enough degrees of freedom in the problem to try and find original solutions: too many
... ... @@ -185,8 +187,9 @@
185 187 \begin{figure}[h!tb]
186 188 \begin{center}
187 189 \includegraphics[width=.5\linewidth]{schema2}
188   -\caption{Shape of the filter: the bandpass BP is considered to occupy the initial
189   -40\% of the Nyquist frequency range, the bandstop the last 40\%, allowing 20\% transition
  190 +\caption{Shape of the filter transmitted power $P$ as a function of frequency:
  191 +the bandpass BP is considered to occupy the initial
  192 +40\% of the Nyquist frequency range, the stopband the last 40\%, allowing 20\% transition
190 193 width.}
191 194 \label{rejection-shape}
192 195 \end{center}
... ... @@ -206,8 +209,9 @@
206 209 Since the function $\mathcal{F}$ cannot be explictly expressed, we run simulations to determine the rejection depending
207 210 on $N_i$ and $C_i$. However, selecting the right filter requires a clear definition of the rejection criterion. Selecting an
208 211 incorrect criterion will lead the linear program solver to produce a solution which might not meet the user requirements.
209   -Hence, amongst various criteria including the mean or median value of the FIR response in the stopband, we have designed
210   -a criterion aimed at avoiding ripples on passband and considering the maximum of the FIR spectral response in the stopband
  212 +Hence, amongst various criteria including the mean or median value of the FIR response in the stopband as will
  213 +be illustrated lated (section \ref{median}), we have designed
  214 +a criterion aimed at avoiding ripples in the passband and considering the maximum of the FIR spectral response in the stopband
211 215 (Fig. \ref{rejection-shape}). The bandpass criterion is defined as the sum of the absolute values of the spectral response
212 216 in the bandpass, reminiscent of a standard deviation of the spectral response: this criterion must be minimized to avoid
213 217 ripples in the passband. The stopband transfer function maximum must also be minimized in order to improve the filter
... ... @@ -226,7 +230,9 @@
226 230 for multiple filter configurations in which the $C_i$, $D_i$ and $N_i$ parameters are varied: for each
227 231 one of these conditions, the low-pass filter rejection defined as the mean power between
228 232 half the Nyquist frequency and the Nyquist frequency is stored as computed by the frequency response
229   -of the digital filter (Fig. \ref{noise-rejection}).
  233 +of the digital filter (Fig. \ref{noise-rejection}). An intuitive analysis of this chart hints at an optimum
  234 +set of tap length and number of bit for representing the coefficients along the line of the pyramidal
  235 +shaped rejection capability function.
230 236  
231 237 Linear program formalism for solving the problem is well documented: an objective function is
232 238 defined which is linearly dependent on the parameters to be optimized. Constraints are expressed
... ... @@ -275,6 +281,8 @@
275 281 means the same thing but for the rejection, the rejection depends the previous rejection
276 282 plus the rejection of selected filter.
277 283  
  284 +\subsection{Low bandpass ripple and maximum rejection criteria}
  285 +
278 286 The MILP solver provides a solution to the problem by selecting a series of small FIR with
279 287 increasing number of bits representing data and coefficients as well as an increasing number
280 288 of coefficients, instead of a single monolithic filter. Fig. \ref{compare-fir} exhibits the
... ... @@ -311,6 +319,41 @@
311 319 \label{t1}
312 320 \end{table}
313 321  
  322 +\subsection{Alternate criteria}\label{median}
  323 +
  324 +Fig. \ref{compare-fir} provides FIR solutions matching well the targeted transfer
  325 +function, namely low ripple in the bandpass defined as the first 40\% of the frequency
  326 +range and maximum rejection of 160~dB in the last 40\% stopband. We illustrate now, for
  327 +demonstrating the need to properly select the optimization criterion, two cases of poor
  328 +filter shapes obtained by selecting the mean value and median value of the rejection,
  329 +with no consideration for the ripples in the bandpass. The results of the optimizations,
  330 +in these cases, are shown in Figs. \ref{compare-mean} and \ref{compare-median}.
  331 +
  332 +\begin{figure}[h!tb]
  333 +\includegraphics[width=\linewidth]{images/fir-mono-vs-fir-series-noise-fixe-mean.pdf}
  334 +\caption{Comparison of the rejection capability between a series of FIR and a monolithic FIR
  335 +with a cutoff frequency set at half the Nyquist frequency.}
  336 +\label{compare-mean}
  337 +\end{figure}
  338 +
  339 +In the case of the mean value criterion (Fig. \ref{compare-mean}), the solution is not
  340 +acceptable since the notch at the end of the transition band compensates for some unacceptable
  341 +rise in the rejection close to the Nyquist frequency. Applying such a filter might yield excessive
  342 +high frequency spurious components to be aliased at low frequency when decimating the signal.
  343 +Similarly, the lack of criterion on the bandpass shape induces a shape with poor flatness and
  344 +and slowly decaying transfer function starting to attenuate spectral components well before the
  345 +transition band starts. Such issues are partly aleviated by replacing a mean rejection value with
  346 +a median rejection value (Fig. \ref{compare-median}) but solutions remain unacceptable for
  347 +the reasons stated previously and much poorer than those found with the maximum rejection criterion
  348 +selected earlier (Fig. \ref{compare-fir}).
  349 +
  350 +\begin{figure}[h!tb]
  351 +\includegraphics[width=\linewidth]{images/fir-mono-vs-fir-series-noise-fixe-median.pdf}
  352 +\caption{Comparison of the rejection capability between a series of FIR and a monolithic FIR
  353 +with a cutoff frequency set at half the Nyquist frequency.}
  354 +\label{compare-median}
  355 +\end{figure}
  356 +
314 357 \section{Filter coefficient selection}
315 358  
316 359 The coefficients of a single monolithic filter are computed as the impulse response
... ... @@ -353,6 +396,7 @@
353 396 fruitful discussions.
354 397  
355 398 \bibliographystyle{IEEEtran}
  399 +\balance
356 400 \bibliography{references,biblio}
357 401 \end{document}
358 402  
... ... @@ -30,7 +30,7 @@
30 30  
31 31 @misc{glpk,
32 32 title={\url{https://www.gnu.org/software/glpk/}},
33   -note={availble online, accessed Jan. 2018}
  33 +note={availble online, accessed May 2018}
34 34 }
35 35  
36 36 @article{rsi,