Commit 7fcf1da2aa6e87f897a318bb72257584239903ed

Authored by Arthur HUGEAT
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

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
... ... @@ -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}