Commit 6f7c0de29f4a9bfb5fc2e3c753de4ed02e56264a

Authored by jfriedt
Exists in master

biblio en majuscules et description moyenne/median

Showing 1 changed file Side-by-side Diff

ifcs2018_proceeding.tex
... ... @@ -138,7 +138,7 @@
138 138 follows the skeleton approach \cite{crookes1998environment, crookes2000design, benkrid2002towards}
139 139 in which basic blocks are defined and characterized before being assembled \cite{hide}
140 140 in a complete processing chain. In our case, assembling the filter blocks is a simpler block
141   -combination process since we assume a single value to be processed and a single value to be
  141 +combination process since we assume a single value to be processed and a single value to be
142 142 generated at each clock cycle. The FIR filters will not be considered to decimate in the
143 143 current implementation: the decimation is assumed to be located after the FIR cascade at the
144 144 moment.
... ... @@ -170,7 +170,7 @@
170 170 the number of bits $C_i$ representing the coefficients and the number of bits $D_i$ representing
171 171 the data fed to the filter. Because each FIR in the chain is fed the output of the previous stage,
172 172 the optimization of the complete processing chain within a constrained resource environment is not
173   -trivial. The resource occupation of a FIR filter is considered as $D_i+C_i \times N_i)$ which is
  173 +trivial. The resource occupation of a FIR filter is considered as $(D_i+C_i) \times N_i$ which is
174 174 the number of bits needed in a worst case condition to represent the output of the FIR. Such an
175 175 occupied area estimate assumes that the number of gates scales as the number of bits and the number
176 176 of coefficients, but does not account for the detailed implementation of the hardware. Indeed,
... ... @@ -205,7 +205,7 @@
205 205 \label{model-FIR}
206 206 \end{align}
207 207 To explain the system \ref{model-FIR}, $\mathcal{R}_i$ represents the rejection of depending on $N_i$ and $C_i$, $\mathcal{A}$
208   -is a theoretical area occupation of the processing block on the FPGA, and $\Delta_i$ is the total rejection for the current stage $i$.
  208 +is a theoretical area occupation of the processing block on the FPGA, and $\Delta_i$ is the total rejection for the current stage $i$.
209 209 Since the function $\mathcal{F}$ cannot be explictly expressed, we run simulations to determine the rejection depending
210 210 on $N_i$ and $C_i$. However, selecting the right filter requires a clear definition of the rejection criterion. Selecting an
211 211 incorrect criterion will lead the linear program solver to produce a solution which might not meet the user requirements.
212 212  
... ... @@ -248,11 +248,11 @@
248 248 \begin{align*}
249 249 \mathcal{F} = \lbrace F_1 ... F_p \rbrace & \text{ All possible filters}\\
250 250 & \text{ $p$ is the number of different filters} \\
251   -C(i) & \text{ % Constant to let the
252   -number of coefficients %} \\ & \text{
  251 +C(i) & \text{ % Constant to let the
  252 +number of coefficients %} \\ & \text{
253 253 for filter $i$}\\
254   -\pi_C(i) & \text{ % Constant to let the
255   -number of bits of %}\\ & \text{
  254 +\pi_C(i) & \text{ % Constant to let the
  255 +number of bits of %}\\ & \text{
256 256 each coefficient for filter $i$}\\
257 257 \mathcal{A}_{\max} & \text{ Total space available inside the FPGA}
258 258 \end{align*}
259 259  
... ... @@ -262,11 +262,11 @@
262 262 1 \leq j \leq q & \text{ $q$ is the max of filter stage} \nonumber \\
263 263 \forall j, \mathlarger{\sum_{i}} x_{i,j} = 1 & \text{ At most one filter by stage} \nonumber\\
264 264 \mathcal{S}_0 = 0 & \text{ initial occupation} \nonumber\\
265   -\forall j, \mathcal{S}_j = \mathcal{S}_{j-1} + \forall i, x_{i,j} \times \mathcal{A}_i \label{cstr_size} \
  265 +\forall j, \mathcal{S}_j = \mathcal{S}_{j-1} + \mathlarger{\sum_i (x_{i,j} \times \mathcal{A}_i)} \label{cstr_size} \
266 266 \mathcal{S} \leq \mathcal{S}_{\max}\nonumber \\
267 267 \mathcal{N}_0 = 0 & \text{ initial rejection}\nonumber\\
268   -\forall j, \mathcal{N}_j = \mathcal{N}_{j-1} + \forall i, x_{i,j} \times \mathcal{R}_i \label{cstr_rejection} \\
269   -\mathcal{N}_q \geqslant 160 & \text{ an user defined bound}\nonumber\\
  268 +\forall j, \mathcal{N}_j = \mathcal{N}_{j-1} + \mathlarger{\sum_i (x_{i,j} \times \mathcal{R}_i)} \label{cstr_rejection} \\
  269 +\mathcal{N}_q \geqslant 160 & \text{ an user defined bound}\nonumber\\
270 270 & \text{ (e.g. 160~dB here)}\nonumber\\\nonumber
271 271 \end{align}
272 272 \paragraph{Goal}
... ... @@ -274,7 +274,6 @@
274 274 \min \mathcal{S}_q
275 275 \end{align*}
276 276  
277   -% AH j'aimerai mettre deux equations avec un label mais je ne sais pas comment faire
278 277 The constraint \ref{cstr_size} means the occupation for the current stage $j$ depends on
279 278 the previous occupation and the occupation of current selected filter (it is possible
280 279 that no filter is selected for this stage). And the second one \ref{cstr_rejection}
... ... @@ -359,7 +358,7 @@
359 358 The coefficients of a single monolithic filter are computed as the impulse response
360 359 of the filter transfer function, and practically approximated by a multitude of methods
361 360 including least square optimization (Matlab's {\tt firls} function), Hamming or Kaiser windowing
362   -(Matlab's {\tt fir1} function).
  361 +(Matlab's {\tt fir1} function).
363 362  
364 363 \begin{figure}[h!tb]
365 364 \includegraphics[width=\linewidth]{images/fir1-vs-firls}