Initial Commit
This commit is contained in:
28
paper/config.tex
Normal file
28
paper/config.tex
Normal file
@@ -0,0 +1,28 @@
|
||||
% H Infini
|
||||
\newcommand{\hinf}{\mathcal{H}_\infty}
|
||||
|
||||
% H 2
|
||||
\newcommand{\htwo}{\mathcal{H}_2}
|
||||
|
||||
% Omega
|
||||
\newcommand{\w}{\omega}
|
||||
|
||||
% H-Infinity Norm
|
||||
\newcommand{\hnorm}[1]{\left\|#1\right\|_{\infty}}
|
||||
|
||||
% H-2 Norm
|
||||
\newcommand{\normtwo}[1]{\left\|#1\right\|_{2}}
|
||||
|
||||
% Norm
|
||||
\newcommand{\norm}[1]{\left\|#1\right\|}
|
||||
|
||||
% Absolute value
|
||||
\newcommand{\abs}[1]{\left\lvert #1 \right\lvert}
|
||||
|
||||
% Minimum Subscript
|
||||
\newcommand{\smin}{_{\text{min}}}
|
||||
|
||||
% Maximum Subscript
|
||||
\newcommand{\smax}{_{\text{max}}}
|
||||
|
||||
\newcommand*\colvec[1]{\begin{bmatrix}#1\end{bmatrix}}
|
4593
paper/ieeeconf.cls
Normal file
4593
paper/ieeeconf.cls
Normal file
File diff suppressed because it is too large
Load Diff
275
paper/paper.org
Normal file
275
paper/paper.org
Normal file
@@ -0,0 +1,275 @@
|
||||
#+TITLE: Optimal and Robust Complementary Filters for Sensor Fusion
|
||||
:DRAWER:
|
||||
#+LATEX_CLASS: ieeeconf
|
||||
#+LATEX_CLASS_OPTIONS: [9pt, technote, a4paper]
|
||||
#+OPTIONS: toc:nil
|
||||
#+STARTUP: overview
|
||||
|
||||
#+DATE: {{{time(%Y-%m-%d)}}}
|
||||
#+AUTHOR: @@latex:\IEEEauthorblockN{Dehaeze Thomas\IEEEauthorrefmark{*} and Collette Christophe} \\@@
|
||||
#+AUTHOR: @@latex:\IEEEauthorblockA{Precision Mechatronics Laboratory, ULB\\ Brussels, Belgium\\ Email: \IEEEauthorrefmark{*}dehaeze.thomas@gmail.com}@@
|
||||
|
||||
#+LATEX_HEADER: \usepackage{amsmath,amssymb,amsfonts, cases}
|
||||
#+LATEX_HEADER: \usepackage{algorithmic, graphicx, textcomp}
|
||||
#+LATEX_HEADER: \usepackage{xcolor, import, hyperref}
|
||||
#+LATEX_HEADER: \usepackage[USenglish]{babel}
|
||||
#+LATEX_HEADER: \setcounter{footnote}{1}
|
||||
#+LATEX_HEADER: \input{config.tex}
|
||||
|
||||
\bibliographystyle{IEEEtran}
|
||||
:END:
|
||||
|
||||
* LaTeX Config :noexport:
|
||||
#+begin_src latex :tangle config.tex
|
||||
% H Infini
|
||||
\newcommand{\hinf}{\mathcal{H}_\infty}
|
||||
|
||||
% H 2
|
||||
\newcommand{\htwo}{\mathcal{H}_2}
|
||||
|
||||
% Omega
|
||||
\newcommand{\w}{\omega}
|
||||
|
||||
% H-Infinity Norm
|
||||
\newcommand{\hnorm}[1]{\left\|#1\right\|_{\infty}}
|
||||
|
||||
% H-2 Norm
|
||||
\newcommand{\normtwo}[1]{\left\|#1\right\|_{2}}
|
||||
|
||||
% Norm
|
||||
\newcommand{\norm}[1]{\left\|#1\right\|}
|
||||
|
||||
% Absolute value
|
||||
\newcommand{\abs}[1]{\left\lvert #1 \right\lvert}
|
||||
|
||||
% Minimum Subscript
|
||||
\newcommand{\smin}{_{\text{min}}}
|
||||
|
||||
% Maximum Subscript
|
||||
\newcommand{\smax}{_{\text{max}}}
|
||||
|
||||
\newcommand*\colvec[1]{\begin{bmatrix}#1\end{bmatrix}}
|
||||
#+end_src
|
||||
|
||||
* Build :noexport:
|
||||
#+BEGIN_SRC emacs-lisp :results none
|
||||
(add-to-list 'org-latex-classes
|
||||
'("ieeeconf"
|
||||
"\\documentclass{ieeeconf}"
|
||||
("\\section{%s}" . "\\section*{%s}")
|
||||
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
|
||||
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
||||
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
|
||||
)
|
||||
#+END_SRC
|
||||
|
||||
* Abstract :ignore:
|
||||
#+begin_abstract
|
||||
Abstract text to be done
|
||||
#+end_abstract
|
||||
|
||||
#+begin_IEEEkeywords
|
||||
complementary filters, h-infinity, feedback control
|
||||
#+end_IEEEkeywords
|
||||
|
||||
* Introduction
|
||||
<<sec:introduction>>
|
||||
The basic idea of a complementary filter involves taking two or more sensors, filtering out unreliable frequencies for each sensor and combining the filtered outputs to get a better estimate throughout the entire bandwidth of the system.
|
||||
To achieve this, the sensors included in the filter should complement one another by performing better over specific parts of the system bandwidth.
|
||||
|
||||
** Establish the importance of the research topic :ignore:
|
||||
# What are Complementary Filters
|
||||
A set of filters is said to be complementary if the sum of their transfer functions is equal to one at all frequencies, (i.e.) its magnitude is one and its phase is zero.
|
||||
|
||||
# Why Design of Complementary Filter is important
|
||||
The proper design of this particular kind of filter is of primary importance in a wide range of applications.
|
||||
|
||||
** Descriptions of the applications of complementary filtering :ignore:
|
||||
Often, multiple sensors with different noise or dynamical properties are used to measure the same physical quantity.
|
||||
In such case, complementary filters can be used to merge the sensors and forms a "super sensor" that has gives a better estimate of the physical quantity over a wider bandwidth.
|
||||
This is called sensor blending or sensor fusion.
|
||||
|
||||
# List of all the applications
|
||||
|
||||
# Increasing Sensor Bandwidth
|
||||
This is widely used for the attitude estimation of unmanned aerial vehicles using various kind of sensors (accelerometers, gyroscopes, vision sensors, inclinometer) cite:zimmermann92_high_bandw_orien_measur_contr,corke04_inert_visual_sensin_system_small_auton_helic,min15_compl_filter_desig_angle_estim.
|
||||
|
||||
cite:shaw90_bandw_enhan_posit_measur_using_measur_accel Fast position measurement of flexible structure
|
||||
|
||||
# Merging of different sensor types
|
||||
cite:matichard15_seism_isolat_advan_ligo (relative displacement measurement at low frequencies with inertial at high frequencies)
|
||||
|
||||
# Reducing sensor noise
|
||||
cite:hua04_polyp_fir_compl_filter_contr_system
|
||||
|
||||
# Improving the control robustness
|
||||
cite:collette15_sensor_fusion_method_high_perfor
|
||||
|
||||
** Current research focus of the field / Literature review :ignore:
|
||||
# Discuss the different approach to complementary filter design
|
||||
The design methods for such filters goes from simple analytical formulas
|
||||
|
||||
# Analytical Formulas with limited number of parameter that let the designer choose the parameter value
|
||||
# First Order
|
||||
cite:corke04_inert_visual_sensin_system_small_auton_helic
|
||||
|
||||
# Second Order
|
||||
cite:min15_compl_filter_desig_angle_estim
|
||||
cite:jensen13_basic_uas
|
||||
|
||||
# Third Order and Higher orders
|
||||
cite:shaw90_bandw_enhan_posit_measur_using_measur_accel
|
||||
cite:zimmermann92_high_bandw_orien_measur_contr
|
||||
cite:matichard15_seism_isolat_advan_ligo
|
||||
cite:collette15_sensor_fusion_method_high_perfor
|
||||
|
||||
# FIR Filters
|
||||
cite:hua05_low_ligo
|
||||
cite:hua04_polyp_fir_compl_filter_contr_system
|
||||
cite:matichard15_seism_isolat_advan_ligo
|
||||
|
||||
# Non-linear methods
|
||||
cite:mahony08_nonlin_compl_filter_special_orthog_group
|
||||
|
||||
# Time Varying
|
||||
cite:pascoal99_navig_system_desig_using_time
|
||||
|
||||
# Alternate Formulation
|
||||
cite:jensen13_basic_uas (feedback system, P, PI, classical control theory for filter design)
|
||||
cite:brown72_integ_navig_system_kalman_filter
|
||||
|
||||
# LMI / convex Optimization
|
||||
cite:pascoal99_navig_system_desig_using_time
|
||||
|
||||
# Least Square method for finding the optimal filter coefficients
|
||||
cite:min15_compl_filter_desig_angle_estim
|
||||
|
||||
** Describe a gap in the research :ignore:
|
||||
# There is a need to design optimal complementary filters
|
||||
Although
|
||||
|
||||
** Describe the paper itself / the problem which is addressed :ignore:
|
||||
In this paper, we propose
|
||||
|
||||
** Introduce Each part of the paper :ignore:
|
||||
The body of the paper consists of five parts followed by a conclusion.
|
||||
|
||||
* H-Infinity synthesis of complementary filters
|
||||
<<sec:hinf_filters>>
|
||||
First order complementary filters are easy to synthesize. For instance, one can use the following filters
|
||||
\begin{equation}
|
||||
H_H(s) = \frac{s/\w_0}{1 + s/\w_0}; \quad H_L(s) = \frac{1}{1 + s/\w_0}
|
||||
\end{equation}
|
||||
with $\w_0$ is the tuning parameter corresponding to the crossover frequency of the filters.
|
||||
|
||||
However, the manual design of higher order complementary filters is far more complex and we have to use an automatic synthesis technique.
|
||||
|
||||
|
||||
As shown in Sec. ref:sec:trans_perf, most of the performance requirements can be expressed as upper bounds on the magnitude of the complementary filters.
|
||||
|
||||
Thus, the $\mathcal{H}_\infty$ framework seems adapted and we here propose a technique to synthesis complementary filters while specifying uppers bounds on their magnitudes.
|
||||
|
||||
** $\hinf$ problem formulation
|
||||
<<sec:hinf_conf>>
|
||||
In this section, we formulate the $\hinf$ problem for the synthesis of complementary filters.
|
||||
|
||||
The synthesis objective is to shape an high pass filter $H_H$ and a low pass filter $H_L$ while ensuring their complementary property ($H_H + H_L = 1$).
|
||||
|
||||
To do so, we define two weighting functions $w_L$ and $w_H$ that will respectively used to shape $H_L$ and $H_H$.
|
||||
|
||||
The synthesis problem is then
|
||||
\begin{subnumcases}{\text{Find } H_L, H_H \text{ such that}}
|
||||
H_L \text{ and } H_H \text{ are stable} \label{eq:hinf_cond_stability}\\
|
||||
H_L + H_H = 1 \label{eq:hinf_cond_complementarity} \\
|
||||
|w_L H_L| \le 1 \quad \forall\omega \label{eq:hinf_cond_hl} \\
|
||||
|w_H H_H| \le 1 \quad \forall\omega \label{eq:hinf_cond_hh}
|
||||
\end{subnumcases}
|
||||
|
||||
|
||||
To express this synthesis problem into an $\hinf$ synthesis problem, we define the following generalized plant $P$ (also shown on Fig. ref:fig:sf_hinf_filters_plant_b):
|
||||
#+NAME: eq:generalized_plant
|
||||
\begin{equation}
|
||||
\colvec{w\\u} = P \colvec{z_H \\ z_L \\ v}; \quad P = \begin{bmatrix} w_H & -w_H \\ 0 & w_L \\ 1 & 0 \end{bmatrix}
|
||||
\end{equation}
|
||||
|
||||
#+name: fig:sf_hinf_filters_plant_b
|
||||
#+caption: Generalized plant for the synthesis of the complementary filters
|
||||
#+attr_latex: :float t :scale 1
|
||||
file:./figs/sf_hinf_filters_plant_b.pdf
|
||||
|
||||
The $\hinf$ synthesis objective is then to design a stable filter $H_L$ (Fig. ref:fig:sf_hinf_filters_b) such that the $\mathcal{H}_\infty$ norm of the transfer function from $w$ to $[z_H, \ z_L]$ is less than $1$:
|
||||
\begin{equation}
|
||||
\hnorm{\begin{matrix} (1 - H_L) w_H \\ H_L w_L \end{matrix}} \le 1
|
||||
\end{equation}
|
||||
Which is equivalent to
|
||||
#+NAME: eq:hinf_problem
|
||||
\begin{equation}
|
||||
\hnorm{\begin{matrix} H_H w_H \\ H_L w_L \end{matrix}} < 1 \text{ by choosing } H_H = 1 - H_L
|
||||
\end{equation}
|
||||
|
||||
#+name: fig:sf_hinf_filters_b
|
||||
#+caption: $\hinf\text{-synthesis}$ of complementary filters
|
||||
#+attr_latex: :float t :scale 1
|
||||
file:./figs/sf_hinf_filters_b.pdf
|
||||
|
||||
Performance conditions eqref:eq:hinf_cond_hl and eqref:eq:hinf_cond_hl are satisfied by eqref:eq:hinf_problem.
|
||||
Complementary condition eqref:eq:hinf_cond_complementarity is satisfied by design: $H_H = 1 - H_L$ and thus $H_L + H_H = 1$.
|
||||
The stability condition eqref:eq:hinf_cond_stability is guaranteed by the $H_\infty$ synthesis (*reference*).
|
||||
|
||||
|
||||
Using this synthesis method, we are then able to shape at the same time the high pass and low pass filters while ensuring their complementary.
|
||||
|
||||
** Control requirements as $\mathcal{H}_\infty$ norm of complementary filters
|
||||
As presented in Sec. ref:sec:trans_perf, almost all the requirements can be specified with upper bounds on the complementary filters.
|
||||
However, robust performance condition eqref:eq:robust_perf_a is not.
|
||||
|
||||
With the $\mathcal{H}_\infty$ synthesis the condition eqref:eq:hinf_problem only ensure
|
||||
\begin{align*}
|
||||
\hnorm{\begin{matrix} H_H w_H \\ H_L w_L \end{matrix}} \le 1 &\Leftrightarrow \max_\omega \sqrt{|w_L H_L|^2 + |w_H H_H|^2} \le 1\\
|
||||
&\Rightarrow |w_L H_L| + |w_H H_H| \le \sqrt{2} \quad \forall\omega
|
||||
\end{align*}
|
||||
|
||||
And thus we have almost robust stability.
|
||||
|
||||
** Choice of the weighting functions
|
||||
<<sec:hinf_weighting_func>>
|
||||
We here give some advice on the choice of the weighting functions used for the synthesis of the complementary filters.
|
||||
|
||||
The shape should be such that the performance requirements are met as explain in Sec. ref:sec:trans_perf.
|
||||
|
||||
However, one should be careful when designing the complementary filters, and should only use stable and minimum phase transfer functions.
|
||||
The order of the weights should stay reasonably small as this will increase the complexity of the optimization problem.
|
||||
|
||||
One should not forget the fundamental limitations of feedback control such that $S + T = 1$.
|
||||
Similarly, we here have that $H_L + H_H = 1$ which implies that $H_L$ and $H_H$ cannot be made small at the same time.
|
||||
|
||||
** Trade-off between performance and robustness
|
||||
|
||||
** Analytical formula of complementary filters
|
||||
<<sec:analytical_complementary_filters>>
|
||||
To simplify the synthesis, one can use already synthesized filters
|
||||
|
||||
\begin{align}
|
||||
H_L(s) = \frac{1}{1 + \frac{s}{\omega_0}}\\
|
||||
H_H(s) = \frac{\frac{s}{\omega_0}}{1 + \frac{s}{\omega_0}}
|
||||
\end{align}
|
||||
|
||||
\begin{align}
|
||||
H_L(s) &= \frac{(1+\alpha) (\frac{s}{\omega_0})+1}{\left((\frac{s}{\omega_0})+1\right) \left((\frac{s}{\omega_0})^2 + \alpha (\frac{s}{\omega_0}) + 1\right)}\\
|
||||
H_H(s) &= \frac{(\frac{s}{\omega_0})^2 \left((\frac{s}{\omega_0})+1+\alpha\right)}{\left((\frac{s}{\omega_0})+1\right) \left((\frac{s}{\omega_0})^2 + \alpha (\frac{s}{\omega_0}) + 1\right)}
|
||||
\end{align}
|
||||
|
||||
\begin{align}
|
||||
H_L(s) &= \frac{\left(1+(\alpha+1)(\beta+1)\right) (\frac{s}{\omega_0})^2 + (1+\alpha+\beta)(\frac{s}{\omega_0}) + 1}{\left(\frac{s}{\omega_0} + 1\right) \left( (\frac{s}{\omega_0})^2 + \alpha (\frac{s}{\omega_0}) + 1 \right) \left( (\frac{s}{\omega_0})^2 + \beta (\frac{s}{\omega_0}) + 1 \right)}\\
|
||||
H_H(s) &= \frac{(\frac{s}{\omega_0})^3 \left( (\frac{s}{\omega_0})^2 + (1+\alpha+\beta) (\frac{s}{\omega_0}) + (1+(\alpha+1)(\beta+1)) \right)}{\left(\frac{s}{\omega_0} + 1\right) \left( (\frac{s}{\omega_0})^2 + \alpha (\frac{s}{\omega_0}) + 1 \right) \left( (\frac{s}{\omega_0})^2 + \beta (\frac{s}{\omega_0}) + 1 \right)}
|
||||
\end{align}
|
||||
|
||||
* Discussion
|
||||
* Conclusion
|
||||
<<sec:conclusion>>
|
||||
|
||||
* Acknowledgment
|
||||
|
||||
* Bibliography :ignore:
|
||||
\bibliography{ref}
|
BIN
paper/paper.pdf
Normal file
BIN
paper/paper.pdf
Normal file
Binary file not shown.
229
paper/paper.tex
Normal file
229
paper/paper.tex
Normal file
@@ -0,0 +1,229 @@
|
||||
% Created 2019-08-12 lun. 16:02
|
||||
% Intended LaTeX compiler: pdflatex
|
||||
\documentclass[9pt, technote, a4paper]{ieeeconf}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{grffile}
|
||||
\usepackage{longtable}
|
||||
\usepackage{wrapfig}
|
||||
\usepackage{rotating}
|
||||
\usepackage[normalem]{ulem}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{textcomp}
|
||||
\usepackage{amssymb}
|
||||
\usepackage{capt-of}
|
||||
\usepackage{hyperref}
|
||||
\usepackage[most]{tcolorbox}
|
||||
\usepackage{siunitx}
|
||||
\usepackage{amsmath,amssymb,amsfonts, cases}
|
||||
\usepackage{algorithmic, graphicx, textcomp}
|
||||
\usepackage{xcolor, import, hyperref}
|
||||
\usepackage[USenglish, english]{babel}
|
||||
\setcounter{footnote}{1}
|
||||
\input{config.tex}
|
||||
\author{\IEEEauthorblockN{Dehaeze Thomas\IEEEauthorrefmark{*} and Collette Christophe} \\ \IEEEauthorblockA{Precision Mechatronics Laboratory, ULB\\ Brussels, Belgium\\ Email: \IEEEauthorrefmark{*}dehaeze.thomas@gmail.com}}
|
||||
\date{2019-08-12}
|
||||
\title{On the Design of Complementary Filters for Control}
|
||||
\hypersetup{
|
||||
pdfauthor={\IEEEauthorblockN{Dehaeze Thomas\IEEEauthorrefmark{*} and Collette Christophe} \\ \IEEEauthorblockA{Precision Mechatronics Laboratory, ULB\\ Brussels, Belgium\\ Email: \IEEEauthorrefmark{*}dehaeze.thomas@gmail.com}},
|
||||
pdftitle={On the Design of Complementary Filters for Control},
|
||||
pdfkeywords={},
|
||||
pdfsubject={},
|
||||
pdfcreator={Emacs 26.2 (Org mode 9.2.5)},
|
||||
pdflang={English}}
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
\bibliographystyle{IEEEtran}
|
||||
|
||||
\begin{abstract}
|
||||
Abstract text to be done
|
||||
\end{abstract}
|
||||
|
||||
\begin{IEEEkeywords}
|
||||
complementary filters, h-infinity, feedback control
|
||||
\end{IEEEkeywords}
|
||||
|
||||
\section{Introduction}
|
||||
\label{sec:orgb15ebed}
|
||||
\label{sec:introduction}
|
||||
The basic idea of a complementary filter involves taking two or more sensors, filtering out unreliable frequencies for each sensor and combining the filtered outputs to get a better estimate throughout the entire bandwidth of the system.
|
||||
To achieve this, the sensors included in the filter should complement one another by performing better over specific parts of the system bandwidth.
|
||||
A set of filters is said to be complementary if the sum of their transfer functions is equal to one at all frequencies, (i.e.) its magnitude is one and its phase is zero.
|
||||
|
||||
The proper design of this particular kind of filter is of primary importance in a wide range of applications.
|
||||
Often, multiple sensors with different noise or dynamical properties are used to measure the same physical quantity.
|
||||
In such case, complementary filters can be used to merge the sensors and forms a "super sensor" that has gives a better estimate of the physical quantity over a wider bandwidth.
|
||||
This is called sensor blending or sensor fusion.
|
||||
|
||||
This is widely used for the attitude estimation of unmanned aerial vehicles using various kind of sensors (accelerometers, gyroscopes, vision sensors, inclinometer) \cite{zimmermann92_high_bandw_orien_measur_contr,corke04_inert_visual_sensin_system_small_auton_helic,min15_compl_filter_desig_angle_estim}.
|
||||
|
||||
\cite{shaw90_bandw_enhan_posit_measur_using_measur_accel} Fast position measurement of flexible structure
|
||||
|
||||
\cite{matichard15_seism_isolat_advan_ligo} (relative displacement measurement at low frequencies with inertial at high frequencies)
|
||||
|
||||
\cite{hua04_polyp_fir_compl_filter_contr_system}
|
||||
|
||||
\cite{collette15_sensor_fusion_method_high_perfor}
|
||||
The design methods for such filters goes from simple analytical formulas
|
||||
|
||||
\cite{corke04_inert_visual_sensin_system_small_auton_helic}
|
||||
|
||||
\cite{min15_compl_filter_desig_angle_estim}
|
||||
\cite{jensen13_basic_uas}
|
||||
|
||||
\cite{shaw90_bandw_enhan_posit_measur_using_measur_accel}
|
||||
\cite{zimmermann92_high_bandw_orien_measur_contr}
|
||||
\cite{matichard15_seism_isolat_advan_ligo}
|
||||
\cite{collette15_sensor_fusion_method_high_perfor}
|
||||
|
||||
\cite{hua05_low_ligo}
|
||||
\cite{hua04_polyp_fir_compl_filter_contr_system}
|
||||
\cite{matichard15_seism_isolat_advan_ligo}
|
||||
|
||||
\cite{mahony08_nonlin_compl_filter_special_orthog_group}
|
||||
|
||||
\cite{pascoal99_navig_system_desig_using_time}
|
||||
|
||||
\cite{jensen13_basic_uas} (feedback system, P, PI, classical control theory for filter design)
|
||||
\cite{brown72_integ_navig_system_kalman_filter}
|
||||
|
||||
\cite{pascoal99_navig_system_desig_using_time}
|
||||
|
||||
\cite{min15_compl_filter_desig_angle_estim}
|
||||
Although
|
||||
In this paper, we propose
|
||||
The body of the paper consists of five parts followed by a conclusion.
|
||||
|
||||
\section{H-Infinity synthesis of complementary filters}
|
||||
\label{sec:org303afb5}
|
||||
\label{sec:hinf_filters}
|
||||
First order complementary filters are easy to synthesize. For instance, one can use the following filters
|
||||
\begin{equation}
|
||||
H_H(s) = \frac{s/\w_0}{1 + s/\w_0}; \quad H_L(s) = \frac{1}{1 + s/\w_0}
|
||||
\end{equation}
|
||||
with \(\w_0\) is the tuning parameter corresponding to the crossover frequency of the filters.
|
||||
|
||||
However, the manual design of higher order complementary filters is far more complex and we have to use an automatic synthesis technique.
|
||||
|
||||
|
||||
As shown in Sec. \ref{sec:trans_perf}, most of the performance requirements can be expressed as upper bounds on the magnitude of the complementary filters.
|
||||
|
||||
Thus, the \(\mathcal{H}_\infty\) framework seems adapted and we here propose a technique to synthesis complementary filters while specifying uppers bounds on their magnitudes.
|
||||
|
||||
\subsection{\(\hinf\) problem formulation}
|
||||
\label{sec:org9dcb2b1}
|
||||
\label{sec:hinf_conf}
|
||||
In this section, we formulate the \(\hinf\) problem for the synthesis of complementary filters.
|
||||
|
||||
The synthesis objective is to shape an high pass filter \(H_H\) and a low pass filter \(H_L\) while ensuring their complementary property (\(H_H + H_L = 1\)).
|
||||
|
||||
To do so, we define two weighting functions \(w_L\) and \(w_H\) that will respectively used to shape \(H_L\) and \(H_H\).
|
||||
|
||||
The synthesis problem is then
|
||||
\begin{subnumcases}{\text{Find } H_L, H_H \text{ such that}}
|
||||
H_L \text{ and } H_H \text{ are stable} \label{eq:hinf_cond_stability}\\
|
||||
H_L + H_H = 1 \label{eq:hinf_cond_complementarity} \\
|
||||
|w_L H_L| \le 1 \quad \forall\omega \label{eq:hinf_cond_hl} \\
|
||||
|w_H H_H| \le 1 \quad \forall\omega \label{eq:hinf_cond_hh}
|
||||
\end{subnumcases}
|
||||
|
||||
|
||||
To express this synthesis problem into an \(\hinf\) synthesis problem, we define the following generalized plant \(P\) (also shown on Fig. \ref{fig:sf_hinf_filters_plant_b}):
|
||||
\begin{equation}
|
||||
\label{eq:generalized_plant}
|
||||
\colvec{w\\u} = P \colvec{z_H \\ z_L \\ v}; \quad P = \begin{bmatrix} w_H & -w_H \\ 0 & w_L \\ 1 & 0 \end{bmatrix}
|
||||
\end{equation}
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[scale=1]{./figs/sf_hinf_filters_plant_b.pdf}
|
||||
\caption{\label{fig:sf_hinf_filters_plant_b}
|
||||
Generalized plant for the synthesis of the complementary filters}
|
||||
\end{figure}
|
||||
|
||||
The \(\hinf\) synthesis objective is then to design a stable filter \(H_L\) (Fig. \ref{fig:sf_hinf_filters_b}) such that the \(\mathcal{H}_\infty\) norm of the transfer function from \(w\) to \([z_H, \ z_L]\) is less than \(1\):
|
||||
\begin{equation}
|
||||
\hnorm{\begin{matrix} (1 - H_L) w_H \\ H_L w_L \end{matrix}} \le 1
|
||||
\end{equation}
|
||||
Which is equivalent to
|
||||
\begin{equation}
|
||||
\label{eq:hinf_problem}
|
||||
\hnorm{\begin{matrix} H_H w_H \\ H_L w_L \end{matrix}} < 1 \text{ by choosing } H_H = 1 - H_L
|
||||
\end{equation}
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[scale=1]{./figs/sf_hinf_filters_b.pdf}
|
||||
\caption{\label{fig:sf_hinf_filters_b}
|
||||
\(\hinf\text{-synthesis}\) of complementary filters}
|
||||
\end{figure}
|
||||
|
||||
Performance conditions \eqref{eq:hinf_cond_hl} and \eqref{eq:hinf_cond_hl} are satisfied by \eqref{eq:hinf_problem}.
|
||||
Complementary condition \eqref{eq:hinf_cond_complementarity} is satisfied by design: \(H_H = 1 - H_L\) and thus \(H_L + H_H = 1\).
|
||||
The stability condition \eqref{eq:hinf_cond_stability} is guaranteed by the \(H_\infty\) synthesis (\textbf{reference}).
|
||||
|
||||
|
||||
Using this synthesis method, we are then able to shape at the same time the high pass and low pass filters while ensuring their complementary.
|
||||
|
||||
\subsection{Control requirements as \(\mathcal{H}_\infty\) norm of complementary filters}
|
||||
\label{sec:orgb7d25ea}
|
||||
As presented in Sec. \ref{sec:trans_perf}, almost all the requirements can be specified with upper bounds on the complementary filters.
|
||||
However, robust performance condition \eqref{eq:robust_perf_a} is not.
|
||||
|
||||
With the \(\mathcal{H}_\infty\) synthesis the condition \eqref{eq:hinf_problem} only ensure
|
||||
\begin{align*}
|
||||
\hnorm{\begin{matrix} H_H w_H \\ H_L w_L \end{matrix}} \le 1 &\Leftrightarrow \max_\omega \sqrt{|w_L H_L|^2 + |w_H H_H|^2} \le 1\\
|
||||
&\Rightarrow |w_L H_L| + |w_H H_H| \le \sqrt{2} \quad \forall\omega
|
||||
\end{align*}
|
||||
|
||||
And thus we have almost robust stability.
|
||||
|
||||
\subsection{Choice of the weighting functions}
|
||||
\label{sec:org2d7aa5b}
|
||||
\label{sec:hinf_weighting_func}
|
||||
We here give some advice on the choice of the weighting functions used for the synthesis of the complementary filters.
|
||||
|
||||
The shape should be such that the performance requirements are met as explain in Sec. \ref{sec:trans_perf}.
|
||||
|
||||
However, one should be careful when designing the complementary filters, and should only use stable and minimum phase transfer functions.
|
||||
The order of the weights should stay reasonably small as this will increase the complexity of the optimization problem.
|
||||
|
||||
One should not forget the fundamental limitations of feedback control such that \(S + T = 1\).
|
||||
Similarly, we here have that \(H_L + H_H = 1\) which implies that \(H_L\) and \(H_H\) cannot be made small at the same time.
|
||||
|
||||
\subsection{Trade-off between performance and robustness}
|
||||
\label{sec:org7af3efe}
|
||||
|
||||
\subsection{Analytical formula of complementary filters}
|
||||
\label{sec:org477b4a4}
|
||||
\label{sec:analytical_complementary_filters}
|
||||
To simplify the synthesis, one can use already synthesized filters
|
||||
|
||||
\begin{align}
|
||||
H_L(s) = \frac{1}{1 + \frac{s}{\omega_0}}\\
|
||||
H_H(s) = \frac{\frac{s}{\omega_0}}{1 + \frac{s}{\omega_0}}
|
||||
\end{align}
|
||||
|
||||
\begin{align}
|
||||
H_L(s) &= \frac{(1+\alpha) (\frac{s}{\omega_0})+1}{\left((\frac{s}{\omega_0})+1\right) \left((\frac{s}{\omega_0})^2 + \alpha (\frac{s}{\omega_0}) + 1\right)}\\
|
||||
H_H(s) &= \frac{(\frac{s}{\omega_0})^2 \left((\frac{s}{\omega_0})+1+\alpha\right)}{\left((\frac{s}{\omega_0})+1\right) \left((\frac{s}{\omega_0})^2 + \alpha (\frac{s}{\omega_0}) + 1\right)}
|
||||
\end{align}
|
||||
|
||||
\begin{align}
|
||||
H_L(s) &= \frac{\left(1+(\alpha+1)(\beta+1)\right) (\frac{s}{\omega_0})^2 + (1+\alpha+\beta)(\frac{s}{\omega_0}) + 1}{\left(\frac{s}{\omega_0} + 1\right) \left( (\frac{s}{\omega_0})^2 + \alpha (\frac{s}{\omega_0}) + 1 \right) \left( (\frac{s}{\omega_0})^2 + \beta (\frac{s}{\omega_0}) + 1 \right)}\\
|
||||
H_H(s) &= \frac{(\frac{s}{\omega_0})^3 \left( (\frac{s}{\omega_0})^2 + (1+\alpha+\beta) (\frac{s}{\omega_0}) + (1+(\alpha+1)(\beta+1)) \right)}{\left(\frac{s}{\omega_0} + 1\right) \left( (\frac{s}{\omega_0})^2 + \alpha (\frac{s}{\omega_0}) + 1 \right) \left( (\frac{s}{\omega_0})^2 + \beta (\frac{s}{\omega_0}) + 1 \right)}
|
||||
\end{align}
|
||||
|
||||
\section{Discussion}
|
||||
\label{sec:org4fb9d01}
|
||||
\section{Conclusion}
|
||||
\label{sec:orgecd9d50}
|
||||
\label{sec:conclusion}
|
||||
|
||||
\section{Acknowledgment}
|
||||
\label{sec:org5cf5157}
|
||||
|
||||
\bibliography{ref}
|
||||
\end{document}
|
171
paper/ref.bib
Normal file
171
paper/ref.bib
Normal file
@@ -0,0 +1,171 @@
|
||||
@article{collette15_sensor_fusion_method_high_perfor,
|
||||
author = {C. Collette and F. Matichard},
|
||||
title = {Sensor Fusion Methods for High Performance Active Vibration Isolation Systems},
|
||||
journal = {Journal of Sound and Vibration},
|
||||
volume = {342},
|
||||
number = {nil},
|
||||
pages = {1-21},
|
||||
year = {2015},
|
||||
doi = {10.1016/j.jsv.2015.01.006},
|
||||
url = {https://doi.org/10.1016/j.jsv.2015.01.006},
|
||||
keywords = {},
|
||||
}
|
||||
|
||||
|
||||
@phdthesis{hua05_low_ligo,
|
||||
author = {Hua, Wensheng},
|
||||
school = {stanford university},
|
||||
title = {Low frequency vibration isolation and alignment system for
|
||||
advanced LIGO},
|
||||
year = 2005,
|
||||
}
|
||||
|
||||
|
||||
@inproceedings{hua04_polyp_fir_compl_filter_contr_system,
|
||||
author = {Wensheng Hua and Dan B. Debra and Corwin T. Hardham and Brian T. Lantz and Joseph A. Giaime},
|
||||
title = {Polyphase FIR Complementary Filters for Control Systems},
|
||||
booktitle = {Proceedings of ASPE Spring Topical Meeting on Control of Precision Systems},
|
||||
year = {2004},
|
||||
pages = {109--114},
|
||||
}
|
||||
|
||||
|
||||
@article{matichard15_seism_isolat_advan_ligo,
|
||||
author = {Matichard, F and Lantz, B and Mittleman, R and Mason, K and Kissel, J and Abbott, B and Biscans, S and McIver, J and Abbott, R and Abbott, S and others},
|
||||
title = {Seismic Isolation of Advanced Ligo: Review of Strategy, Instrumentation and Performance},
|
||||
journal = {Classical and Quantum Gravity},
|
||||
volume = {32},
|
||||
number = {18},
|
||||
pages = {185003},
|
||||
year = {2015},
|
||||
publisher = {IOP Publishing},
|
||||
}
|
||||
|
||||
|
||||
@article{min15_compl_filter_desig_angle_estim,
|
||||
author = {Min, Hyung Gi and Jeung, Eun Tae},
|
||||
title = {Complementary Filter Design for Angle Estimation Using Mems Accelerometer and Gyroscope},
|
||||
journal = {Department of Control and Instrumentation, Changwon National University, Changwon, Korea},
|
||||
pages = {641--773},
|
||||
year = {2015},
|
||||
}
|
||||
|
||||
|
||||
@article{corke04_inert_visual_sensin_system_small_auton_helic,
|
||||
author = {Peter Corke},
|
||||
title = {An Inertial and Visual Sensing System for a Small Autonomous Helicopter},
|
||||
journal = {Journal of Robotic Systems},
|
||||
volume = {21},
|
||||
number = {2},
|
||||
pages = {43-51},
|
||||
year = {2004},
|
||||
doi = {10.1002/rob.10127},
|
||||
url = {https://doi.org/10.1002/rob.10127},
|
||||
}
|
||||
|
||||
|
||||
@inproceedings{jensen13_basic_uas,
|
||||
author = {Austin Jensen and Cal Coopmans and YangQuan Chen},
|
||||
title = {Basics and guidelines of complementary filters for small UAS
|
||||
navigation},
|
||||
booktitle = {2013 International Conference on Unmanned Aircraft Systems
|
||||
(ICUAS)},
|
||||
year = 2013,
|
||||
pages = {nil},
|
||||
doi = {10.1109/icuas.2013.6564726},
|
||||
url = {https://doi.org/10.1109/icuas.2013.6564726},
|
||||
month = 5,
|
||||
}
|
||||
|
||||
|
||||
@inproceedings{pascoal99_navig_system_desig_using_time,
|
||||
author = {A. Pascoal and I. Kaminer and P. Oliveira},
|
||||
title = {Navigation System Design Using Time-Varying Complementary Filters},
|
||||
booktitle = {Guidance, Navigation, and Control Conference and Exhibit},
|
||||
year = {1999},
|
||||
pages = {nil},
|
||||
doi = {10.2514/6.1999-4290},
|
||||
url = {https://doi.org/10.2514/6.1999-4290},
|
||||
}
|
||||
|
||||
|
||||
@article{zimmermann92_high_bandw_orien_measur_contr,
|
||||
author = {M. Zimmermann and W. Sulzer},
|
||||
title = {High Bandwidth Orientation Measurement and Control Based on Complementary Filtering},
|
||||
journal = {Robot Control 1991},
|
||||
pages = {525-530},
|
||||
year = {1992},
|
||||
doi = {10.1016/b978-0-08-041276-4.50093-5},
|
||||
url = {https://doi.org/10.1016/b978-0-08-041276-4.50093-5},
|
||||
publisher = {Elsevier},
|
||||
series = {Robot Control 1991},
|
||||
}
|
||||
|
||||
|
||||
@inproceedings{baerveldt97_low_cost_low_weigh_attit,
|
||||
author = {A.-J. Baerveldt and R. Klang},
|
||||
title = {A Low-Cost and Low-Weight Attitude Estimation System for an Autonomous Helicopter},
|
||||
booktitle = {Proceedings of IEEE International Conference on Intelligent Engineering Systems},
|
||||
year = {1997},
|
||||
pages = {nil},
|
||||
doi = {10.1109/ines.1997.632450},
|
||||
url = {https://doi.org/10.1109/ines.1997.632450},
|
||||
month = {-},
|
||||
}
|
||||
|
||||
|
||||
@article{shaw90_bandw_enhan_posit_measur_using_measur_accel,
|
||||
author = {F.R. Shaw and K. Srinivasan},
|
||||
title = {Bandwidth Enhancement of Position Measurements Using Measured
|
||||
Acceleration},
|
||||
journal = {Mechanical Systems and Signal Processing},
|
||||
volume = 4,
|
||||
number = 1,
|
||||
pages = {23-38},
|
||||
year = 1990,
|
||||
doi = {10.1016/0888-3270(90)90038-m},
|
||||
url = {https://doi.org/10.1016/0888-3270(90)90038-m},
|
||||
}
|
||||
|
||||
|
||||
@article{brown72_integ_navig_system_kalman_filter,
|
||||
author = {R. G. Brown},
|
||||
title = {Integrated Navigation Systems and Kalman Filtering: a
|
||||
Perspective},
|
||||
journal = {Navigation},
|
||||
volume = 19,
|
||||
number = 4,
|
||||
pages = {355-362},
|
||||
year = 1972,
|
||||
doi = {10.1002/j.2161-4296.1972.tb01706.x},
|
||||
url = {https://doi.org/10.1002/j.2161-4296.1972.tb01706.x},
|
||||
}
|
||||
|
||||
|
||||
@article{matichard15_seism_isolat_advan_ligo,
|
||||
author = {Matichard, F and Lantz, B and Mittleman, R and Mason, K and
|
||||
Kissel, J and Abbott, B and Biscans, S and McIver, J and
|
||||
Abbott, R and Abbott, S and others},
|
||||
title = {Seismic Isolation of Advanced Ligo: Review of Strategy,
|
||||
Instrumentation and Performance},
|
||||
journal = {Classical and Quantum Gravity},
|
||||
volume = 32,
|
||||
number = 18,
|
||||
pages = 185003,
|
||||
year = 2015,
|
||||
publisher = {IOP Publishing},
|
||||
}
|
||||
|
||||
|
||||
@article{mahony08_nonlin_compl_filter_special_orthog_group,
|
||||
author = {Robert Mahony and Tarek Hamel and Jean-Michel Pflimlin},
|
||||
title = {Nonlinear Complementary Filters on the Special Orthogonal
|
||||
Group},
|
||||
journal = {IEEE Transactions on Automatic Control},
|
||||
volume = 53,
|
||||
number = 5,
|
||||
pages = {1203-1218},
|
||||
year = 2008,
|
||||
doi = {10.1109/tac.2008.923738},
|
||||
url = {https://doi.org/10.1109/tac.2008.923738},
|
||||
}
|
Reference in New Issue
Block a user