Compare View
Commits (2)
Diff
Showing 1 changed file Side-by-side Diff
ifcs2018_proceeding.tex
... | ... | @@ -171,11 +171,10 @@ computational resources: optimizing some criteria within finite, limited |
171 | 171 | resources indeed matches the definition of a classical optimization problem. |
172 | 172 | |
173 | 173 | Specifically the degrees of freedom when addressing the problem of replacing the single monolithic |
174 | -FIR with a cascade of optimized filters are the number of coefficients $N_i$ of each filter $i$, | |
175 | -the number of bits $C_i$ representing the coefficients and the number of bits $D_i$ representing | |
176 | -the data fed to the filter. Because each FIR in the chain is fed the output of the previous stage, | |
174 | +FIR with a cascade of optimized filters are the number of coefficients $N_i$ of each filter $i$ and | |
175 | +the number of bits $C_i$ representing the coefficients. Because each FIR in the chain is fed the output of the previous stage, | |
177 | 176 | the optimization of the complete processing chain within a constrained resource environment is not |
178 | -trivial. The resource occupation of a FIR filter is considered as $(D_i+C_i) \times N_i$ which is | |
177 | +trivial. The resource occupation of a FIR filter is considered as $C_i \times N_i$ which is | |
179 | 178 | the number of bits needed in a worst case condition to represent the output of the FIR. Such an |
180 | 179 | occupied area estimate assumes that the number of gates scales as the number of bits and the number |
181 | 180 | of coefficients, but does not account for the detailed implementation of the hardware. Indeed, |
... | ... | @@ -204,7 +203,7 @@ Following these considerations, the model is expressed as: |
204 | 203 | \begin{align} |
205 | 204 | \begin{cases} |
206 | 205 | \mathcal{R}_i &= \mathcal{F}(N_i, C_i)\\ |
207 | - \mathcal{A}_i &= N_i \times (C_i + D_i)\ | |
206 | + \mathcal{A}_i &= N_i * C_i\ | |
208 | 207 | \Delta_i &= \Delta _{i-1} + \mathcal{P}_i |
209 | 208 | \end{cases} |
210 | 209 | \label{model-FIR} |
... | ... | @@ -230,7 +229,7 @@ rejection capability. Weighing these two criteria allows designing the linear pr |
230 | 229 | |
231 | 230 | The objective function maximizes the noise rejection ($\max(\Delta_{i_{\max}})$) while keeping resource occupation below |
232 | 231 | a user-defined threshold, or aims at minimizing the area needed to reach a given rejection ($\min(S_q)$ in |
233 | -the forthcoming discussion, Eqs. \ref{cstr_size} and \ref{cstr_rejection}). | |
232 | +the forthcoming discussion, Eqs. \ref{cstr_size} and \ref{cstr_rejection}). | |
234 | 233 | The MILP solver is allowed to choose the number of successive |
235 | 234 | filters, within an upper bound. The last problem is to model the noise rejection. Since filter |
236 | 235 | noise rejection capability is not modeled with linear equations, a look-up-table is generated |
... | ... | @@ -238,7 +237,7 @@ for multiple filter configurations in which the $C_i$, $D_i$ and $N_i$ parameter |
238 | 237 | one of these conditions, the low-pass filter rejection is stored as computed by the frequency response |
239 | 238 | of the digital filter (Fig. \ref{noise-rejection}). Various rejection criteria have been investigated, |
240 | 239 | including mean value of the stopband response, median value of the stopband response, or as finally |
241 | -selected, maximum value in the stopband. An intuitive analysis of the chart of Fig. \ref{noise-rejection} | |
240 | +selected, maximum value in the stopband. An intuitive analysis of the chart of Fig. \ref{noise-rejection} | |
242 | 241 | hints at an optimum |
243 | 242 | set of tap length and number of bit for representing the coefficients along the line of the pyramidal |
244 | 243 | shaped rejection capability function. |
... | ... | @@ -257,13 +256,13 @@ x_{i,j} \in \lbrace 0,1 \rbrace & \text{ $i$ is a given filter} \\ |
257 | 256 | \begin{align*} |
258 | 257 | \mathcal{F} = \lbrace F_1 ... F_p \rbrace & \text{ All possible filters}\\ |
259 | 258 | & \text{ $p$ is the number of different filters} \\ |
260 | -C(i) & \text{ % Constant to let the | |
261 | -number of coefficients %} \\ & \text{ | |
262 | -for filter $i$}\\ | |
263 | -\pi_C(i) & \text{ % Constant to let the | |
264 | -number of bits of %}\\ & \text{ | |
265 | -each coefficient for filter $i$}\\ | |
266 | -\mathcal{A}_{\max} & \text{ Total space available inside the FPGA} | |
259 | +% N(i) & \text{ % Constant to let the | |
260 | +% number of coefficients %} \\ & \text{ | |
261 | +% for filter $i$}\\ | |
262 | +% C(i) & \text{ % Constant to let the | |
263 | +% number of bits of %}\\ & \text{ | |
264 | +% each coefficient for filter $i$}\\ | |
265 | +\mathcal{S}_{\max} & \text{ Total space available inside the FPGA} | |
267 | 266 | \end{align*} |
268 | 267 | \paragraph{Constraints} |
269 | 268 | \begin{align} |
... | ... | @@ -293,7 +292,7 @@ plus the rejection of selected filter. |
293 | 292 | |
294 | 293 | The MILP solver provides a solution to the problem by selecting a series of small FIR with |
295 | 294 | increasing number of bits representing data and coefficients as well as an increasing number |
296 | -of coefficients, instead of a single monolithic filter. | |
295 | +of coefficients, instead of a single monolithic filter. | |
297 | 296 | |
298 | 297 | \begin{figure}[h!tb] |
299 | 298 | % \includegraphics[width=\linewidth]{images/compare-fir.pdf} |