%$Header: /home/dashley/cvsrep/e3ft_gpl01/e3ft_gpl01/dtaipubs/cron/2006/wvecprob/wvecprob.tex,v 1.4 2006/12/26 06:59:37 dashley Exp $ % \documentclass[letterpaper,10pt,titlepage]{article} % %\pagestyle{headings} % \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage[ansinew]{inputenc} \usepackage[OT1]{fontenc} \usepackage{graphicx} %\usepackage{makeidx} % % %Define certain conspicuous global constants. %\newcommand{\productbasename}{FBO-Prime} %\newcommand{\productversion}{0.1} %\newcommand{\productname}{\productbasename{}-\productversion} % %New environments %The following environment is for the glossary of terms at the end. %\newenvironment{docglossaryenum}{\begin{list} % {}{\setlength{\labelwidth}{0mm} % \setlength{\leftmargin}{4mm} % \setlength{\itemindent}{-4mm} % \setlength{\parsep}{0.85mm}}} % {\end{list}} %% %The following environment is for the database table and field %documentation at the end. %\newenvironment{docdbtblfielddef}{\begin{list} % {}{\setlength{\labelwidth}{0mm} % \setlength{\leftmargin}{10mm} % \setlength{\itemindent}{-5mm} % \setlength{\parsep}{0.85mm}}} % {\end{list}} %% %Embarrassingly, I've forgotten why "makeindex" is necessary ... %\makeindex % \begin{document} \title{A Least-Squares Solution to the Multiple-Aircraft Wind Estimation Problem} \author{\vspace{1cm}\\David T. Ashley\\\texttt{dta@e3ft.com}\\\vspace{1cm}} \date{\vspace*{8mm}\small{Version Control $ $Revision: 1.4 $ $ \\ Version Control $ $Date: 2006/12/26 06:59:37 $ $ (UTC) \\ $ $RCSfile: wvecprob.tex,v $ $ \\ \LaTeX{} Compilation Date: \today{}}} \maketitle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{abstract} This document presents a solution to the problem of estimating wind speed and direction from simultaneous radar observations of the course and groundspeed of multiple aircraft and knowledge of the approximate cruising airspeed of each aircraft. The problem was posted to the \texttt{sci.math} newsgroup by Chad Speer in December, 2006. \end{abstract} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Introduction and Overview} \label{siov0} This problem was posted by Chad Speer to the \texttt{sci.math} newsgroup in December, 2006\@. The problem did not at that time receive any meaningful suggestions toward a solution. The problem is how to [uniquely] estimate wind velocity and direction in the local area from: \begin{itemize} \item Radar observations of the course and groundspeed of multiple aircraft. \item Knowledge of the cruising airspeed of each aircraft (typically obtained from VFR or IFR flightplan or clearance data filed by the pilot, or from knowledge of the model of aircraft). \end{itemize} This solution assumes that each observed aircraft is affected by wind at the same speed and in the same direction. This is a reasonable assumption, and will generally hold true for aircraft at the same altitude separated by perhaps 20-200 nautical miles. However, this assumption may be very flawed for aircraft at different altitudes, as the winds tend to vary greatly in magnitude and direction with altitude. (Relaxing the assumption of identical wind vectors affecting all observed aircraft may be a direction for future mathematical refinement.) Any mathematical results shown to work well in practice may eventually be incorporated into algorithms used in air traffic control radar. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Terms and Mathematical Nomenclature} \label{snom0} All angular measurements (the angles of vectors) are in degrees clockwise from true North, and are expressed canonically where possible so that $0^\circ \leq \theta < 360^\circ$. $0^\circ$ is true North, $90^\circ$ is true East, $180^\circ$ is true South, and $270^\circ$ is true West. The \emph{heading} of an aircraft is the direction the aircraft is pointed, whereas the \emph{course} is the direction of the ground path of the aircraft. In the presence of wind other than a direct headwind or tailwind, the heading is unequal to the course. The heading of the aircraft is known by the pilot but not reported to anyone on the ground. The course of the aircraft is known from radar data. Vectors are differentiated from scalars with an overlying arrow---$v_i$ is a scalar but $\vec{v_i}$ is a vector. The local wind vector is $\vec{w}$ with magnitude $v_w$ and direction $\theta_w$. Each aircraft is denoted $A_i$, $i \in \{1, 2, \ldots{} \}$; and has a heading vector $\vec{v_{hAi}}$ with magnitude $v_{hAi}$ and heading direction $\theta_{hAi}$. The course of the aircraft $A_i$ is denoted as a vector $\vec{v_{cAi}}$ with magnitude $v_{cAi}$ and course direction $\theta_{cAi}$. Note that the course is observed by radar. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{The Wind Triangle} \label{swtr0} Airplanes fly in a moving block of air, so that the aircraft's ground motion is the vector sum of the air motion with respect to the ground and the aircraft's motion with respect to the air (Fig. \ref{fig:swtr0:00}). For each aircraft $A_i$, \begin{equation} \label{eq:swtr0:01} \vec{v_{cAi}} = \vec{w} + \vec{v_{hAi}} . \end{equation} (\ref{eq:swtr0:01}) is known as the \emph{wind triangle} because student pilots are taught to make this calculation graphically by drawing a triangle of three vectors on graph paper or by using a mechanical computer such as the E-6B\footnote{\texttt{http://en.wikipedia.org/wiki/E6B}.}. \begin{figure} \centering \includegraphics[height=3.0in]{wtri01.eps} \caption{Wind Triangle} \label{fig:swtr0:00} \end{figure} To a person who has never piloted an aircraft, (\ref{eq:swtr0:01}) may be unexpected. It is very common for pilots to have a course that differs from the heading by more than 10 degrees; and this is visually apparent in an airplane when tracking roads or freeways below or when landing in a crosswind. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{The One-Aircraft Case} \label{ssac0} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Graphical Solution} \label{ssac0:sgsl0} With only a single aircraft $A_1$, \begin{equation} \label{eq:ssac0:sgls0:01} \vec{v_{cA1}} = \vec{w} + \vec{v_{hA1}} . \end{equation} \noindent{}Separating (\ref{eq:ssac0:sgls0:01}) into x- and y-components yields \begin{eqnarray} \label{eq:ssac0:sgls0:02} v_{cA1} \cos \theta_{cA1} & = & w \cos \theta_w + v_{hA1} \cos \theta_{hA1} \\ \label{eq:ssac0:sgls0:03} v_{cA1} \sin \theta_{cA1} & = & w \sin \theta_w + v_{hA1} \sin \theta_{hA1} \end{eqnarray} \noindent{}The following quantities are known: \begin{itemize} \item $v_{cA1}$ (from radar observation of the aircraft). \item $\theta_{cA1}$ (from radar observation of the aircraft). \item $v_{hA1}$ (the cruising speed of the aircraft, usually filed by the pilot as part of the VFR or IFR clearance process). \end{itemize} \noindent{}The following quantities are unknown: \begin{itemize} \item $w$ (wind velocity). \item $\theta_{w}$ (wind direction). \item $\theta_{hA1}$ (Note as discussed above that \emph{heading} and \emph{course} are distinct. The course is known from radar observation, but the heading---the direction the aircraft is pointed---is not known.\footnote{More precisely, the heading is not known by anyone \emph{on the ground}. The heading is indicated by at least one aircraft instrument and known to the pilot, but this information is not communicated to anyone else.}) \end{itemize} With two equations and three unknowns, it would normally be expected that the solution is a set that can be parameterized with one parameter. \begin{figure} \centering \includegraphics[width=4.0in]{ac1gsl01.eps} \caption{Graphical Solution for One-Aircraft Case} \label{fig:ssac0:sgls0:00} \end{figure} It can be seen graphically (Fig. \ref{fig:ssac0:sgls0:00}\footnote{Note that although Fig. \ref{fig:ssac0:sgls0:00} conveys all the essential features of the one-aircraft case, the wind vector $\vec{w}$ normally has the smallest magnitude of the three vectors in the wind triangle. A light aircraft that cruises at 120 knots airspeed and is affected by winds of 10-30 knots is the typical case.}) that an infinite number of solutions exist, parameterized by $0^\circ \leq \theta_{hA1} < 360^\circ$. A heading vector with the appropriate magnitude ($v_{hA1}$, the cruising speed of the aircraft) can be chosen so that its endpoint is anywhere on the circle $C$ in Fig. \ref{fig:ssac0:sgls0:00}, and a wind vector $\vec{w}$ can then be chosen to solve the equations. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Analytic Solution} \label{ssac0:sasl0} The problem can be solved analytically as follows: \begin{itemize} \item Choose $\theta_{hA1} \in [0^\circ, 360^\circ)$. \item Since $\theta_{hA1}$ and $v_{hA1}$ are established, $\vec{v_{hA1}}$ is established. Solve for $\vec{w}$ using (\ref{eq:ssac0:sgls0:01}): \begin{equation} \label{eq:ssac0:sasl0:01} \vec{w} = \vec{v_{cA1}} - \vec{v_{hA1}} . \end{equation} \end{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{The Two-Aircraft Case} \label{stac0} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Graphical Solution} \label{stac0:sgls0} \begin{figure} \centering \includegraphics[width=4.0in]{ac2gsl01.eps} \caption{Graphical Solution for Two-Aircraft Case} \label{fig:stac0:sgls0:00} \end{figure} The two-aircraft case can be solved graphically by constructing the solution sets (circle \emph{S} in Fig. \ref{fig:ssac0:sgls0:00}) of the two aircraft so that \emph{Vertex C} (Figs. \ref{fig:swtr0:00}, \ref{fig:ssac0:sgls0:00}) are coincident. Figure \ref{fig:stac0:sgls0:00} depicts the graphical solution. Figure \ref{fig:stac0:sgls0:00} depicts the case where $A_2$ has a higher cruising speed (a solution circle of larger radius) than $A_1$. The following properties can be observed from Fig. \ref{fig:stac0:sgls0:00}: \begin{itemize} \item Since the solution set for each aircraft is represented by a circle, the solutions for the two-aircraft case are the points where the two circles meet. \item There may be no solutions, one solution, or two solutions for the two-aircraft case. (Fig. \ref{fig:stac0:sgls0:00} depicts the case with two solutions. The second solution is shown with dotted lines.) \item In a practical case, the correct solution would probably be the solution with the wind vector of lesser magnitude. \end{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Analytic Solution} \label{stac0:sasl0} I have not a clue how to think about this problem analytically. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{The General Multiple Aircraft Case} \label{smac0} It is unclear how to set this up as a problem so that a unique solution can be obtained in the presence of [mildly] inconsistent data, or what the basis for the unique solution should be (i.e. similar to least-squares---there has to be something one is trying to optimize or minimize). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \end{document} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % $Log: wvecprob.tex,v $ % Revision 1.4 2006/12/26 06:59:37 dashley % Edits. % % Revision 1.3 2006/12/23 21:10:01 dashley % Edits. % % Revision 1.2 2006/12/23 20:27:11 dashley % Edits. % % Revision 1.1 2006/12/23 19:06:00 dashley % Initial checkin. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%