diff --git a/ifcs2018_journal.tex b/ifcs2018_journal.tex index 8f42098..201eb34 100644 --- a/ifcs2018_journal.tex +++ b/ifcs2018_journal.tex @@ -295,14 +295,16 @@ Initial considered criteria include the mean value of the stopband rejection whi 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. -{\color{red} In intermediate criterion considered the minimal rejection within the stopband, to which the sum of the absolute values +{\color{red} An intermediate criterion considered the maximal rejection within the stopband, to which the sum of the absolute values +% JMF : je fais le choix de remplacer minimal par maximal rejection pour etre coherent avec caption de Fig custom_criterion mais surtout parceque +% rejection me semble plus convaincant si on la maximise (il me semble que -120 dB de S21 signifie 120 dB de rejection donc on veut maximiser) within the passband is subtracted to avoid filters with excessive ripples, normalized to the bin width to remain consistent with the passband criterion (dBc/Hz units in all cases). -In this case, when we cascaded too filters with a excessive deviation in passband ($>$ 1~dB), -the final deviation in passband may be too considerable ($>$ 10~dB). Hence our final -criterion always take the minimal rejection in stopband but we substract the maximal -amplitude in passband (maximum value minus the minimum value). If this amplitude is -greater than 1~dB, we discard the filter.} +In this case, cascading too many filters with individual excessive ($>$ 1~dB) passband ripples +led to unacceptable ($>$ 10~dB) final ripple levels, especially close to the transition band. +Hence, the final criterion considers the minimal rejection in the stopband to which the +the maximal amplitude in the passband (maximum value minus the minimum value) is substracted, with +a 1~dB threshold on the latter quantity over which the filter is discarded.} % Our final criterion to compute the filter rejection considers % % r2.8 et r2.2 r2.3 % the minimal rejection within the stopband, to which the sum of the absolute values @@ -311,7 +313,7 @@ greater than 1~dB, we discard the filter.} With this criterion, we meet the expected rejection capability of low pass filters as shown in figure~\ref{fig:custom_criterion}. {\color{red} The best filter has a correct rejection estimation and the worst filter -is discarded.} % AH 20191609: Utile ? +is discarded based on the excessive passband ripple criterion.} % \begin{figure} % \centering @@ -323,9 +325,9 @@ is discarded.} % AH 20191609: Utile ? \begin{figure} \centering \includegraphics[width=\linewidth]{images/custom_criterion} -\caption{\color{red}Custom criterion (maximum rejection in the stopband minus the maximal -amplitude in passband (if $>$ 1~dB the filter is discarded) rejection normalized to the bandwidth) -comparison between monolithic filter and cascaded filters} +\caption{\color{red}Selected filter qualification criterion computed as the maximum rejection in the stopband +minus the maximal ripple amplitude in the passband with a $>$ 1~dB threshold above which the filter is discarded: +comparison between monolithic filter (blue, rejected in this case) and cascaded filters (red).} \label{fig:custom_criterion} \end{figure} @@ -335,14 +337,19 @@ rejection as a function of the number of coefficients and the number of bits rep The curve shaped as a pyramid exhibits optimum configurations sets at the vertex where both edges meet. Indeed for a given number of coefficients, increasing the number of bits over the edge will not improve the rejection. Conversely when setting the a given number of bits, increasing the number of coefficients will not improve -the rejection. Hence the best coefficient set are on the vertex of the pyramid. +the rejection. Hence the best coefficient set are on the vertex of the pyramid. {\color{red} Notice that the word length +and number of coefficients do not start at 1: filters with too few coefficients or too little tap word size are rejected +by the excessive ripple constraint of the criterion. Hence, the size of the pyramid is significantly reduced by discarding +these filters and so is the solution search space.} % ajout JMF \begin{figure} \centering \includegraphics[width=\linewidth]{images/rejection_pyramid} \caption{\color{red}Filter rejection as a function of number of coefficients and number of bits : this lookup table will be used to identify which filter parameters -- number of bits -representing coefficients and number of coefficients -- best match the targeted transfer function.} +representing coefficients and number of coefficients -- best match the targeted transfer function. {\color{red}Filters +with fewer than 10~taps or with coefficients coded on fewer than 5~bits are discarded due to excessive +ripples in the passband.}} % ajout JMF \label{fig:rejection_pyramid} \end{figure} @@ -621,7 +628,7 @@ The experimental setup is composed of three cases. The raw input is generated by a Pseudo Random Number (PRN) generator, which fixes the input data size $\Pi^I$. Then the total silicon area $\mathcal{A}$ has been fixed to either 500, 1000 or 1500 arbitrary units. Hence, the three cases have been named: MAX/500, MAX/1000, MAX/1500. -The number of configurations $p$ is \color{1133}, with $C_i$ ranging from 3 to 60 and $\pi^C$ +The number of configurations $p$ is {\color{red}1133}, with $C_i$ ranging from 3 to 60 and $\pi^C$ ranging from 2 to 22. In each case, the quadratic program has been able to give a result up to five stages ($n = 5$) in the cascaded filter. @@ -693,9 +700,9 @@ Table~\ref{tbl:gurobi_max_1500} shows the results obtained by the filter solver % From these tables, we can first state that the more stages are used to define % the cascaded FIR filters, the better the rejection. -{\color{red} From these tables, we can first state that we reach an optimal solution -for each case : $n = 3$ for MAX/500 and $n = 4$ for MAX/1000 and MAX/1500. Moreover -the cascade filters always are better than monolithic solution.} +{\color{red} By analyzing these tables, we can first state that we reach an optimal solution +for each case : $n = 3$ for MAX/500, and $n = 4$ for MAX/1000 and MAX/1500. Moreover +the cascaded filters always exhibit better performance than the monolithic solution.} It was an expected result as it has been previously observed that many small filters are better than a single large filter \cite{lim_1988, lim_1996, young_1992}, despite such conclusions @@ -857,10 +864,10 @@ $n$ & Time (MAX/500) & Time (MAX/1000) & Time (MAX/1500) As expected, the computation time seems to rise exponentially with the number of stages. When the area is limited, the design exploration space is more limited and the solver is able to find an optimal solution faster. -{\color{red} We can also notice that the solution with $n$ greater than the optimal $n$ -take more time than the optimal one. This can be explain since the search space is -more important and we need more time to ensure that the previous solution (from the -smaller value of $n$) still the optimal solution.} +{\color{red} We also notice that the solution with $n$ greater than the optimal value +takes more time to be found than the optimal one. This can be explained since the search space is +larger and we need more time to ensure that the previous solution (from the +smaller value of $n$) still remains the optimal solution.} \subsection{Minimizing resource occupation at fixed rejection}\label{sec:fixed_rej} @@ -962,7 +969,7 @@ level or even better thanks to our underestimate of the cascade rejection as the individual filter rejection. The only exception is for the monolithic case ($n = 1$) in MIN/100: no solution is found for a single monolithic filter reach a 100~dB rejection. Furthermore, the area of the monolithic filter is twice as big as the two cascaded filters -{\color{red}(675 and 1131 arbitrary units v.s 990 and 1760 arbitrary units for 60 and 80~dB rejection} +{\color{red}(675 and 1131 arbitrary units v.s 990 and 1760 arbitrary units for 60 and 80~dB rejection} respectively). More generally, the more filters are cascaded, the lower the occupied area. Like in previous section, the solver chooses always a little filter as first @@ -973,7 +980,7 @@ having too many bits in the output data. {\color{red} For each case, we found an optimal solution with $n < 5$: for MIN/40 $n=2$, for MIN/60 and MIN/80 $n = 3$ and for MIN/100 $n = 4$. In all cases, the solutions -when $n$ is greater than the optimal $n$ they remain identical to the optimal one.} +when $n$ is greater than this optimal $n$ remain identical to the optimal one.} % For the specific case of MIN/40 for $n = 5$ the solver has determined that the optimal % number of filters is 4 so it did not chose any configuration for the last filter. Hence this % solution is equivalent to the result for $n = 4$. @@ -1122,7 +1129,7 @@ $n$ & Time (MIN/40) & Time (MIN/60) & Time (MIN/80) & Ti The time needed to solve this configuration is significantly shorter than the time needed in the previous section. Indeed the worst time in this case is only {\color{red}5~minutes, compared to 13~hours} in the previous section: this problem is more easily solved than the -previous one. +previous one. To conclude, we compare our monolithic filters with the FIR Compiler provided by Xilinx in the Vivado software suite (v.2018.2). For each experiment we use the @@ -1174,6 +1181,11 @@ such filters. The FPGA design that is produced automatically by the proposed workflow is able to filter an input signal as expected, validating experimentally our model and our approach. The quadratic program can be adapted it to an other problem based on assembling skeleton blocks. +{\color{red}Considering that all area and rejection considerations could be explored within a reasonable +computation duration, and that no improvement is observed when cascading more than four filters, we +consider that this particular problem has been exhaustively investigated and optimal solutions found +in all cases.} % JMF + A perspective is to model and add the decimators to the processing chain to have a classical FIR filter and decimator. The impact of the decimator is not trivial, especially in terms of silicon area usage for subsequent stages since some hardware optimization can be applied in diff --git a/ifcs2018_journal_reponse2.tex b/ifcs2018_journal_reponse2.tex index 1c5fbbc..1941259 100644 --- a/ifcs2018_journal_reponse2.tex +++ b/ifcs2018_journal_reponse2.tex @@ -3,13 +3,14 @@ % TITLE: Filter optimization for real time digital processing of radiofrequency signals: application to oscillator metrology % AUTHOR(S): HUGEAT, Arthur; BERNARD, Julien; Goavec-Mérou, Gwenhaël; Bourgeois, Pierre-Yves; Friedt, Jean-Michel -\documentclass[a4paper]{article} +\documentclass[a4paper,8pt]{article} \usepackage[english]{babel} \usepackage{fullpage,graphicx,amsmath, subcaption} +\pagestyle{empty} \begin{document} \begin{center} {\bf\Large -Rebuttal letter to the review #2 of the manuscript entitled +Rebuttal letter to the review \#2 of the manuscript entitled\\ ``Filter optimization for real time digital processing of radiofrequency signals: application to oscillator metrology'' @@ -22,26 +23,53 @@ by A. Hugeat \& al. % REVIEWERS' COMMENTS: % Reviewer: 1 % -% Comments to the Author -% The Authors have implemented all Reviewers’ remarks except the one related to the criterion that, in my opinion, is the most important one. By considering ``the minimal rejection within the stopband, to which the sum of the absolute values within the passband is subtracted to avoid filters with excessive ripples, normalized to the bin width to remain consistent with the passband criterion (dBc/Hz units in all cases)'' (please, find a way to state criterions more clearly), the Authors get filters with very different behaviors in pass band and, consequently, their comparison loses its meaning. -% In practice, the Authors use a good method based on a bad criterion, and this point weakens a lot the results they present. -% In phase noise metrology, the target is an uncertainty of 1 dB, even less. In this regard, I would personally use a maximum ripple in pass band of 1 dB (or less), while, in some cases, the filters presented in the Manuscript exceed 10 dB of ripple, which is definitely too much. -% The Authors seem to be reactive in redoing the measures and it does not seem a big problem for them to re-run the analysis with a better criterion. The article would gain a lot, because, in addition to the methodology, the reader could understand if it is actually better to put a cascade of small filters rather than a single large filter that is an interesting point. -% To help the Authors in finding a better criterion (``…finding a better criterion to avoid the ripples in the passband is challenging...''), in addition to the minimum rejection in stop band, I suggest to specify also the maximum ripple in pass band as it is done, for example, in fig. 4.10, pg. 146 of Crochierie R. E. and Rabiner L. R. (1983) ``Multirate Digital Signal Processing'', Prentice-Hall (see attach). This suggestion, in practice, specify the maximum allowed deviation from the transfer function modulus of an ideal filter: 1 in pass band and 0 in stop band. As a result, it should solve one of the Authors’ concerns: ``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…'' since both pass and stop bands are considered in the same way. -% -% I understand that the Manuscript is devoted to present a methodology (``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.''). Please, remember that a methodology is a solution to a class of problems and the example chosen to present the methodology plays a key role in showing to the reader if the method is valid or not. Here the example problem is represented by the synthesis of a decimation filter to be used in phase noise metrology. Many of the filters presented by the Authors in figures 9 and 10 as the output of this methodology are not suitable to be used in this context, since, for example, some of them have an attenuation as high as 50 dB in DC (!) that poses severe problems in interpreting the phase noise power spectral densities. What is the cause of this fail? The methodology or the criterion? - +\vfill {\bf +\noindent +Comments to the Author + + The Authors have implemented all Reviewers’ remarks except the one related to the criterion that, in my opinion, is the most important one. By considering ``the minimal rejection within the stopband, to which the sum of the absolute values within the passband is subtracted to avoid filters with excessive ripples, normalized to the bin width to remain consistent with the passband criterion (dBc/Hz units in all cases)'' (please, find a way to state criterions more clearly), the Authors get filters with very different behaviors in pass band and, consequently, their comparison loses its meaning. + + In practice, the Authors use a good method based on a bad criterion, and this point weakens a lot the results they present. + + In phase noise metrology, the target is an uncertainty of 1 dB, even less. In this regard, I would personally use a maximum ripple in pass band of 1 dB (or less), while, in some cases, the filters presented in the Manuscript exceed 10 dB of ripple, which is definitely too much. + + The Authors seem to be reactive in redoing the measures and it does not seem a big problem for them to re-run the analysis with a better criterion. The article would gain a lot, because, in addition to the methodology, the reader could understand if it is actually better to put a cascade of small filters rather than a single large filter that is an interesting point. + + To help the Authors in finding a better criterion (``...finding a better criterion to avoid the ripples in the passband is challenging...''), in addition to the minimum rejection in stop band, I suggest to specify also the maximum ripple in pass band as it is done, for example, in fig. 4.10, pg. 146 of Crochierie R. E. and Rabiner L. R. (1983) ``Multirate Digital Signal Processing'', Prentice-Hall (see attach). This suggestion, in practice, specify the maximum allowed deviation from the transfer function modulus of an ideal filter: 1 in pass band and 0 in stop band. As a result, it should solve one of the Authors’ concerns: ``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…'' since both pass and stop bands are considered in the same way. + + I understand that the Manuscript is devoted to present a methodology (``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.''). Please, remember that a methodology is a solution to a class of problems and the example chosen to present the methodology plays a key role in showing to the reader if the method is valid or not. Here the example problem is represented by the synthesis of a decimation filter to be used in phase noise metrology. Many of the filters presented by the Authors in figures 9 and 10 as the output of this methodology are not suitable to be used in this context, since, for example, some of them have an attenuation as high as 50 dB in DC (!) that poses severe problems in interpreting the phase noise power spectral densities. What is the cause of this fail? The methodology or the criterion? + In my opinion, it is mandatory to correct the criterion and to re-run the analysis for checking if the methodology works properly or not. In the end, I suggest to publish the Manuscript After Minor Revisions. } -We have change our criterion to be more selective in passband. Now, when the filter response -exceed 1~dB in the passband, we discard the filter. We have re-run all experimentation -and we have updated the dataset and our conclusion. The methodology provide the -same results but since we have less filters we found the optimal solution earlier. -Our argumentation about the needed time to compute the optimal solution is not so -valid anymore since we need less time but we can also see that for biggest cases -we need more time. +\noindent +Our answer: + +We are grateful for the opportunity provided by the reviewer to implement the constructive +comment provided in the review. Indeed we have thoroughly reviewed our investigation by implementing +a threshold criterion on the ripple level in the passband of the filters considered in the analysis. +By selecting a 1~dB maximum ripple level in the passband, the transfer functions indeed +closely match the targeted shape, as expected from an optimization analysis. The conclusion +of the initial paper are not changed but the numerical values of all tables as well as all figures +have been updated accordingly, as highlighted in red in the submitted manuscript. All +datasets have been re-computed with the updated criterion. + +While the methodology provides the same results as proposed in the initial manuscript, +a significant fraction of the initial filter set is discarded by the hard threshold rejection +criterion, thus reducing the search space and hence reducing the search time. The conclusion +about the computation duration has been updated accordingly since on the one hand all possible +filter combinations could now be analyzed, and a maximum number of four cascaded filters meets +the optimum solution with no additional improvement when adding a fifth stage. Hence, the search +is now exhaustive for solving the considered problem. Such a statement has been added in the +conclusion +The DC component cancellation was an erroneous analysis of the filter transfer function when normalizing +the output power to the input power: removing the DC component erroneously led to this unexpected +drop of the filter transfer function close to 0~Hz. All charts have been updated accordingly +after correcting for this mistake. +\vfill +\hfill{\mbox{Yours sincerely, A. Hugeat} +\vfill \end{document}