Compare View

switch
from
...
to
 
Commits (2)

Diff

Showing 4 changed files Side-by-side Diff

ifcs2018_journal.tex
... ... @@ -297,7 +297,7 @@ In the transition band, the behavior of the filter is left free, we only {\color
297 297 % the passband are not considered and might be excessive for excessively wide transitions widths introduced for filters with few coefficients.
298 298 Our criterion to compute the filter rejection considers
299 299 % r2.8 et r2.2 r2.3
300   -the maximum magnitude within the stopband, to which the {\color{red}sum of the absolute values
  300 +the {\color{red}minimal} rejection within the stopband, to which the {\color{red}sum of the absolute values
301 301 within the passband is subtracted to avoid filters with excessive ripples, normalized to the
302 302 bin width to remain consistent with the passband criterion (dBc/Hz units in all cases)}. With this
303 303 criterion, we meet the expected rejection capability of low pass filters as shown in figure~\ref{fig:custom_criterion}.
... ... @@ -312,7 +312,7 @@ criterion, we meet the expected rejection capability of low pass filters as show
312 312 \begin{figure}
313 313 \centering
314 314 \includegraphics[width=\linewidth]{images/colored_custom_criterion}
315   -\caption{Custom criterion (maximum rejection in the stopband minus the {\color{red} sum of the
  315 +\caption{Custom criterion (maximum rejection in the stopband minus the {\color{red} sum of the
316 316 absolute values of the passband rejection normalized to the bandwidth})
317 317 comparison between monolithic filter and cascaded filters}
318 318 \label{fig:custom_criterion}
... ... @@ -418,12 +418,21 @@ Finally, equation~\ref{eq:init} gives the number of bits of the global input.
418 418 This model is non-linear since we multiply some variable with another variable
419 419 and it is even non-quadratic, as the cost function $F$ does not have a known
420 420 linear or quadratic expression. To linearize this problem, we introduce $p$ FIR configurations.
  421 +% AH: conflit merge
  422 +% This variable must be defined by the user, it represent the number of different
  423 +% set of coefficients generated (for memory, we use \texttt{firls} and \texttt{fir1}
  424 +% functions from GNU Octave). To choose this value, we consider a subset of the figure~\ref{fig:rejection_pyramid}
  425 +% to restrict the number of configurations. Indeed, it is useless to have too many coefficients or
  426 +% too many bits, hence we take the configurations close to edge of pyramid. Thank to theses
  427 +% configurations $C_{ij}$ and $\pi_{ij}^C$ ($1 \leq j \leq p$) become constant
  428 +% and the function $F$ can be estimate for each configurations
  429 +% thanks our rejection criterion. We also defined binary
421 430 This variable $p$ is defined by the user, and represents the number of different
422 431 set of coefficients generated (remember, we use \texttt{firls} and \texttt{fir1}
423 432 functions from GNU Octave) based on the targeted filter characteristics and implementation
424   -assumptions (estimated number of bits defining the coefficients). Hence, $C_{ij}$ and
  433 +assumptions (estimated number of bits defining the coefficients). Hence, $C_{ij}$ and
425 434 $\pi_{ij}^C$ become constants and
426   -we define $1 \leq j \leq p$ so that the function $F$ can be estimated (Look Up Table)
  435 +we define $1 \leq j \leq p$ so that the function $F$ can be estimated (Look Up Table)
427 436 for each configurations thanks to the rejection criterion. We also define the binary
428 437 variable $\delta_{ij}$ that has value 1 if stage~$i$ is in configuration~$j$
429 438 and 0 otherwise. The new equations are as follows:
... ... @@ -441,14 +450,36 @@ respectively equations \ref{eq:areadef}, \ref{eq:rejectiondef} and \ref{eq:bits}
441 450 Equation~\ref{eq:config} states that for each stage, a single configuration is chosen at most.
442 451  
443 452 {\color{red}
444   -However the problem remains quadratic at this stage since in the constraint~\ref{eq:areadef2}
  453 +% JM: conflict merge
  454 +% However the problem remains quadratic at this stage since in the constraint~\ref{eq:areadef2}
  455 +% we multiply
  456 +% $\delta_{ij}$ and $\pi_i^-$. However, since $\delta_{ij}$ is a binary variable we can
  457 +% linearise this multiplication if we can bound $\pi_i^-$. As $\pi_i^-$ is the data size,
  458 +% we define $0 < \pi_i^- \leq 128$ which is the maximum data size whose estimation is
  459 +% assumed on hardware characteristics.
  460 +% The Gurobi (\url{www.gurobi.com}) optimization software used to solve this quadratic
  461 +% model is able to linearize the model provided as is. This model
  462 +% has $O(np)$ variables and $O(n)$ constraints.}
  463 +However the problem remains quadratic at this stage since in the constraint~\ref{eq:areadef2}
445 464 we multiply
446 465 $\delta_{ij}$ and $\pi_i^-$. However, since $\delta_{ij}$ is a binary variable we can
447   -linearise this multiplication if we can bound $\pi_i^-$. As $\pi_i^-$ is the data size,
448   -we define $0 < \pi_i^- \leq 128$ which is the maximum data size whose estimation is
449   -assumed on hardware characteristics.
450   -The Gurobi (\url{www.gurobi.com}) optimization software used to solve this quadratic
451   -model is able to linearize the model provided as is. This model
  466 +linearise linearize this multiplication. The following formula shows how to linearize
  467 +this situation in general case with $y$ a binary variable and $x$ a real variable ($0 \leq x \leq X^{max}$):
  468 +\begin{equation*}
  469 + m = x \times y \implies
  470 + \left \{
  471 + \begin{split}
  472 + m & \geq 0 \\
  473 + m & \leq y \times X^{max} \\
  474 + m & \leq x \\
  475 + m & \geq x - (1 - y) \times X^{max} \\
  476 + \end{split}
  477 + \right .
  478 +\end{equation*}
  479 +So if we bound up $\pi_i^-$ by 128~bits which is the maximum data size whose estimation is
  480 +assumed on hardware characteristics,
  481 +the Gurobi (\url{www.gurobi.com}) optimization software will be able to linearize
  482 +for us the quadratic problem so the model is left as is. This model
452 483 has $O(np)$ variables and $O(n)$ constraints.}
453 484  
454 485 % This model is non-linear and even non-quadratic, as $F$ does not have a known
... ... @@ -727,7 +758,7 @@ the MAX/1500 problem of maximizing rejection for a given resource allocation (15
727 758 \end{subfigure}
728 759 \caption{\color{red}Solutions for the MAX/500, MAX/1000 and MAX/1500 problems of maximizing
729 760 rejection for a given resource allocation.
730   -The filter shape constraint (bandpass and bandstop) is shown as thick
  761 +The filter shape constraint (bandpass and bandstop) is shown as thick
731 762 horizontal lines on each chart.}
732 763 \end{figure}
733 764  
... ... @@ -994,9 +1025,9 @@ the MIN/80 problem of minimizing resource allocation for reaching a 80~dB reject
994 1025 the MIN/100 problem of minimizing resource allocation for reaching a 100~dB rejection.}
995 1026 \label{fig:min_100}
996 1027 \end{subfigure}
997   - \caption{\color{red}Solutions for the MIN/40, MIN/60, MIN/80 and MIN/100 problems of reaching a
998   -given rejection while minimizing resource allocation. The filter shape constraint (bandpass and
999   -bandstop) is shown as thick
  1028 + \caption{\color{red}Solutions for the MIN/40, MIN/60, MIN/80 and MIN/100 problems of reaching a
  1029 +given rejection while minimizing resource allocation. The filter shape constraint (bandpass and
  1030 +bandstop) is shown as thick
1000 1031 horizontal lines on each chart.}
1001 1032 \end{figure}
1002 1033  
... ... @@ -1074,16 +1105,16 @@ previous one.
1074 1105  
1075 1106 {\color{red} % r1.4
1076 1107 To conclude, we compare our monolithic filters with the FIR Compiler provided by
1077   -Xilinx in the Vivado software suite (v.2018.2). For each experiment we use the
  1108 +Xilinx in the Vivado software suite (v.2018.2). For each experiment we use the
1078 1109 same coefficient set and we compare the resource consumption, having checked that
1079   -the transfer functions are indeed the same with both implementations.
  1110 +the transfer functions are indeed the same with both implementations.
1080 1111 Table~\ref{tbl:xilinx_resources} exhibits the results.
1081 1112 The FIR Compiler never use BRAM while our filter implementation uses one block. This difference
1082 1113 is explained be our wish to have a dynamically reconfigurable FIR filter whose
1083   -coefficients can be updated from the processing system without having to update the FPGA design.
  1114 +coefficients can be updated from the processing system without having to update the FPGA design.
1084 1115 With the FIR compiler, the coefficients are defined during the FPGA design so that
1085   -changing coefficients required generating a new design. The difference with the LUT consumption
1086   -is also attributed to the reconfigurability logic. However the DSP consumption, the scarcest
  1116 +changing coefficients required generating a new design. The difference with the LUT consumption
  1117 +is also attributed to the reconfigurability logic. However the DSP consumption, the scarcest
1087 1118 resource, is the same between the Xilinx FIR Compiler end
1088 1119 our FIR block: we hence conclude that our solutions are as good as the Xilinx implementation.
1089 1120  
ifcs2018_journal_reponse.tex
... ... @@ -74,7 +74,7 @@
74 74 %REVIEWERS' COMMENTS:
75 75  
76 76 \documentclass[a4paper]{article}
77   -\usepackage{fullpage,graphicx,amsmath}
  77 +\usepackage{fullpage,graphicx,amsmath, subcaption}
78 78 \begin{document}
79 79 {\bf Reviewer: 1}
80 80  
... ... @@ -82,21 +82,21 @@
82 82 %In general, the language/grammar is adequate.
83 83  
84 84 {\bf
85   -On page 2, "...allowing to save processing resource..." could be improved. % r1.1
  85 +On page 2, "...allowing to save processing resource..." could be improved. % r1.1 - fait
86 86 }
87 87  
88 88 The sentence was split and now reads ``number of coefficients irrelevant: processing
89 89 resources are hence saved by shrinking the filter length.''
90 90  
91 91 {\bf
92   -On page 2, "... or thanks at a radiofrequency-grade..." isn't at all clear what % r1.2
  92 +On page 2, "... or thanks at a radiofrequency-grade..." isn't at all clear what % r1.2 - fait
93 93 the author meant.}
94 94  
95 95 Grammatical error: this sentence now reads ``or by sampling a wideband (125~MS/s)
96 96 Analog to Digital Converter (ADC) loaded by a 50~$\Omega$ resistor.''
97 97  
98 98 {\bf
99   -On page 2, the whole paragraph "The first step of our approach is to model..." % r1.3
  99 +On page 2, the whole paragraph "The first step of our approach is to model..." % r1.3 - fait
100 100 could be improved.
101 101 }
102 102  
... ... @@ -151,7 +151,7 @@ Reviewer: 2
151 151 %filters are really superior than monolithic filters.
152 152  
153 153 {\bf
154   -By observing the results presented in fig. 10-16, it is clear that the % r2.1 - fait
  154 +By observing the results presented in fig. 10-16, it is clear that the % r2.1
155 155 performances of multi-stage filters are obtained at the expense of their
156 156 selectivity and, in this sense, the filters presented in these figures
157 157 are not equivalent. For example, in Fig. 14, at the limit of the pass band,
... ... @@ -162,23 +162,61 @@ n = 1.
162 162 We have added on Figs 10--16 (now Fig 9(a)--(c)) the templates used to defined
163 163 the bandpass and the bandstop of the filter.
164 164  
165   -We are aware of this non equivalence but we think that difference is not due to
166   -the cascaded filters but due to the definition of rejection criterion on the passband.
167   -Indeed, in this article we have choose to take the summation of absolute values divide
168   -by the bandwidth but this criterion is maybe too permissive and when we cascade
169   -some filters this impact is more important.
170   -
171   -However if we change the passband
172   -criterion by the summation of absolute value in passband, weighting given to the
173   -passband ripples are too strong and the solver are too restricted to provide
174   -any interesting solution but the ripples in passband will be minimal. And if we take the maximum absolute value in
175   -passband, the rejection evaluation are too close form the original criterion and
176   -the result will not be improved.
177   -
178   -In this article, we will highlight the methodology instead of the filter conception.
179   -Even if our rejection criterion is not the best, our methodology was not impacted
180   -by this. So to improve the results, we can choose another criterion to be more
181   -selective in passband but it is not the main objective of our article.
  165 +% We are aware of this non equivalence but we think that difference is not due to
  166 +% the cascaded filters but due to the definition of rejection criterion on the passband.
  167 +% Indeed, in this article we have choose to take the summation of absolute values divide
  168 +% by the bandwidth but this criterion is maybe too permissive and when we cascade
  169 +% some filters this impact is more important.
  170 +%
  171 +% However if we change the passband
  172 +% criterion by the summation of absolute value in passband, weighting given to the
  173 +% passband ripples are too strong and the solver are too restricted to provide
  174 +% any interesting solution but the ripples in passband will be minimal. And if we take the maximum absolute value in
  175 +% passband, the rejection evaluation are too close form the original criterion and
  176 +% the result will not be improved.
  177 +%
  178 +% In this article, we will highlight the methodology instead of the filter conception.
  179 +% Even if our rejection criterion is not the best, our methodology was not impacted
  180 +% by this. So to improve the results, we can choose another criterion to be more
  181 +% selective in passband but it is not the main objective of our article.
  182 +
  183 +We are aware of this equivalence but to limit this ripples in passband we need to
  184 +enforce the criterion in passband. If we takes a strong constraint like the sum of
  185 +absolute values in passband. This criterion si too selective because it considers
  186 +all bin on passband while on stopband we consider only the bin with the minimal
  187 +rejection. The figure~\ref{fig:letter_sum_criterion} exhibits the results with this
  188 +criterion for the case MAX/1000. With this criterion, the solver find an optimal
  189 +solution with only two filters in expend of the resource consumption.
  190 +
  191 +
  192 +
  193 +If we relax a little the criterion on passband with taking only the maximum absolute
  194 +value, we will penalize the ripple peak on passband. The figure~\ref{fig:letter_max_criterion}
  195 +shows the results for the case MAX/1000. There as almost no difference with the
  196 +article results. Indeed the only little change are on the case $i = 4$ and $i = 5$
  197 +which they have some minor differences on coefficients choices.
  198 +
  199 +\begin{figure}[h!tb]
  200 + \centering
  201 + \begin{subfigure}{0.48\linewidth}
  202 + \includegraphics[width=\linewidth]{images/letter_sum_criterion}
  203 + \caption{Results for the case MAX/1000 with as criterion on passband the sum absolute values}
  204 + \label{fig:letter_sum_criterion}
  205 + \end{subfigure}
  206 + \begin{subfigure}{0.48\linewidth}
  207 + \includegraphics[width=\linewidth]{images/letter_max_criterion}
  208 + \caption{Results for the case MAX/1000 with as criterion on passband the maximum absolute value}
  209 + \label{fig:letter_max_criterion}
  210 + \end{subfigure}
  211 +\end{figure}
  212 +
  213 +Finally, if we ponder the maximum absolute on passband, we should improve the result.
  214 +We have arbitrary pondered by 5 the maximum. Even with this weighting, the solver
  215 +choose the same coefficient set.
  216 +
  217 +To conclude, find a better criterion to avoid the ripples on the passband is difficult.
  218 +In this article we are focused on the methodology so even if our criterion could
  219 +be improved, our methodology still the same and it works independently of rejection criterion.
182 220  
183 221 % %Peut etre refaire une serie de simulation dans lesquelles on impose une coupure
184 222 % %non pas entre 40 et 60\% mais entre 50 et 60\% pour demontrer que l'outil s'adapte
... ... @@ -197,7 +235,7 @@ selective in passband but it is not the main objective of our article.
197 235 % Dire que la chute n'est pas du à la casacade mais à notre critère de rejection
198 236  
199 237 {\bf
200   -The reason is in the criterion that considers the average attenuation in % r2.2 - fait
  238 +The reason is in the criterion that considers the average attenuation in % r2.2
201 239 the pass band. This criterion does not take into account the maximum attenuation
202 240 in this region, which is a very important parameter for specifying a filter
203 241 and for evaluating its performance. For example, with this criterion, a
... ... @@ -206,8 +244,9 @@ filter with 0.1 dB of ripple is considered equivalent to a filter with
206 244 and in the results that are obtained and has to be reconsidered.
207 245 }
208 246  
209   -See above: If we choose the maximum absolute value in passband, we penalize the
210   -case with 10 dB of ripple.
  247 +See above: Choose a criterion is difficult and depending on the context. The main
  248 +contribution on this paper is the methodology not the criterion to quantify the
  249 +rejection.
211 250  
212 251 % The manuscript erroneously stated that we considered the mean of the absolute
213 252 % value within the bandpass: the manuscript has now been corrected to properly state
... ... @@ -231,7 +270,7 @@ excessive ripples, including excessive attenuation, within the passband.
231 270 % TODO: test max(stopband) - max(abs(passband))
232 271  
233 272 {\bf
234   -In addition, I suggest to address the following points: % r2.4
  273 +In addition, I suggest to address the following points: % r2.4 - fait
235 274 - Page 1, line 50: the Authors state that IIR have shorter impulse response
236 275 than FIR. This is not true in general. The sentence should be reconsidered.
237 276 }
... ... @@ -248,7 +287,7 @@ is not considered as an issue as would be in a closed loop system in which lag a
248 287 minimized to avoid oscillation conditions.''
249 288  
250 289 {\bf
251   -- Fig. 4: the Author should motivate in the text why it has been chosen % r2.5
  290 +- Fig. 4: the Author should motivate in the text why it has been chosen % r2.5 - fait
252 291 this transition bandwidth and if it is a typical requirement for phase-noise
253 292 metrology.
254 293 }
... ... @@ -279,13 +318,16 @@ hardware.&#39;&#39; so indeed the input datastream resolution is considered as a given.
279 318 {\bf
280 319 - Page 3, line 47: the initial criterion can be omitted and, consequently, % r2.7 - fait
281 320 Fig. 5 can be removed.
  321 +}
  322 +
  323 +Juste mettre une phrase pour dire que la mean ne donnait pas de bons résultats
  324 +
  325 +{\bf
282 326 - Page 3, line 55: ``maximum rejection'' is not compatible with fig. 4. % r2.8 - fait
283 327 It should be ``minimum''
284 328 }
285   -AH: Je ne suis pas d'accord, le critère n'est pas le min de la rejection mais le max
286   -de la magnitude. J'ai corrigé en ce sens.
287 329  
288   -Juste mettre une phrase pour dire que la mean ne donnait pas de bons résultats
  330 +This typo has been corrected.
289 331  
290 332 {\bf
291 333 - Page e, line 55, second column: ``takin'' % r2.9 - fait
... ... @@ -309,7 +351,7 @@ set of coefficients generated (for memory, we use \texttt{firls} and \texttt{fir
309 351 functions from GNU Octave)''
310 352  
311 353 {\bf
312   -- Page 4, line 31: how does the delta function transform model from non-linear % r2.13 - fait
  354 +- Page 4, line 31: how does the delta function transform model from non-linear % r2.13
313 355 and non-quadratic to a quadratic?}
314 356  
315 357 The first model is non-quadratic but when we introduce the $p$ configurations,
... ... @@ -335,22 +377,22 @@ Gurobi does the linearization so we don&#39;t explain this step to keep the model mo
335 377 simple. However, to improve the transformation explanation we have rewrote the
336 378 paragraph ``This model is non-linear and even non-quadratic...''.
337 379  
338   -JMF : il faudra mettre une phrase qui explique, ca en lisant cette reponse dans l'article
339   -je ne comprends pas comment ca repond a la question
340   -
341   -AH: Je mets l'idée en français, je vais essayer de traduire ça au mieux.
342   -
343   -Le problème n'est pas linéaire car nous multiplions des variables
344   -entre elles. Pour y remédier, on considère que $\pi_{ij}^C$ et que $C_{ij}$ deviennent
345   -des constantes. On introduit donc la variable binaire $\delta_{ij}$ qui nous indique
346   -quel filtre est sélectionné étage par étage. Malgré cela, notre programme est encore
347   -quadratique car pour la contrainte~\ref{eq:areadef2}, il reste une multiplication entre
348   -$\delta_{ij}$ et $\pi_i^-$. Mais comme $\delta_{ij}$ est binaire, il est possible
349   -de linéariser cette multiplication pour peu qu'on puisse borner $\pi_i^-$. Dans notre
350   -cas définir la borne est facile car $\pi_i^-$ représente une taille de donnée,
351   -nous définission donc $0 < \pi_i^- \leq 128$ car il s'agit de la plus grande valeur
352   -qu'on puisse traiter. De plus nous utiliserons Gurobi qui se chargera de faire la
353   -linéarisation pour nous.
  380 +% JMF : il faudra mettre une phrase qui explique, ca en lisant cette reponse dans l'article
  381 +% je ne comprends pas comment ca repond a la question
  382 +%
  383 +% AH: Je mets l'idée en français, je vais essayer de traduire ça au mieux.
  384 +%
  385 +% Le problème n'est pas linéaire car nous multiplions des variables
  386 +% entre elles. Pour y remédier, on considère que $\pi_{ij}^C$ et que $C_{ij}$ deviennent
  387 +% des constantes. On introduit donc la variable binaire $\delta_{ij}$ qui nous indique
  388 +% quel filtre est sélectionné étage par étage. Malgré cela, notre programme est encore
  389 +% quadratique car pour la contrainte~\ref{eq:areadef2}, il reste une multiplication entre
  390 +% $\delta_{ij}$ et $\pi_i^-$. Mais comme $\delta_{ij}$ est binaire, il est possible
  391 +% de linéariser cette multiplication pour peu qu'on puisse borner $\pi_i^-$. Dans notre
  392 +% cas définir la borne est facile car $\pi_i^-$ représente une taille de donnée,
  393 +% nous définission donc $0 < \pi_i^- \leq 128$ car il s'agit de la plus grande valeur
  394 +% qu'on puisse traiter. De plus nous utiliserons Gurobi qui se chargera de faire la
  395 +% linéarisation pour nous.
354 396  
355 397  
356 398 {\bf
images/letter_max_criterion.pdf
No preview for this file type
images/letter_sum_criterion.pdf
No preview for this file type