Commit 7fcf1da2aa6e87f897a318bb72257584239903ed
1 parent
1334892553
Exists in
master
ajout de la version final de l'article.
Showing 5 changed files with 234 additions and 12 deletions Side-by-side Diff
.gitignore
| 1 | -ifcs2018.aux | |
| 2 | -ifcs2018.bbl | |
| 3 | -ifcs2018.blg | |
| 4 | -ifcs2018.log | |
| 5 | -ifcs2018.out | |
| 6 | -ifcs2018.pdf | |
| 1 | +ifcs2018_abstract.aux | |
| 2 | +ifcs2018_abstract.bbl | |
| 3 | +ifcs2018_abstract.blg | |
| 4 | +ifcs2018_abstract.log | |
| 5 | +ifcs2018_abstract.out | |
| 6 | +ifcs2018_abstract.pdf | |
| 7 | + | |
| 8 | +ifcs2018_processing.aux | |
| 9 | +ifcs2018_processing.bbl | |
| 10 | +ifcs2018_processing.blg | |
| 11 | +ifcs2018_processing.log | |
| 12 | +ifcs2018_processing.out | |
| 13 | +ifcs2018_processing.pdf | |
| 7 | 14 | |
| 8 | 15 | ifcs2018_poster.aux |
| 9 | 16 | ifcs2018_poster.log |
Makefile
| ... | ... | @@ -4,7 +4,7 @@ |
| 4 | 4 | BIB = bibtex |
| 5 | 5 | TARGET = ifcs2018 |
| 6 | 6 | |
| 7 | -all: $(TARGET) $(TARGET)_poster | |
| 7 | +all: $(TARGET)_abstract $(TARGET)_poster $(TARGET)_processing | |
| 8 | 8 | |
| 9 | 9 | view: $(TARGET) |
| 10 | 10 | evince $(TARGET).pdf |
| 11 | 11 | |
| ... | ... | @@ -12,13 +12,19 @@ |
| 12 | 12 | view_poster: $(TARGET)_poster |
| 13 | 13 | evince $(TARGET)_poster.pdf |
| 14 | 14 | |
| 15 | -$(TARGET): $(TARGET).tex references.bib | |
| 16 | - $(TEX) $(TARGET).tex | |
| 17 | - $(BIB) $(TARGET) | |
| 18 | - $(TEX) $(TARGET).tex | |
| 19 | - $(TEX) $(TARGET).tex | |
| 15 | +$(TARGET)_abstract: $(TARGET)_abstract.tex references.bib | |
| 16 | + $(TEX) $@.tex | |
| 17 | + $(BIB) $@ | |
| 18 | + $(TEX) $@.tex | |
| 19 | + $(TEX) $@.tex | |
| 20 | 20 | |
| 21 | 21 | $(TARGET)_poster: |
| 22 | + $(TEX) $@.tex | |
| 23 | + $(TEX) $@.tex | |
| 24 | + | |
| 25 | +$(TARGET)_processing: $(TARGET)_processing.tex references.bib | |
| 26 | + $(TEX) $@.tex | |
| 27 | + $(BIB) $@ | |
| 22 | 28 | $(TEX) $@.tex |
| 23 | 29 | $(TEX) $@.tex |
| 24 | 30 |
ifcs2018.tex
| 1 | -\documentclass[a4paper,conference]{IEEEtran/IEEEtran} | |
| 2 | -\usepackage{graphicx,color,hyperref} | |
| 3 | -\usepackage{amsfonts} | |
| 4 | -\usepackage{url} | |
| 5 | -\usepackage[normalem]{ulem} | |
| 6 | -\graphicspath{{/home/jmfriedt/gpr/170324_avalanche/}{/home/jmfriedt/gpr/1705_homemade/}} | |
| 7 | -% correct bad hyphenation here | |
| 8 | -\hyphenation{op-tical net-works semi-conduc-tor} | |
| 9 | -\textheight=26cm | |
| 10 | -\setlength{\footskip}{30pt} | |
| 11 | -\pagenumbering{gobble} | |
| 12 | -\begin{document} | |
| 13 | -\title{Filter optimization for real time digital processing of radiofrequency signals: application | |
| 14 | -to oscillator metrology} | |
| 15 | - | |
| 16 | -\author{\IEEEauthorblockN{A. Hugeat\IEEEauthorrefmark{1}\IEEEauthorrefmark{2}, J. Bernard\IEEEauthorrefmark{2}, | |
| 17 | -G. Goavec-M\'erou\IEEEauthorrefmark{1}, | |
| 18 | -P.-Y. Bourgeois\IEEEauthorrefmark{1}, J.-M Friedt\IEEEauthorrefmark{1}} | |
| 19 | -\IEEEauthorblockA{\IEEEauthorrefmark{1}FEMTO-ST, Time \& Frequency department, Besan\c con, France } | |
| 20 | -\IEEEauthorblockA{\IEEEauthorrefmark{2}FEMTO-ST, Computer Science department DISC, Besan\c con, France \\ | |
| 21 | -Email: \{pyb2,jmfriedt\}@femto-st.fr} | |
| 22 | -} | |
| 23 | -\maketitle | |
| 24 | -\thispagestyle{plain} | |
| 25 | -\pagestyle{plain} | |
| 26 | - | |
| 27 | -\begin{abstract} | |
| 28 | -Software Defined Radio (SDR) provides stability, flexibility and reconfigurability to | |
| 29 | -radiofrequency signal processing. Applied to oscillator characterization in the context | |
| 30 | -of ultrastable clocks, stringent filtering requirements are defined by spurious signal or | |
| 31 | -noise rejection needs. Since real time radiofrequency processing must be performed in a | |
| 32 | -Field Programmable Array to meet timing constraints, we investigate optimization strategies | |
| 33 | -to design filters meeting rejection characteristics while limiting the hardware resources | |
| 34 | -required and keeping timing constraints within the targeted measurement bandwidths. | |
| 35 | -\end{abstract} | |
| 36 | - | |
| 37 | -\begin{IEEEkeywords} | |
| 38 | -Software Defined Radio, Mixed-Integer Linear Programming, Finite Impulse Response filter | |
| 39 | -\end{IEEEkeywords} | |
| 40 | - | |
| 41 | -\section{Digital signal processing of ultrastable clock signals} | |
| 42 | - | |
| 43 | -Analog oscillator phase noise characteristics are classically performed by downconverting | |
| 44 | -the radiofrequency signal using a saturated mixer to bring the radiofrequency signal to baseband, | |
| 45 | -followed by a Fourier analysis of the beat signal to analyze phase fluctuations close to carrier. In | |
| 46 | -a fully digital approach, the radiofrequency signal is digitized and numerically downconverted by | |
| 47 | -multiplying the samples with a local numerically controlled oscillator (Fig. \ref{schema}) \cite{rsi}. | |
| 48 | - | |
| 49 | -\begin{figure}[h!tb] | |
| 50 | -\begin{center} | |
| 51 | -\includegraphics[width=.8\linewidth]{images/schema} | |
| 52 | -\end{center} | |
| 53 | -\caption{Fully digital oscillator phase noise characterization: the Device Under Test | |
| 54 | -(DUT) signal is sampled by the radiofrequency grade Analog to Digital Converter (ADC) and | |
| 55 | -downconverted by mixing with a Numerically Controlled Oscillator (NCO). Unwanted signals | |
| 56 | -and noise aliases are rejected by a Low Pass Filter (LPF) implemented as a cascade of Finite | |
| 57 | -Impulse Response (FIR) filters. The signal is then decimated before a Fourier analysis displays | |
| 58 | -the spectral characteristics of the phase fluctuations.} | |
| 59 | -\label{schema} | |
| 60 | -\end{figure} | |
| 61 | - | |
| 62 | -As with the analog mixer, | |
| 63 | -the non-linear behavior of the downconverter introduces noise or spurious signal aliasing as | |
| 64 | -well as the generation of the frequency sum signal in addition to the frequency difference. | |
| 65 | -These unwanted spectral characteristics must be rejected before decimating the data stream | |
| 66 | -for the phase noise spectral characterization. The characteristics introduced between the downconverter | |
| 67 | -and the decimation processing blocks are core characteristics of an oscillator characterization | |
| 68 | -system, and must reject out-of-band signals below the targeted phase noise -- typically in the | |
| 69 | -sub -170~dBc/Hz for ultrastable oscillator we aim at characterizing. The filter blocks will | |
| 70 | -use most resources of the Field Programmable Gate Array (FPGA) used to process the radiofrequency | |
| 71 | -datastream: optimizing the performance of the filter while reducing the needed resources is | |
| 72 | -hence tackled in a systematic approach using optimization techniques. Most significantly, we | |
| 73 | -tackle the issue by attempting to cascade multiple Finite Impulse Response (FIR) filters with | |
| 74 | -tunable number of coefficients and tunable number of bits representing the coefficients and the | |
| 75 | -data being processed. | |
| 76 | - | |
| 77 | -\section{Filter optimization} | |
| 78 | - | |
| 79 | -A basic approach for implementing the FIR filter is to compute the transfer function of | |
| 80 | -a monolithic filter: this single filter defines all coefficients with the same resolution | |
| 81 | -(number of bits) and processes data represented with their own resolution. Meeting the | |
| 82 | -filter shape requires a large number of coefficients, limited by resources of the FPGA since | |
| 83 | -this filter must process data stream at the radiofrequency sampling rate after the mixer. | |
| 84 | - | |
| 85 | -An optimization problem \cite{leung2004handbook} aims at improving one or many | |
| 86 | -performance criteria within a constrained resource environment. Amongst the tools | |
| 87 | -developed to meet this aim, Mixed-Integer Linear Programming (MILP) provides the framework to | |
| 88 | -provide a formal definition of the stated problem and search for an optimal use of available | |
| 89 | -resources \cite{yu2007design, kodek1980design}. | |
| 90 | - | |
| 91 | -The degrees of freedom when addressing the problem of replacing the single monolithic | |
| 92 | -FIR with a cascade of optimized filters are the number of coefficients $N_i$ of each filter $i$, | |
| 93 | -the number of bits $c_i$ representing the coefficients and the number of bits $d_i$ representing | |
| 94 | -the data fed to the filter. Because each FIR in the chain is fed the output of the previous stage, | |
| 95 | -the optimization of the complete processing chain within a constrained resource environment is not | |
| 96 | -trivial. The resource occupation of a FIR filter is considered as $c_i+d_i+\log_2(N_i)$ which is | |
| 97 | -the number of bits needed in a worst case condition to represent the output of the FIR. | |
| 98 | - | |
| 99 | - | |
| 100 | -\begin{figure}[h!tb] | |
| 101 | -\includegraphics[width=\linewidth]{images/noise-rejection.pdf} | |
| 102 | -\caption{Rejection as a function of number of coefficients and number of bits} | |
| 103 | -\label{noise-rejection} | |
| 104 | -\end{figure} | |
| 105 | - | |
| 106 | -The objective function maximizes the noise rejection while keeping resource occupation below | |
| 107 | -a user-defined threshold. The MILP solver is allowed to choose the number of successive | |
| 108 | -filters, within an upper bound. The last problem is to model the noise rejection. Since filter | |
| 109 | -noise rejection capability is not modeled with linear equation, a look-up-table is generated | |
| 110 | -for multiple filter configurations in which the $c_i$, $d_i$ and $N_i$ parameters are varied: for each | |
| 111 | -one of these conditions, the low-pass filter rejection defined as the mean power between | |
| 112 | -half the Nyquist frequency and the Nyquist frequency is stored as computed by the frequency response | |
| 113 | -of the digital filter (Fig. \ref{noise-rejection}). | |
| 114 | - | |
| 115 | -Linear program formalism for solving the problem is well documented: an objective function is | |
| 116 | -defined which is linearly dependent on the parameters to be optimized. Constraints are expressed | |
| 117 | -as linear equation and solved using one of the available solvers, in our case GLPK\cite{glpk}. | |
| 118 | - | |
| 119 | -The MILP solver provides a solution to the problem by selecting a series of small FIR with | |
| 120 | -increasing number of bits representing data and coefficients as well as an increasing number | |
| 121 | -of coefficients, instead of a single monolithic filter. Fig. \ref{compare-fir} exhibits the | |
| 122 | -performance comparison between one solution and a monolithic FIR when selecting a cutoff | |
| 123 | -frequency of half the Nyquist frequency: a series of 5 FIR and a series of 10 FIR with the | |
| 124 | -same space usage are provided as selected by the MILP solver. The FIR cascade provides improved | |
| 125 | -rejection than the monolithic FIR at the expense of a lower cutoff frequency which remains to | |
| 126 | -be tuned or compensated for. | |
| 127 | - | |
| 128 | -\begin{figure}[h!tb] | |
| 129 | -% \includegraphics[width=\linewidth]{images/compare-fir.pdf} | |
| 130 | -\includegraphics[width=\linewidth]{images/fir-mono-vs-fir-series-200dB.pdf} | |
| 131 | -\caption{Comparison of the rejection capability between a series of FIR and a monolithic FIR | |
| 132 | -with a cutoff frequency set at half the Nyquist frequency.} | |
| 133 | -\label{compare-fir} | |
| 134 | -\end{figure} | |
| 135 | - | |
| 136 | -The resource occupation when synthesizing such FIR on a Xilinx FPGA is summarized as Tab. \ref{t1}. | |
| 137 | - | |
| 138 | -\begin{table}[h!tb] | |
| 139 | -\caption{Resource occupation on a Xilinx Zynq-7000 series FPGA when synthesizing the FIR cascade | |
| 140 | -identified as optimal by the MILP solver within a finite resource criterion. The last line refers | |
| 141 | -to available resources on a Zynq-7010 as found on the Redpitaya board. The rejection is the mean | |
| 142 | -value from 0.6 to 1 Nyquist frequency.} | |
| 143 | -\begin{center} | |
| 144 | -\begin{tabular}{|c|cccc|}\hline | |
| 145 | -FIR & BlockRAM & LookUpTables & DSP & rejection (dB)\\\hline\hline | |
| 146 | -1 (monolithic) & 1 & 4064 & 40 & -72 \\ | |
| 147 | -5 & 5 & 12332 & 0 & -217 \\ | |
| 148 | -10 & 10 & 12717 & 0 & -251 \\\hline\hline | |
| 149 | -Zynq 7010 & 60 & 17600 & 80 & \\\hline | |
| 150 | -\end{tabular} | |
| 151 | -\end{center} | |
| 152 | -%\vspace{-0.7cm} | |
| 153 | -\label{t1} | |
| 154 | -\end{table} | |
| 155 | - | |
| 156 | -\section{Filter coefficient selection} | |
| 157 | - | |
| 158 | -The coefficients of a single monolithic filter are computed as the impulse response | |
| 159 | -of the filter transfer function, and practically approximated by a multitude of methods | |
| 160 | -including least square optimization (Matlab's {\tt firls} function), Hamming or Kaiser windowing | |
| 161 | -(Matlab's {\tt fir1} function). Cascading filters opens a new optimization opportunity by | |
| 162 | -selecting various coefficient sets depending on the number of coefficients. Fig. \ref{2} | |
| 163 | -illustrates that for a number of coefficients ranging from 8 to 47, {\tt fir1} provides a better | |
| 164 | -rejection than {\tt firls}: since the linear solver increases the number of coefficients along | |
| 165 | -the processing chain, the type of selected filter also changes depending on the number of coefficients | |
| 166 | -and evolves along the processing chain. | |
| 167 | - | |
| 168 | -\begin{figure}[h!tb] | |
| 169 | -\includegraphics[width=\linewidth]{images/fir1-vs-firls} | |
| 170 | -\caption{Evolution of the rejection capability of least-square optimized filters and Hamming | |
| 171 | -FIR filters as a function of the number of coefficients, for floating point numbers and 8-bit | |
| 172 | -encoded integers.} | |
| 173 | -\label{2} | |
| 174 | -\end{figure} | |
| 175 | - | |
| 176 | -\section{Conclusion} | |
| 177 | - | |
| 178 | -We address the optimization problem of designing a low-pass filter chain in a Field Programmable Gate | |
| 179 | -Array for improved noise rejection within constrained resource occupation, as needed for | |
| 180 | -real time processing of radiofrequency signal when characterizing spectral phase noise | |
| 181 | -characteristics of stable oscillators. The flexibility of the digital approach makes the result | |
| 182 | -best suited for closing the loop and using the measurement output in a feedback loop for | |
| 183 | -controlling clocks, e.g. in a quartz-stabilized high performance clock whose long term behavior | |
| 184 | -is controlled by non-piezoelectric resonator (sapphire resonator, microwave or optical | |
| 185 | -atomic transition). | |
| 186 | - | |
| 187 | -\section*{Acknowledgement} | |
| 188 | - | |
| 189 | -This work is supported by the ANR Programme d'Investissement d'Avenir in | |
| 190 | -progress at the Time and Frequency Departments of the FEMTO-ST Institute | |
| 191 | -(Oscillator IMP, First-TF and Refimeve+), and by R\'egion de Franche-Comt\'e. | |
| 192 | -The authors would like to thank E. Rubiola, F. Vernotte, G. Cabodevila for support and | |
| 193 | -fruitful discussions. | |
| 194 | - | |
| 195 | -\bibliographystyle{IEEEtran} | |
| 196 | -\bibliography{references} | |
| 197 | -\end{document} |
ifcs2018_abstract.tex
| 1 | +\documentclass[a4paper,conference]{IEEEtran/IEEEtran} | |
| 2 | +\usepackage{graphicx,color,hyperref} | |
| 3 | +\usepackage{amsfonts} | |
| 4 | +\usepackage{url} | |
| 5 | +\usepackage[normalem]{ulem} | |
| 6 | +\graphicspath{{/home/jmfriedt/gpr/170324_avalanche/}{/home/jmfriedt/gpr/1705_homemade/}} | |
| 7 | +% correct bad hyphenation here | |
| 8 | +\hyphenation{op-tical net-works semi-conduc-tor} | |
| 9 | +\textheight=26cm | |
| 10 | +\setlength{\footskip}{30pt} | |
| 11 | +\pagenumbering{gobble} | |
| 12 | +\begin{document} | |
| 13 | +\title{Filter optimization for real time digital processing of radiofrequency signals: application | |
| 14 | +to oscillator metrology} | |
| 15 | + | |
| 16 | +\author{\IEEEauthorblockN{A. Hugeat\IEEEauthorrefmark{1}\IEEEauthorrefmark{2}, J. Bernard\IEEEauthorrefmark{2}, | |
| 17 | +G. Goavec-M\'erou\IEEEauthorrefmark{1}, | |
| 18 | +P.-Y. Bourgeois\IEEEauthorrefmark{1}, J.-M Friedt\IEEEauthorrefmark{1}} | |
| 19 | +\IEEEauthorblockA{\IEEEauthorrefmark{1}FEMTO-ST, Time \& Frequency department, Besan\c con, France } | |
| 20 | +\IEEEauthorblockA{\IEEEauthorrefmark{2}FEMTO-ST, Computer Science department DISC, Besan\c con, France \\ | |
| 21 | +Email: \{pyb2,jmfriedt\}@femto-st.fr} | |
| 22 | +} | |
| 23 | +\maketitle | |
| 24 | +\thispagestyle{plain} | |
| 25 | +\pagestyle{plain} | |
| 26 | + | |
| 27 | +\begin{abstract} | |
| 28 | +Software Defined Radio (SDR) provides stability, flexibility and reconfigurability to | |
| 29 | +radiofrequency signal processing. Applied to oscillator characterization in the context | |
| 30 | +of ultrastable clocks, stringent filtering requirements are defined by spurious signal or | |
| 31 | +noise rejection needs. Since real time radiofrequency processing must be performed in a | |
| 32 | +Field Programmable Array to meet timing constraints, we investigate optimization strategies | |
| 33 | +to design filters meeting rejection characteristics while limiting the hardware resources | |
| 34 | +required and keeping timing constraints within the targeted measurement bandwidths. | |
| 35 | +\end{abstract} | |
| 36 | + | |
| 37 | +\begin{IEEEkeywords} | |
| 38 | +Software Defined Radio, Mixed-Integer Linear Programming, Finite Impulse Response filter | |
| 39 | +\end{IEEEkeywords} | |
| 40 | + | |
| 41 | +\section{Digital signal processing of ultrastable clock signals} | |
| 42 | + | |
| 43 | +Analog oscillator phase noise characteristics are classically performed by downconverting | |
| 44 | +the radiofrequency signal using a saturated mixer to bring the radiofrequency signal to baseband, | |
| 45 | +followed by a Fourier analysis of the beat signal to analyze phase fluctuations close to carrier. In | |
| 46 | +a fully digital approach, the radiofrequency signal is digitized and numerically downconverted by | |
| 47 | +multiplying the samples with a local numerically controlled oscillator (Fig. \ref{schema}) \cite{rsi}. | |
| 48 | + | |
| 49 | +\begin{figure}[h!tb] | |
| 50 | +\begin{center} | |
| 51 | +\includegraphics[width=.8\linewidth]{images/schema} | |
| 52 | +\end{center} | |
| 53 | +\caption{Fully digital oscillator phase noise characterization: the Device Under Test | |
| 54 | +(DUT) signal is sampled by the radiofrequency grade Analog to Digital Converter (ADC) and | |
| 55 | +downconverted by mixing with a Numerically Controlled Oscillator (NCO). Unwanted signals | |
| 56 | +and noise aliases are rejected by a Low Pass Filter (LPF) implemented as a cascade of Finite | |
| 57 | +Impulse Response (FIR) filters. The signal is then decimated before a Fourier analysis displays | |
| 58 | +the spectral characteristics of the phase fluctuations.} | |
| 59 | +\label{schema} | |
| 60 | +\end{figure} | |
| 61 | + | |
| 62 | +As with the analog mixer, | |
| 63 | +the non-linear behavior of the downconverter introduces noise or spurious signal aliasing as | |
| 64 | +well as the generation of the frequency sum signal in addition to the frequency difference. | |
| 65 | +These unwanted spectral characteristics must be rejected before decimating the data stream | |
| 66 | +for the phase noise spectral characterization. The characteristics introduced between the downconverter | |
| 67 | +and the decimation processing blocks are core characteristics of an oscillator characterization | |
| 68 | +system, and must reject out-of-band signals below the targeted phase noise -- typically in the | |
| 69 | +sub -170~dBc/Hz for ultrastable oscillator we aim at characterizing. The filter blocks will | |
| 70 | +use most resources of the Field Programmable Gate Array (FPGA) used to process the radiofrequency | |
| 71 | +datastream: optimizing the performance of the filter while reducing the needed resources is | |
| 72 | +hence tackled in a systematic approach using optimization techniques. Most significantly, we | |
| 73 | +tackle the issue by attempting to cascade multiple Finite Impulse Response (FIR) filters with | |
| 74 | +tunable number of coefficients and tunable number of bits representing the coefficients and the | |
| 75 | +data being processed. | |
| 76 | + | |
| 77 | +\section{Filter optimization} | |
| 78 | + | |
| 79 | +A basic approach for implementing the FIR filter is to compute the transfer function of | |
| 80 | +a monolithic filter: this single filter defines all coefficients with the same resolution | |
| 81 | +(number of bits) and processes data represented with their own resolution. Meeting the | |
| 82 | +filter shape requires a large number of coefficients, limited by resources of the FPGA since | |
| 83 | +this filter must process data stream at the radiofrequency sampling rate after the mixer. | |
| 84 | + | |
| 85 | +An optimization problem \cite{leung2004handbook} aims at improving one or many | |
| 86 | +performance criteria within a constrained resource environment. Amongst the tools | |
| 87 | +developed to meet this aim, Mixed-Integer Linear Programming (MILP) provides the framework to | |
| 88 | +provide a formal definition of the stated problem and search for an optimal use of available | |
| 89 | +resources \cite{yu2007design, kodek1980design}. | |
| 90 | + | |
| 91 | +The degrees of freedom when addressing the problem of replacing the single monolithic | |
| 92 | +FIR with a cascade of optimized filters are the number of coefficients $N_i$ of each filter $i$, | |
| 93 | +the number of bits $c_i$ representing the coefficients and the number of bits $d_i$ representing | |
| 94 | +the data fed to the filter. Because each FIR in the chain is fed the output of the previous stage, | |
| 95 | +the optimization of the complete processing chain within a constrained resource environment is not | |
| 96 | +trivial. The resource occupation of a FIR filter is considered as $c_i+d_i+\log_2(N_i)$ which is | |
| 97 | +the number of bits needed in a worst case condition to represent the output of the FIR. | |
| 98 | + | |
| 99 | + | |
| 100 | +\begin{figure}[h!tb] | |
| 101 | +\includegraphics[width=\linewidth]{images/noise-rejection.pdf} | |
| 102 | +\caption{Rejection as a function of number of coefficients and number of bits} | |
| 103 | +\label{noise-rejection} | |
| 104 | +\end{figure} | |
| 105 | + | |
| 106 | +The objective function maximizes the noise rejection while keeping resource occupation below | |
| 107 | +a user-defined threshold. The MILP solver is allowed to choose the number of successive | |
| 108 | +filters, within an upper bound. The last problem is to model the noise rejection. Since filter | |
| 109 | +noise rejection capability is not modeled with linear equation, a look-up-table is generated | |
| 110 | +for multiple filter configurations in which the $c_i$, $d_i$ and $N_i$ parameters are varied: for each | |
| 111 | +one of these conditions, the low-pass filter rejection defined as the mean power between | |
| 112 | +half the Nyquist frequency and the Nyquist frequency is stored as computed by the frequency response | |
| 113 | +of the digital filter (Fig. \ref{noise-rejection}). | |
| 114 | + | |
| 115 | +Linear program formalism for solving the problem is well documented: an objective function is | |
| 116 | +defined which is linearly dependent on the parameters to be optimized. Constraints are expressed | |
| 117 | +as linear equation and solved using one of the available solvers, in our case GLPK\cite{glpk}. | |
| 118 | + | |
| 119 | +The MILP solver provides a solution to the problem by selecting a series of small FIR with | |
| 120 | +increasing number of bits representing data and coefficients as well as an increasing number | |
| 121 | +of coefficients, instead of a single monolithic filter. Fig. \ref{compare-fir} exhibits the | |
| 122 | +performance comparison between one solution and a monolithic FIR when selecting a cutoff | |
| 123 | +frequency of half the Nyquist frequency: a series of 5 FIR and a series of 10 FIR with the | |
| 124 | +same space usage are provided as selected by the MILP solver. The FIR cascade provides improved | |
| 125 | +rejection than the monolithic FIR at the expense of a lower cutoff frequency which remains to | |
| 126 | +be tuned or compensated for. | |
| 127 | + | |
| 128 | +\begin{figure}[h!tb] | |
| 129 | +% \includegraphics[width=\linewidth]{images/compare-fir.pdf} | |
| 130 | +\includegraphics[width=\linewidth]{images/fir-mono-vs-fir-series-200dB.pdf} | |
| 131 | +\caption{Comparison of the rejection capability between a series of FIR and a monolithic FIR | |
| 132 | +with a cutoff frequency set at half the Nyquist frequency.} | |
| 133 | +\label{compare-fir} | |
| 134 | +\end{figure} | |
| 135 | + | |
| 136 | +The resource occupation when synthesizing such FIR on a Xilinx FPGA is summarized as Tab. \ref{t1}. | |
| 137 | + | |
| 138 | +\begin{table}[h!tb] | |
| 139 | +\caption{Resource occupation on a Xilinx Zynq-7000 series FPGA when synthesizing the FIR cascade | |
| 140 | +identified as optimal by the MILP solver within a finite resource criterion. The last line refers | |
| 141 | +to available resources on a Zynq-7010 as found on the Redpitaya board. The rejection is the mean | |
| 142 | +value from 0.6 to 1 Nyquist frequency.} | |
| 143 | +\begin{center} | |
| 144 | +\begin{tabular}{|c|cccc|}\hline | |
| 145 | +FIR & BlockRAM & LookUpTables & DSP & rejection (dB)\\\hline\hline | |
| 146 | +1 (monolithic) & 1 & 4064 & 40 & -72 \\ | |
| 147 | +5 & 5 & 12332 & 0 & -217 \\ | |
| 148 | +10 & 10 & 12717 & 0 & -251 \\\hline\hline | |
| 149 | +Zynq 7010 & 60 & 17600 & 80 & \\\hline | |
| 150 | +\end{tabular} | |
| 151 | +\end{center} | |
| 152 | +%\vspace{-0.7cm} | |
| 153 | +\label{t1} | |
| 154 | +\end{table} | |
| 155 | + | |
| 156 | +\section{Filter coefficient selection} | |
| 157 | + | |
| 158 | +The coefficients of a single monolithic filter are computed as the impulse response | |
| 159 | +of the filter transfer function, and practically approximated by a multitude of methods | |
| 160 | +including least square optimization (Matlab's {\tt firls} function), Hamming or Kaiser windowing | |
| 161 | +(Matlab's {\tt fir1} function). Cascading filters opens a new optimization opportunity by | |
| 162 | +selecting various coefficient sets depending on the number of coefficients. Fig. \ref{2} | |
| 163 | +illustrates that for a number of coefficients ranging from 8 to 47, {\tt fir1} provides a better | |
| 164 | +rejection than {\tt firls}: since the linear solver increases the number of coefficients along | |
| 165 | +the processing chain, the type of selected filter also changes depending on the number of coefficients | |
| 166 | +and evolves along the processing chain. | |
| 167 | + | |
| 168 | +\begin{figure}[h!tb] | |
| 169 | +\includegraphics[width=\linewidth]{images/fir1-vs-firls} | |
| 170 | +\caption{Evolution of the rejection capability of least-square optimized filters and Hamming | |
| 171 | +FIR filters as a function of the number of coefficients, for floating point numbers and 8-bit | |
| 172 | +encoded integers.} | |
| 173 | +\label{2} | |
| 174 | +\end{figure} | |
| 175 | + | |
| 176 | +\section{Conclusion} | |
| 177 | + | |
| 178 | +We address the optimization problem of designing a low-pass filter chain in a Field Programmable Gate | |
| 179 | +Array for improved noise rejection within constrained resource occupation, as needed for | |
| 180 | +real time processing of radiofrequency signal when characterizing spectral phase noise | |
| 181 | +characteristics of stable oscillators. The flexibility of the digital approach makes the result | |
| 182 | +best suited for closing the loop and using the measurement output in a feedback loop for | |
| 183 | +controlling clocks, e.g. in a quartz-stabilized high performance clock whose long term behavior | |
| 184 | +is controlled by non-piezoelectric resonator (sapphire resonator, microwave or optical | |
| 185 | +atomic transition). | |
| 186 | + | |
| 187 | +\section*{Acknowledgement} | |
| 188 | + | |
| 189 | +This work is supported by the ANR Programme d'Investissement d'Avenir in | |
| 190 | +progress at the Time and Frequency Departments of the FEMTO-ST Institute | |
| 191 | +(Oscillator IMP, First-TF and Refimeve+), and by R\'egion de Franche-Comt\'e. | |
| 192 | +The authors would like to thank E. Rubiola, F. Vernotte, G. Cabodevila for support and | |
| 193 | +fruitful discussions. | |
| 194 | + | |
| 195 | +\bibliographystyle{IEEEtran} | |
| 196 | +\bibliography{references} | |
| 197 | +\end{document} |
ifcs2018_processing.tex
| 1 | +\documentclass[a4paper,conference]{IEEEtran/IEEEtran} | |
| 2 | +\usepackage{graphicx,color,hyperref} | |
| 3 | +\usepackage{amsfonts} | |
| 4 | +\usepackage{url} | |
| 5 | +\usepackage[normalem]{ulem} | |
| 6 | +\graphicspath{{/home/jmfriedt/gpr/170324_avalanche/}{/home/jmfriedt/gpr/1705_homemade/}} | |
| 7 | +% correct bad hyphenation here | |
| 8 | +\hyphenation{op-tical net-works semi-conduc-tor} | |
| 9 | +\textheight=26cm | |
| 10 | +\setlength{\footskip}{30pt} | |
| 11 | +\pagenumbering{gobble} | |
| 12 | +\begin{document} | |
| 13 | +\title{Filter optimization for real time digital processing of radiofrequency signals: application | |
| 14 | +to oscillator metrology} | |
| 15 | + | |
| 16 | +\author{\IEEEauthorblockN{A. Hugeat\IEEEauthorrefmark{1}\IEEEauthorrefmark{2}, J. Bernard\IEEEauthorrefmark{2}, | |
| 17 | +G. Goavec-M\'erou\IEEEauthorrefmark{1}, | |
| 18 | +P.-Y. Bourgeois\IEEEauthorrefmark{1}, J.-M Friedt\IEEEauthorrefmark{1}} | |
| 19 | +\IEEEauthorblockA{\IEEEauthorrefmark{1}FEMTO-ST, Time \& Frequency department, Besan\c con, France } | |
| 20 | +\IEEEauthorblockA{\IEEEauthorrefmark{2}FEMTO-ST, Computer Science department DISC, Besan\c con, France \\ | |
| 21 | +Email: \{pyb2,jmfriedt\}@femto-st.fr} | |
| 22 | +} | |
| 23 | +\maketitle | |
| 24 | +\thispagestyle{plain} | |
| 25 | +\pagestyle{plain} | |
| 26 | + | |
| 27 | +\begin{abstract} | |
| 28 | +Software Defined Radio (SDR) provides stability, flexibility and reconfigurability to | |
| 29 | +radiofrequency signal processing. Applied to oscillator characterization in the context | |
| 30 | +of ultrastable clocks, stringent filtering requirements are defined by spurious signal or | |
| 31 | +noise rejection needs. Since real time radiofrequency processing must be performed in a | |
| 32 | +Field Programmable Array to meet timing constraints, we investigate optimization strategies | |
| 33 | +to design filters meeting rejection characteristics while limiting the hardware resources | |
| 34 | +required and keeping timing constraints within the targeted measurement bandwidths. | |
| 35 | +\end{abstract} | |
| 36 | + | |
| 37 | +\begin{IEEEkeywords} | |
| 38 | +Software Defined Radio, Mixed-Integer Linear Programming, Finite Impulse Response filter | |
| 39 | +\end{IEEEkeywords} | |
| 40 | + | |
| 41 | +\section{Digital signal processing of ultrastable clock signals} | |
| 42 | + | |
| 43 | +Analog oscillator phase noise characteristics are classically performed by downconverting | |
| 44 | +the radiofrequency signal using a saturated mixer to bring the radiofrequency signal to baseband, | |
| 45 | +followed by a Fourier analysis of the beat signal to analyze phase fluctuations close to carrier. In | |
| 46 | +a fully digital approach, the radiofrequency signal is digitized and numerically downconverted by | |
| 47 | +multiplying the samples with a local numerically controlled oscillator (Fig. \ref{schema}) \cite{rsi}. | |
| 48 | + | |
| 49 | +\begin{figure}[h!tb] | |
| 50 | +\begin{center} | |
| 51 | +\includegraphics[width=.8\linewidth]{images/schema} | |
| 52 | +\end{center} | |
| 53 | +\caption{Fully digital oscillator phase noise characterization: the Device Under Test | |
| 54 | +(DUT) signal is sampled by the radiofrequency grade Analog to Digital Converter (ADC) and | |
| 55 | +downconverted by mixing with a Numerically Controlled Oscillator (NCO). Unwanted signals | |
| 56 | +and noise aliases are rejected by a Low Pass Filter (LPF) implemented as a cascade of Finite | |
| 57 | +Impulse Response (FIR) filters. The signal is then decimated before a Fourier analysis displays | |
| 58 | +the spectral characteristics of the phase fluctuations.} | |
| 59 | +\label{schema} | |
| 60 | +\end{figure} | |
| 61 | + | |
| 62 | +As with the analog mixer, | |
| 63 | +the non-linear behavior of the downconverter introduces noise or spurious signal aliasing as | |
| 64 | +well as the generation of the frequency sum signal in addition to the frequency difference. | |
| 65 | +These unwanted spectral characteristics must be rejected before decimating the data stream | |
| 66 | +for the phase noise spectral characterization. The characteristics introduced between the downconverter | |
| 67 | +and the decimation processing blocks are core characteristics of an oscillator characterization | |
| 68 | +system, and must reject out-of-band signals below the targeted phase noise -- typically in the | |
| 69 | +sub -170~dBc/Hz for ultrastable oscillator we aim at characterizing. The filter blocks will | |
| 70 | +use most resources of the Field Programmable Gate Array (FPGA) used to process the radiofrequency | |
| 71 | +datastream: optimizing the performance of the filter while reducing the needed resources is | |
| 72 | +hence tackled in a systematic approach using optimization techniques. Most significantly, we | |
| 73 | +tackle the issue by attempting to cascade multiple Finite Impulse Response (FIR) filters with | |
| 74 | +tunable number of coefficients and tunable number of bits representing the coefficients and the | |
| 75 | +data being processed. | |
| 76 | + | |
| 77 | +\section{Finite impulse response filter} | |
| 78 | + | |
| 79 | +We select FIR filter for their unconditional stability and ease of design. A FIR filter is defined | |
| 80 | +by a set of weights $b_k$ applied to the inputs $x_k$ through a convolution to generate the outputs $y_k$ | |
| 81 | +$$y_n=\sum_{k=0}^N b_k x_{n-k}$$ | |
| 82 | + | |
| 83 | +As opposed to an implementation on a general purpose processor in which word size is defined by the | |
| 84 | +processor architecture, implementing such a filter on an FPGA offer more degrees of freedom since | |
| 85 | +not only the coefficient values and number of taps must be defined, but also the number of bits defining | |
| 86 | +the coefficients and the sample size. | |
| 87 | + | |
| 88 | +\section{Filter optimization} | |
| 89 | + | |
| 90 | +A basic approach for implementing the FIR filter is to compute the transfer function of | |
| 91 | +a monolithic filter: this single filter defines all coefficients with the same resolution | |
| 92 | +(number of bits) and processes data represented with their own resolution. Meeting the | |
| 93 | +filter shape requires a large number of coefficients, limited by resources of the FPGA since | |
| 94 | +this filter must process data stream at the radiofrequency sampling rate after the mixer. | |
| 95 | + | |
| 96 | +An optimization problem \cite{leung2004handbook} aims at improving one or many | |
| 97 | +performance criteria within a constrained resource environment. Amongst the tools | |
| 98 | +developed to meet this aim, Mixed-Integer Linear Programming (MILP) provides the framework to | |
| 99 | +provide a formal definition of the stated problem and search for an optimal use of available | |
| 100 | +resources \cite{yu2007design, kodek1980design}. | |
| 101 | + | |
| 102 | +The degrees of freedom when addressing the problem of replacing the single monolithic | |
| 103 | +FIR with a cascade of optimized filters are the number of coefficients $N_i$ of each filter $i$, | |
| 104 | +the number of bits $c_i$ representing the coefficients and the number of bits $d_i$ representing | |
| 105 | +the data fed to the filter. Because each FIR in the chain is fed the output of the previous stage, | |
| 106 | +the optimization of the complete processing chain within a constrained resource environment is not | |
| 107 | +trivial. The resource occupation of a FIR filter is considered as $c_i+d_i+\log_2(N_i)$ which is | |
| 108 | +the number of bits needed in a worst case condition to represent the output of the FIR. | |
| 109 | + | |
| 110 | + | |
| 111 | +\begin{figure}[h!tb] | |
| 112 | +\includegraphics[width=\linewidth]{images/noise-rejection.pdf} | |
| 113 | +\caption{Rejection as a function of number of coefficients and number of bits} | |
| 114 | +\label{noise-rejection} | |
| 115 | +\end{figure} | |
| 116 | + | |
| 117 | +The objective function maximizes the noise rejection while keeping resource occupation below | |
| 118 | +a user-defined threshold. The MILP solver is allowed to choose the number of successive | |
| 119 | +filters, within an upper bound. The last problem is to model the noise rejection. Since filter | |
| 120 | +noise rejection capability is not modeled with linear equation, a look-up-table is generated | |
| 121 | +for multiple filter configurations in which the $c_i$, $d_i$ and $N_i$ parameters are varied: for each | |
| 122 | +one of these conditions, the low-pass filter rejection defined as the mean power between | |
| 123 | +half the Nyquist frequency and the Nyquist frequency is stored as computed by the frequency response | |
| 124 | +of the digital filter (Fig. \ref{noise-rejection}). | |
| 125 | + | |
| 126 | +Linear program formalism for solving the problem is well documented: an objective function is | |
| 127 | +defined which is linearly dependent on the parameters to be optimized. Constraints are expressed | |
| 128 | +as linear equation and solved using one of the available solvers, in our case GLPK\cite{glpk}. | |
| 129 | + | |
| 130 | +The MILP solver provides a solution to the problem by selecting a series of small FIR with | |
| 131 | +increasing number of bits representing data and coefficients as well as an increasing number | |
| 132 | +of coefficients, instead of a single monolithic filter. Fig. \ref{compare-fir} exhibits the | |
| 133 | +performance comparison between one solution and a monolithic FIR when selecting a cutoff | |
| 134 | +frequency of half the Nyquist frequency: a series of 5 FIR and a series of 10 FIR with the | |
| 135 | +same space usage are provided as selected by the MILP solver. The FIR cascade provides improved | |
| 136 | +rejection than the monolithic FIR at the expense of a lower cutoff frequency which remains to | |
| 137 | +be tuned or compensated for. | |
| 138 | + | |
| 139 | +\begin{figure}[h!tb] | |
| 140 | +% \includegraphics[width=\linewidth]{images/compare-fir.pdf} | |
| 141 | +\includegraphics[width=\linewidth]{images/fir-mono-vs-fir-series-200dB.pdf} | |
| 142 | +\caption{Comparison of the rejection capability between a series of FIR and a monolithic FIR | |
| 143 | +with a cutoff frequency set at half the Nyquist frequency.} | |
| 144 | +\label{compare-fir} | |
| 145 | +\end{figure} | |
| 146 | + | |
| 147 | +The resource occupation when synthesizing such FIR on a Xilinx FPGA is summarized as Tab. \ref{t1}. | |
| 148 | + | |
| 149 | +\begin{table}[h!tb] | |
| 150 | +\caption{Resource occupation on a Xilinx Zynq-7000 series FPGA when synthesizing the FIR cascade | |
| 151 | +identified as optimal by the MILP solver within a finite resource criterion. The last line refers | |
| 152 | +to available resources on a Zynq-7010 as found on the Redpitaya board. The rejection is the mean | |
| 153 | +value from 0.6 to 1 Nyquist frequency.} | |
| 154 | +\begin{center} | |
| 155 | +\begin{tabular}{|c|cccc|}\hline | |
| 156 | +FIR & BlockRAM & LookUpTables & DSP & rejection (dB)\\\hline\hline | |
| 157 | +1 (monolithic) & 1 & 4064 & 40 & -72 \\ | |
| 158 | +5 & 5 & 12332 & 0 & -217 \\ | |
| 159 | +10 & 10 & 12717 & 0 & -251 \\\hline\hline | |
| 160 | +Zynq 7010 & 60 & 17600 & 80 & \\\hline | |
| 161 | +\end{tabular} | |
| 162 | +\end{center} | |
| 163 | +%\vspace{-0.7cm} | |
| 164 | +\label{t1} | |
| 165 | +\end{table} | |
| 166 | + | |
| 167 | +\section{Filter coefficient selection} | |
| 168 | + | |
| 169 | +The coefficients of a single monolithic filter are computed as the impulse response | |
| 170 | +of the filter transfer function, and practically approximated by a multitude of methods | |
| 171 | +including least square optimization (Matlab's {\tt firls} function), Hamming or Kaiser windowing | |
| 172 | +(Matlab's {\tt fir1} function). Cascading filters opens a new optimization opportunity by | |
| 173 | +selecting various coefficient sets depending on the number of coefficients. Fig. \ref{2} | |
| 174 | +illustrates that for a number of coefficients ranging from 8 to 47, {\tt fir1} provides a better | |
| 175 | +rejection than {\tt firls}: since the linear solver increases the number of coefficients along | |
| 176 | +the processing chain, the type of selected filter also changes depending on the number of coefficients | |
| 177 | +and evolves along the processing chain. | |
| 178 | + | |
| 179 | +\begin{figure}[h!tb] | |
| 180 | +\includegraphics[width=\linewidth]{images/fir1-vs-firls} | |
| 181 | +\caption{Evolution of the rejection capability of least-square optimized filters and Hamming | |
| 182 | +FIR filters as a function of the number of coefficients, for floating point numbers and 8-bit | |
| 183 | +encoded integers.} | |
| 184 | +\label{2} | |
| 185 | +\end{figure} | |
| 186 | + | |
| 187 | +\section{Conclusion} | |
| 188 | + | |
| 189 | +We address the optimization problem of designing a low-pass filter chain in a Field Programmable Gate | |
| 190 | +Array for improved noise rejection within constrained resource occupation, as needed for | |
| 191 | +real time processing of radiofrequency signal when characterizing spectral phase noise | |
| 192 | +characteristics of stable oscillators. The flexibility of the digital approach makes the result | |
| 193 | +best suited for closing the loop and using the measurement output in a feedback loop for | |
| 194 | +controlling clocks, e.g. in a quartz-stabilized high performance clock whose long term behavior | |
| 195 | +is controlled by non-piezoelectric resonator (sapphire resonator, microwave or optical | |
| 196 | +atomic transition). | |
| 197 | + | |
| 198 | +\section*{Acknowledgement} | |
| 199 | + | |
| 200 | +This work is supported by the ANR Programme d'Investissement d'Avenir in | |
| 201 | +progress at the Time and Frequency Departments of the FEMTO-ST Institute | |
| 202 | +(Oscillator IMP, First-TF and Refimeve+), and by R\'egion de Franche-Comt\'e. | |
| 203 | +The authors would like to thank E. Rubiola, F. Vernotte, G. Cabodevila for support and | |
| 204 | +fruitful discussions. | |
| 205 | + | |
| 206 | +\bibliographystyle{IEEEtran} | |
| 207 | +\bibliography{references} | |
| 208 | +\end{document} |