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