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} |