Commit 33bcbbbcd854afd612381e6423a54a2548061470
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
biblio.bib
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 |