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 Inline Diff

ifcs2018.aux 1 1 ifcs2018_abstract.aux
ifcs2018.bbl 2 2 ifcs2018_abstract.bbl
ifcs2018.blg 3 3 ifcs2018_abstract.blg
ifcs2018.log 4 4 ifcs2018_abstract.log
ifcs2018.out 5 5 ifcs2018_abstract.out
ifcs2018.pdf 6 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
ifcs2018_poster.aux 8 15 ifcs2018_poster.aux
ifcs2018_poster.log 9 16 ifcs2018_poster.log
ifcs2018_poster.out 10 17 ifcs2018_poster.out
ifcs2018_poster.pdf 11 18 ifcs2018_poster.pdf
12 19
*.bak 13 20 *.bak
14 21
# source: https://tex.stackexchange.com/questions/40738/how-to-properly-make-a-latex-project 1 1 # source: https://tex.stackexchange.com/questions/40738/how-to-properly-make-a-latex-project
2 2
TEX = pdflatex -shell-escape -interaction=nonstopmode -file-line-error 3 3 TEX = pdflatex -shell-escape -interaction=nonstopmode -file-line-error
BIB = bibtex 4 4 BIB = bibtex
TARGET = ifcs2018 5 5 TARGET = ifcs2018
6 6
all: $(TARGET) $(TARGET)_poster 7 7 all: $(TARGET)_abstract $(TARGET)_poster $(TARGET)_processing
8 8
view: $(TARGET) 9 9 view: $(TARGET)
evince $(TARGET).pdf 10 10 evince $(TARGET).pdf
11 11
view_poster: $(TARGET)_poster 12 12 view_poster: $(TARGET)_poster
evince $(TARGET)_poster.pdf 13 13 evince $(TARGET)_poster.pdf
14 14
$(TARGET): $(TARGET).tex references.bib 15 15 $(TARGET)_abstract: $(TARGET)_abstract.tex references.bib
$(TEX) $(TARGET).tex 16 16 $(TEX) $@.tex
$(BIB) $(TARGET) 17 17 $(BIB) $@
$(TEX) $(TARGET).tex 18 18 $(TEX) $@.tex
$(TEX) $(TARGET).tex 19 19 $(TEX) $@.tex
20 20
$(TARGET)_poster: 21 21 $(TARGET)_poster:
22 $(TEX) $@.tex
23 $(TEX) $@.tex
24
25 $(TARGET)_processing: $(TARGET)_processing.tex references.bib
26 $(TEX) $@.tex
27 $(BIB) $@
$(TEX) $@.tex 22 28 $(TEX) $@.tex
$(TEX) $@.tex 23 29 $(TEX) $@.tex
24 30
clean: 25 31 clean:
rm -f $(TARGET).aux $(TARGET).log $(TARGET).out $(TARGET).bbl $(TARGET).blg 26 32 rm -f $(TARGET).aux $(TARGET).log $(TARGET).out $(TARGET).bbl $(TARGET).blg
rm -f $(TARGET)_poster.aux $(TARGET)_poster.log $(TARGET)_poster.out 27 33 rm -f $(TARGET)_poster.aux $(TARGET)_poster.log $(TARGET)_poster.out
28 34
ifcs2018.tex
\documentclass[a4paper,conference]{IEEEtran/IEEEtran} 1 File was deleted
\usepackage{graphicx,color,hyperref} 2
\usepackage{amsfonts} 3
\usepackage{url} 4
\usepackage[normalem]{ulem} 5
\graphicspath{{/home/jmfriedt/gpr/170324_avalanche/}{/home/jmfriedt/gpr/1705_homemade/}} 6
% correct bad hyphenation here 7
\hyphenation{op-tical net-works semi-conduc-tor} 8
\textheight=26cm 9
\setlength{\footskip}{30pt} 10
\pagenumbering{gobble} 11
\begin{document} 12
\title{Filter optimization for real time digital processing of radiofrequency signals: application 13
to oscillator metrology} 14
15
\author{\IEEEauthorblockN{A. Hugeat\IEEEauthorrefmark{1}\IEEEauthorrefmark{2}, J. Bernard\IEEEauthorrefmark{2}, 16
G. Goavec-M\'erou\IEEEauthorrefmark{1}, 17
P.-Y. Bourgeois\IEEEauthorrefmark{1}, J.-M Friedt\IEEEauthorrefmark{1}} 18
\IEEEauthorblockA{\IEEEauthorrefmark{1}FEMTO-ST, Time \& Frequency department, Besan\c con, France } 19
\IEEEauthorblockA{\IEEEauthorrefmark{2}FEMTO-ST, Computer Science department DISC, Besan\c con, France \\ 20
Email: \{pyb2,jmfriedt\}@femto-st.fr} 21
} 22
\maketitle 23
\thispagestyle{plain} 24
\pagestyle{plain} 25
26
\begin{abstract} 27
Software Defined Radio (SDR) provides stability, flexibility and reconfigurability to 28
radiofrequency signal processing. Applied to oscillator characterization in the context 29
of ultrastable clocks, stringent filtering requirements are defined by spurious signal or 30
noise rejection needs. Since real time radiofrequency processing must be performed in a 31
Field Programmable Array to meet timing constraints, we investigate optimization strategies 32
to design filters meeting rejection characteristics while limiting the hardware resources 33
required and keeping timing constraints within the targeted measurement bandwidths. 34
\end{abstract} 35
36
\begin{IEEEkeywords} 37
Software Defined Radio, Mixed-Integer Linear Programming, Finite Impulse Response filter 38
\end{IEEEkeywords} 39
40
\section{Digital signal processing of ultrastable clock signals} 41
42
Analog oscillator phase noise characteristics are classically performed by downconverting 43
the radiofrequency signal using a saturated mixer to bring the radiofrequency signal to baseband, 44
followed by a Fourier analysis of the beat signal to analyze phase fluctuations close to carrier. In 45
a fully digital approach, the radiofrequency signal is digitized and numerically downconverted by 46
multiplying the samples with a local numerically controlled oscillator (Fig. \ref{schema}) \cite{rsi}. 47
48
\begin{figure}[h!tb] 49
\begin{center} 50
\includegraphics[width=.8\linewidth]{images/schema} 51
\end{center} 52
\caption{Fully digital oscillator phase noise characterization: the Device Under Test 53
(DUT) signal is sampled by the radiofrequency grade Analog to Digital Converter (ADC) and 54
downconverted by mixing with a Numerically Controlled Oscillator (NCO). Unwanted signals 55
and noise aliases are rejected by a Low Pass Filter (LPF) implemented as a cascade of Finite 56
Impulse Response (FIR) filters. The signal is then decimated before a Fourier analysis displays 57
the spectral characteristics of the phase fluctuations.} 58
\label{schema} 59
\end{figure} 60
61
As with the analog mixer, 62
the non-linear behavior of the downconverter introduces noise or spurious signal aliasing as 63
well as the generation of the frequency sum signal in addition to the frequency difference. 64
These unwanted spectral characteristics must be rejected before decimating the data stream 65
for the phase noise spectral characterization. The characteristics introduced between the downconverter 66
and the decimation processing blocks are core characteristics of an oscillator characterization 67
system, and must reject out-of-band signals below the targeted phase noise -- typically in the 68
sub -170~dBc/Hz for ultrastable oscillator we aim at characterizing. The filter blocks will 69
use most resources of the Field Programmable Gate Array (FPGA) used to process the radiofrequency 70
datastream: optimizing the performance of the filter while reducing the needed resources is 71
hence tackled in a systematic approach using optimization techniques. Most significantly, we 72
tackle the issue by attempting to cascade multiple Finite Impulse Response (FIR) filters with 73
tunable number of coefficients and tunable number of bits representing the coefficients and the 74
data being processed. 75
76
\section{Filter optimization} 77
78
A basic approach for implementing the FIR filter is to compute the transfer function of 79
a monolithic filter: this single filter defines all coefficients with the same resolution 80
(number of bits) and processes data represented with their own resolution. Meeting the 81
filter shape requires a large number of coefficients, limited by resources of the FPGA since 82
this filter must process data stream at the radiofrequency sampling rate after the mixer. 83
84
An optimization problem \cite{leung2004handbook} aims at improving one or many 85
performance criteria within a constrained resource environment. Amongst the tools 86
developed to meet this aim, Mixed-Integer Linear Programming (MILP) provides the framework to 87
provide a formal definition of the stated problem and search for an optimal use of available 88
resources \cite{yu2007design, kodek1980design}. 89
90
The degrees of freedom when addressing the problem of replacing the single monolithic 91
FIR with a cascade of optimized filters are the number of coefficients $N_i$ of each filter $i$, 92
the number of bits $c_i$ representing the coefficients and the number of bits $d_i$ representing 93
the data fed to the filter. Because each FIR in the chain is fed the output of the previous stage, 94
the optimization of the complete processing chain within a constrained resource environment is not 95
trivial. The resource occupation of a FIR filter is considered as $c_i+d_i+\log_2(N_i)$ which is 96
the number of bits needed in a worst case condition to represent the output of the FIR. 97
98
99
\begin{figure}[h!tb] 100
\includegraphics[width=\linewidth]{images/noise-rejection.pdf} 101
\caption{Rejection as a function of number of coefficients and number of bits} 102
\label{noise-rejection} 103
\end{figure} 104
105
The objective function maximizes the noise rejection while keeping resource occupation below 106
a user-defined threshold. The MILP solver is allowed to choose the number of successive 107
filters, within an upper bound. The last problem is to model the noise rejection. Since filter 108
noise rejection capability is not modeled with linear equation, a look-up-table is generated 109
for multiple filter configurations in which the $c_i$, $d_i$ and $N_i$ parameters are varied: for each 110
one of these conditions, the low-pass filter rejection defined as the mean power between 111
half the Nyquist frequency and the Nyquist frequency is stored as computed by the frequency response 112
of the digital filter (Fig. \ref{noise-rejection}). 113
114
Linear program formalism for solving the problem is well documented: an objective function is 115
defined which is linearly dependent on the parameters to be optimized. Constraints are expressed 116
as linear equation and solved using one of the available solvers, in our case GLPK\cite{glpk}. 117
118
The MILP solver provides a solution to the problem by selecting a series of small FIR with 119
increasing number of bits representing data and coefficients as well as an increasing number 120
of coefficients, instead of a single monolithic filter. Fig. \ref{compare-fir} exhibits the 121
performance comparison between one solution and a monolithic FIR when selecting a cutoff 122
frequency of half the Nyquist frequency: a series of 5 FIR and a series of 10 FIR with the 123
same space usage are provided as selected by the MILP solver. The FIR cascade provides improved 124
rejection than the monolithic FIR at the expense of a lower cutoff frequency which remains to 125
be tuned or compensated for. 126
127
\begin{figure}[h!tb] 128
% \includegraphics[width=\linewidth]{images/compare-fir.pdf} 129
\includegraphics[width=\linewidth]{images/fir-mono-vs-fir-series-200dB.pdf} 130
\caption{Comparison of the rejection capability between a series of FIR and a monolithic FIR 131
with a cutoff frequency set at half the Nyquist frequency.} 132
\label{compare-fir} 133
\end{figure} 134
135
The resource occupation when synthesizing such FIR on a Xilinx FPGA is summarized as Tab. \ref{t1}. 136
137
\begin{table}[h!tb] 138
\caption{Resource occupation on a Xilinx Zynq-7000 series FPGA when synthesizing the FIR cascade 139
identified as optimal by the MILP solver within a finite resource criterion. The last line refers 140
to available resources on a Zynq-7010 as found on the Redpitaya board. The rejection is the mean 141
value from 0.6 to 1 Nyquist frequency.} 142
\begin{center} 143
\begin{tabular}{|c|cccc|}\hline 144
FIR & BlockRAM & LookUpTables & DSP & rejection (dB)\\\hline\hline 145
1 (monolithic) & 1 & 4064 & 40 & -72 \\ 146
5 & 5 & 12332 & 0 & -217 \\ 147
10 & 10 & 12717 & 0 & -251 \\\hline\hline 148
Zynq 7010 & 60 & 17600 & 80 & \\\hline 149
\end{tabular} 150
\end{center} 151
%\vspace{-0.7cm} 152
\label{t1} 153
\end{table} 154
155
\section{Filter coefficient selection} 156
157
The coefficients of a single monolithic filter are computed as the impulse response 158
of the filter transfer function, and practically approximated by a multitude of methods 159
including least square optimization (Matlab's {\tt firls} function), Hamming or Kaiser windowing 160
(Matlab's {\tt fir1} function). Cascading filters opens a new optimization opportunity by 161
selecting various coefficient sets depending on the number of coefficients. Fig. \ref{2} 162
illustrates that for a number of coefficients ranging from 8 to 47, {\tt fir1} provides a better 163
rejection than {\tt firls}: since the linear solver increases the number of coefficients along 164
the processing chain, the type of selected filter also changes depending on the number of coefficients 165
and evolves along the processing chain. 166
167
\begin{figure}[h!tb] 168
\includegraphics[width=\linewidth]{images/fir1-vs-firls} 169
\caption{Evolution of the rejection capability of least-square optimized filters and Hamming 170
ifcs2018_abstract.tex
File was created 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
ifcs2018_processing.tex
File was created 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