diff --git a/ifcs2018_journal.tex b/ifcs2018_journal.tex index 3c93c5f..926c294 100644 --- a/ifcs2018_journal.tex +++ b/ifcs2018_journal.tex @@ -292,10 +292,11 @@ the stopband the last 40\%, allowing 20\% transition width.} In the transition band, the behavior of the filter is left free, we only {\color{red}define} the passband and the stopband characteristics. % r2.7 -% Our initial criterion considered the mean value of the stopband rejection, as shown in figure~\ref{fig:mean_criterion}. This criterion -% yields unacceptable results since notches overestimate the rejection capability of the filter. Furthermore, the losses within +{\color{red}Initial considered criteria include the mean value of the stopband rejection which yields unacceptable results since notches +overestimate the rejection capability of the filter.} +% Furthermore, the losses within % the passband are not considered and might be excessive for excessively wide transitions widths introduced for filters with few coefficients. -Our criterion to compute the filter rejection considers +Our final criterion to compute the filter rejection considers % r2.8 et r2.2 r2.3 the {\color{red}minimal} rejection within the stopband, to which the {\color{red}sum of the absolute values within the passband is subtracted to avoid filters with excessive ripples, normalized to the @@ -460,7 +461,7 @@ Equation~\ref{eq:config} states that for each stage, a single configuration is c % The Gurobi (\url{www.gurobi.com}) optimization software used to solve this quadratic % model is able to linearize the model provided as is. This model % has $O(np)$ variables and $O(n)$ constraints.} -However the problem remains quadratic at this stage since in the constraint~\ref{eq:areadef2} +The problem remains quadratic at this stage since in the constraint~\ref{eq:areadef2} we multiply $\delta_{ij}$ and $\pi_i^-$. However, since $\delta_{ij}$ is a binary variable we can linearise linearize this multiplication. The following formula shows how to linearize @@ -1109,7 +1110,7 @@ Xilinx in the Vivado software suite (v.2018.2). For each experiment we use the same coefficient set and we compare the resource consumption, having checked that the transfer functions are indeed the same with both implementations. Table~\ref{tbl:xilinx_resources} exhibits the results. -The FIR Compiler never use BRAM while our filter implementation uses one block. This difference +The FIR Compiler never uses BRAM while our filter implementation uses one block. This difference is explained be our wish to have a dynamically reconfigurable FIR filter whose coefficients can be updated from the processing system without having to update the FPGA design. With the FIR compiler, the coefficients are defined during the FPGA design so that diff --git a/ifcs2018_journal_reponse.tex b/ifcs2018_journal_reponse.tex index 31fe8fb..da0cfb2 100644 --- a/ifcs2018_journal_reponse.tex +++ b/ifcs2018_journal_reponse.tex @@ -76,7 +76,18 @@ \documentclass[a4paper]{article} \usepackage{fullpage,graphicx,amsmath, subcaption} \begin{document} -{\bf Reviewer: 1} +\begin{center} +{\bf\Large +Rebuttal letter to the review of the manuscript entitled + +``Filter optimization for real time digital processing of radiofrequency +signals: application to oscillator metrology'' +} + +by A. Hugeat \& al. +\end{center} + +\section*{Reviewer: 1} %Comments to the Author %In general, the language/grammar is adequate. @@ -119,14 +130,15 @@ manufacturers. I appreciate also that the authors have presented source code for examination online. } -To compare the performance of our FIR filters and the performance of device -manufacturers generic filter, we have added a paragraph and a table at the +We have compared the performance of our FIR filters and the performance of device +manufacturers generic filter: we have added a paragraph and a table at the end of experiments section. We compare the resources consumption with the same -FIR coefficients set. +FIR coefficients set, demonstrating that the transfer functions match and that +resources are somewhat similar despite different assumptions (Xilinx sets coefficients +upon synthesis while we wish to be able to update taps without synthesis). -{\bf -Reviewer: 2 -} +\noindent +\section*{Reviewer: 2} %Comments to the Author %In the Manuscript, the Authors describe an optimization methodology for filter @@ -159,7 +171,7 @@ the attenuation is almost 15 dB for n = 5, while it is not noticeable for n = 1. } -We have added on Figs 10--16 (now Fig 9(a)--(c)) the templates used to defined +We have added on Figs 10--16 (now Fig 9(a)--(c)) the templates used to define the bandpass and the bandstop of the filter. % We are aware of this non equivalence but we think that difference is not due to @@ -180,21 +192,21 @@ the bandpass and the bandstop of the filter. % by this. So to improve the results, we can choose another criterion to be more % selective in passband but it is not the main objective of our article. -We are aware of this equivalence but to limit this ripples in passband we need to -enforce the criterion in passband. If we takes a strong constraint like the sum of -absolute values in passband. This criterion si too selective because it considers -all bin on passband while on stopband we consider only the bin with the minimal -rejection. The figure~\ref{fig:letter_sum_criterion} exhibits the results with this -criterion for the case MAX/1000. With this criterion, the solver find an optimal -solution with only two filters in expend of the resource consumption. - - - -If we relax a little the criterion on passband with taking only the maximum absolute -value, we will penalize the ripple peak on passband. The figure~\ref{fig:letter_max_criterion} +We are aware of this difference between the cascaded and monolithic filters but +we consider that limiting the ripples in passband is more a matter of enforcing some +selection criteria rather than being intrinsic to cascading filters. Selecting +a strong constraint such as the sum of absolute values in the passband is too selective +because it considers all frequency bins in the passband while the stopband criterion is +limited to a single bin at which rejection is poorest. Fig.~\ref{fig:letter_sum_criterion} +exhibits the results with this +criterion for the case MAX/1000. With this criterion, the solver finds an optimal +solution with only two filters. % in expend of the resource consumption. + +Relaxing the criterion in the passband by considering only the maximum absolute +value, we penalize the ripple peak in the passband. Fig.~\ref{fig:letter_max_criterion} shows the results for the case MAX/1000. There as almost no difference with the article results. Indeed the only little change are on the case $i = 4$ and $i = 5$ -which they have some minor differences on coefficients choices. +which exhibit some minor differences on coefficients choices. \begin{figure}[h!tb] \centering @@ -210,13 +222,19 @@ which they have some minor differences on coefficients choices. \end{subfigure} \end{figure} -Finally, if we ponder the maximum absolute on passband, we should improve the result. -We have arbitrary pondered by 5 the maximum. Even with this weighting, the solver -choose the same coefficient set. +Finally, if we weight the maximum absolute value in the passband, we might improve the result. +We have arbitrary weighted by a factor of 5 the maximum of the absolute value in the passband. +Even with this weighting, the solver chooses the same coefficient set. -To conclude, find a better criterion to avoid the ripples on the passband is difficult. -In this article we are focused on the methodology so even if our criterion could -be improved, our methodology still the same and it works independently of rejection criterion. +To conclude, finding a better criterion to avoid the ripples in the passband is challenging. +In this article we focus on the methodology, so even if our criterion could +be improved, our methodology still remains and works independently of rejection criterion. +The averaging of the absolute values is the passband is a matter of having consistent units +between the bandstop and banspass criteria: the bandstop criterion is the bin with poorest +rejection so in units of dB/Hz. Using a bandpass criterion of the sum of absolute values +in all bins would be a unit of dB: normalizing by the number of bins, equivalent to averaging +by dividing by the number of bins, brings back a criterion in dB/Hz consistent with the +former value. % %Peut etre refaire une serie de simulation dans lesquelles on impose une coupure % %non pas entre 40 et 60\% mais entre 50 et 60\% pour demontrer que l'outil s'adapte @@ -244,8 +262,8 @@ filter with 0.1 dB of ripple is considered equivalent to a filter with and in the results that are obtained and has to be reconsidered. } -See above: Choose a criterion is difficult and depending on the context. The main -contribution on this paper is the methodology not the criterion to quantify the +See above: choosing a criterion is challenging and dependent on the context. The main +contribution on this paper is the methodology rather than the criterion to quantify the rejection. % The manuscript erroneously stated that we considered the mean of the absolute @@ -320,7 +338,8 @@ hardware.'' so indeed the input datastream resolution is considered as a given. Fig. 5 can be removed. } -Juste mettre une phrase pour dire que la mean ne donnait pas de bons résultats +We have kept a sentence stating our initial line of thought to avoid readers from performing +the same mistake, but have removed the associated figure as requested. {\bf - Page 3, line 55: ``maximum rejection'' is not compatible with fig. 4. % r2.8 - fait @@ -351,10 +370,10 @@ and non-quadratic to a quadratic?} The first model is non-quadratic but when we introduce the $p$ configurations, we can estimate the function $F$ by computing -the rejection for each configuration, so the model become quadratic because we have +the rejection for each configuration, so the model becomes quadratic because we have some multiplication between variables. With the definition of $\delta_{ij}$ we can -replace the multiplication between variables by multiplication with binary variable and -this one can be linearise as follow:\\ +replace the multiplication between variables by multiplication with binary variables which +can be linearised as follows:\\ $y$ is a binary variable \\ $x$ is a real variable bounded by $X^{max}$ \\ \begin{equation*} @@ -368,8 +387,9 @@ $x$ is a real variable bounded by $X^{max}$ \\ \end{split} \right . \end{equation*} -Gurobi does the linearization so we don't explain this step to keep the model more -simple. However, to improve the transformation explanation we have rewrote the +as explained now in the manuscript. Gurobi does the linearization so we do not explain +this step to keep the model more +simple. However, to improve the transformation explanation we have rewritten the paragraph ``This model is non-linear and even non-quadratic...''. % JMF : il faudra mettre une phrase qui explique, ca en lisant cette reponse dans l'article @@ -393,13 +413,15 @@ paragraph ``This model is non-linear and even non-quadratic...''. {\bf - Captions of figure and tables are too minimal. % r2.14 } -We have change the captions of tables and figures. + +Captions of figures were expanded to make the description easier to grasp by the reader {\bf - Figures can be grouped: fig. 10-12 can be grouped as three subplots (a, b, c) % r2.15 - fait of a single figure. Same for fig. 13-16. } -We add two sub figure to group the fig.10-12 and fig. 13-16 + +We have grouped figures 10--12 and 13--16 as two sets of sub-figures. {\bf - Please increase the number of averages for the spectrum. Currently the noise % r2.16 - fait