From 90c55845a1f15b2c5e0880e4cafd72e6dc40ba41 Mon Sep 17 00:00:00 2001 From: jmfriedt Date: Mon, 29 Jul 2019 16:53:04 +0200 Subject: [PATCH] relecture JMF --- ifcs2018_journal.tex | 38 ++++++++++++++---------- ifcs2018_journal_reponse.tex | 71 +++++++++++++++++++++++++++++++++++--------- 2 files changed, 80 insertions(+), 29 deletions(-) diff --git a/ifcs2018_journal.tex b/ifcs2018_journal.tex index 0ad05dd..3975171 100644 --- a/ifcs2018_journal.tex +++ b/ifcs2018_journal.tex @@ -120,9 +120,10 @@ processing (as opposed to First-In, First-Out FIFO memory batch processing) of r signals, High Level Synthesis (HLS) languages \cite{kasbah2008multigrid} are not considered but the problem is tackled at the Very-high-speed-integrated-circuit Hardware Description Language (VHDL) level. -Since latency is not an issue in a openloop phase noise characterization instrument, the large +{\color{red}Since latency is not an issue in a openloop phase noise characterization instrument, +the large numbre of taps in the FIR, as opposed to the shorter Infinite Impulse Response (IIR) filter, -is not considered as an issue as would be in a closed loop system. +is not considered as an issue as would be in a closed loop system.} % r2.4 The coefficients are classically expressed as floating point values. However, this binary number representation is not efficient for fast arithmetic computation by an FPGA. Instead, @@ -143,8 +144,9 @@ integer operations is not trivial. As an illustration of the issue related to th relation between number of fiter taps and quantization, Fig. \ref{float_vs_int} exhibits a 128-coefficient FIR bandpass filter designed using floating point numbers (blue). Upon quantization on 6~bit integers, 60 of the 128~coefficients in the beginning and end of the -taps become null, making the large number of coefficients irrelevant and allowing to save -processing resource by shrinking the filter length. This tradeoff aimed at minimizing resources +taps become null, {\color{red}making the large number of coefficients irrelevant: processing +resources % r1.1 +are hence saved by shrinking the filter length.} This tradeoff aimed at minimizing resources to reach a given rejection level, or maximizing out of band rejection for a given computational resource, will drive the investigation on cascading filters designed with varying tap resolution and tap length, as will be shown in the next section. Indeed, our development strategy closely @@ -182,22 +184,24 @@ time and frequency transfer or characterization \cite{carolina1,carolina2,rsi}. Addressing only two operations allows for demonstrating the methodology but should not be considered as a limitation of the framework which can be extended to assembling any number -of skeleton blocks as long as perfomance and resource occupation can be determined. Hence, -in this paper we will apply our methodology on simple DSP chains: a white noise input signal -is generated using a Pseudo-Random Number (PRN) generator or thanks at a radiofrequency-grade -Analog to Digital Converter (ADC) loaded by a 50~$\Omega$ resistor. Once samples have been +of skeleton blocks as long as perfomance and resource occupation can be determined. {\color{red} +Hence, +in this paper we will apply our methodology on simple DSP chains: a white noise input signal % r1.2 +is generated using a Pseudo-Random Number (PRN) generator or by sampling a wideband (125~MS/s) +14-bit Analog to Digital Converter (ADC) loaded by a 50~$\Omega$ resistor.} Once samples have been digitized at a rate of 125~MS/s, filtering is applied to qualify the processing block performance -- practically meeting the radiofrequency frontend requirement of noise and bandwidth reduction by filtering and decimating. Finally, bursts of filtered samples are stored for post-processing, allowing to assess either filter rejection for a given resource usage, or validating the rejection when implementing a solution minimizing resource occupation. -The first step of our approach is to model the DSP chain and since we just optimize -the filtering, we have not modeling the PRN generator or the ADC. The filtering can be -done by two ways. The first one we use only one FIR filter with lot of coefficients -to rejection the noise, we called this approach a monolithic approach. And the second one -we select different FIR filters with less coefficients the monolithic filter and we cascaded -it to filtering the signal. +{\color{red} +The first step of our approach is to model the DSP chain. Since we aim at only optimizing % r1.3 +the filtering part of the signal processing chain, we have not included the PRN generator or the +ADC in the model: the input data size and rate are considered fixed and defined by the hardware. +The filtering can be done in two ways, either by considering a single monolithic FIR filter +requiring many coefficients to reach the targeted noise rejection ratio, or by +cascading multiple FIR filters, each with fewer coefficients than found in the monolithic filter.} After each filter we leave the possibility of shifting the filtered data to consume less resources. Hence in the case of cascaded filter, we define a stage as a filter @@ -241,7 +245,11 @@ With these coefficients, the \texttt{freqz} function is used to estimate the mag transfer function. Comparing the performance between FIRs requires however defining a unique criterion. As shown in figure~\ref{fig:fir_mag}, the FIR magnitude exhibits two parts: we focus here on the transitions width and the rejection rather than on the -bandpass ripples as emphasized in \cite{lim_1988,lim_1996}. +bandpass ripples as emphasized in \cite{lim_1988,lim_1996}. {\color{red}Throughout this demonstration, +we arbitrarily set a bandpass of 40\% of the Nyquist frequency and a bandstop from 60\% +of the Nyquist frequency to the end of the band, as would be typically selected to prevent +aliasing before decimating the dataflow by 2. The method is however generalized to any filter +shape as long as it is defined from the initial modelling steps.} \begin{figure} \begin{center} diff --git a/ifcs2018_journal_reponse.tex b/ifcs2018_journal_reponse.tex index 741e388..107af87 100644 --- a/ifcs2018_journal_reponse.tex +++ b/ifcs2018_journal_reponse.tex @@ -83,14 +83,32 @@ {\bf On page 2, "...allowing to save processing resource..." could be improved. % r1.1 +} + +The sentence was split and now reads ``number of coefficients irrelevant: processing +resources are hence saved by shrinking the filter length.'' +{\bf On page 2, "... or thanks at a radiofrequency-grade..." isn't at all clear what % r1.2 -the author meant. +the author meant.} -One page 2, the whole paragraph "The first step of our approach is to model..." % r1.3 +Grammatical error: this sentence now reads ``or by sampling a wideband (125~MS/s) +Analog to Digital Converter (ADC) loaded by a 50~$\Omega$ resistor.'' + +{\bf +On page 2, the whole paragraph "The first step of our approach is to model..." % r1.3 could be improved. } +Indeed this paragraph has be written again and now reads as\\ +``The first step of our approach is to model the DSP chain. Since we aim at only optimizing +the filtering part of the signal processing chain, we have not included the PRN generator or the +ADC in the model: the input data size and rate are considered fixed and defined by the hardware. +The filtering can be done in two ways, either by considering a single monolithic FIR filter +requiring many coefficients to reach the targeted noise rejection ratio, or by +cascading multiple FIR filters, each with fewer coefficients than found in the monolithic filter. +'' + {\bf I appreciate that the authors attempted and document two optimizations: that % r1.4 - en attente des résultats of maximum rejection ratio at fixed silicon area, as well as minimum silicon @@ -178,16 +196,35 @@ In addition, I suggest to address the following points: than FIR. This is not true in general. The sentence should be reconsidered. } -J'aurais du dire ``lag'' au lieu de ``impulse response'' je pense -AH: Je ne comprends pas trop ce qui ne va pas ici +We have not stated that the IIR has a shorter impulse response but a shorter lag. +Indeed while a typical FIR filter will have 32 to 128~coefficients, few IIR filters +have more than 5~coefficients. Hence, while a FIR requires 128 inputs before providing +the first output, an IIR will start providing outputs only 5 time steps after the initial +input starts feeding the IIR. Hence, the issue we address here is lag and not impulse +response. We aimed at making this sentence clearer by stating that ``Since latency is not an issue +in a openloop phase noise characterization instrument, the large +numbre of taps in the FIR, as opposed to the shorter Infinite Impulse Response (IIR) filter, +is not considered as an issue as would be in a closed loop system in which lag aims at being +minimized to avoid oscillation conditions. +'' {\bf - Fig. 4: the Author should motivate in the text why it has been chosen % r2.5 this transition bandwidth and if it is a typical requirement for phase-noise metrology. } -AH: Je ne sais pas comment justifier ça. Je dois dire que comme ça on peut éventuellement -décimer par deux le flux ? + +The purpose of the paper is to demonstrate how a given filter shape can be achieved by +minimizing varous resource criteria. Indeed the stopband and bandpass boundaries can +be questioned: we have selected this filter shape as a typical anti-aliasing filter considering +the the dataflow is to be halved. Hence, selecting a cutoff frequency of 40\% the initial +Nyquist frequency prevents noise from reaching baseband after decimating the dataflow by a +factor of 2. Such ideas are now stated explicitly in the text as ``Throughout this demonstration, +we arbitrarily set a bandpass of 40\% of the Nyquist frequency and a bandstop from 60\% +of the Nyquist frequency to the end of the band, as would be typically selected to prevent +aliasing before decimating the dataflow by 2. The method is however generalized to any filter +shape as long as it is defined from the initial modelling steps: Fig. \ref{fig:rejection_pyramid} +as described below is indeed unique for each filter shape.'' {\bf - The impact of the coefficient resolution is discussed. What about the % r2.6 - fait @@ -196,13 +233,15 @@ used in the analysis? If not, how is it changed with respect to the coefficient resolution? } -Pr\'eciser que le flux de donn\'ees en entr\'ees est de r\'esolution fixe +We have now stated in the beginning of the document that ``we have not included the PRN generator +or the ADC in the model: the input data size and rate are considered fixed and defined by the +hardware.'' so indeed the input datastream resolution is considered as a given. {\bf - Page 3, line 47: the initial criterion can be omitted and, consequently, % r2.7 - fait Fig. 5 can be removed. -- Page 3, line 55: “maximum rejection” is not compatible with fig. 4. % r2.8 - fait -It should be “minimum” +- Page 3, line 55: ``maximum rejection'' is not compatible with fig. 4. % r2.8 - fait +It should be ``minimum'' } AH: Je ne suis pas d'accord, le critère n'est pas le min de la rejection mais le max de la magnitude. J'ai corrigé en ce sens. @@ -214,7 +253,12 @@ de la magnitude. J'ai corrigé en ce sens. - Page 4, line 10: how $p$ is chosen? Which is the criterion used to choose % r2.12 - fait these particular configurations? Are they chosen automatically? - Page 4, line 31: how does the delta function transform model from non-linear % r2.13 - fait -and non-quadratic to a quadratic? +and non-quadratic to a quadratic?} + +JMF : il faudra mettre une phrase qui explique, ca en lisant cette reponse dans l'article +je ne comprends pas comment ca repond a la question + +{\bf - Captions of figure and tables are too minimal. % r2.14 - 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. @@ -226,10 +270,9 @@ of the curves is about 20 dBpk-pk and it doesn’t allow to appreciate the differences among the curves. I suggest to reduce the noise below 1 dBpk-pk. } -Comment as tu fait tes spectres Arthur ? Si tu as fait une FFT sur e.g. 2048 points -mais que tu as des jeux de donnees de e.g. 10000 points, on peut faire des moyennes -sur les sequences successives. Au pire si pas possible, une moyenne glissante sur -chaque spectre pour affiner les traits ? +Indeed averaging had been omitted during post-processing and figure generation: we +are grateful to the reviewer for emphasizing this point which has now been corrected. All spectra +now exhibit sub-dBpk-pl line thickness. %In conclusion, my opinion is that the methodology presented in the Manuscript %deserve to be published, provided that the criterion is changed according -- 2.16.4