1 |
%$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 $
|
2 |
%
|
3 |
\documentclass[letterpaper,10pt,titlepage]{article}
|
4 |
%
|
5 |
%\pagestyle{headings}
|
6 |
%
|
7 |
\usepackage{amsmath}
|
8 |
\usepackage{amsfonts}
|
9 |
\usepackage{amssymb}
|
10 |
\usepackage[ansinew]{inputenc}
|
11 |
\usepackage[OT1]{fontenc}
|
12 |
\usepackage{graphicx}
|
13 |
%\usepackage{makeidx}
|
14 |
%
|
15 |
%
|
16 |
%Define certain conspicuous global constants.
|
17 |
%\newcommand{\productbasename}{FBO-Prime}
|
18 |
%\newcommand{\productversion}{0.1}
|
19 |
%\newcommand{\productname}{\productbasename{}-\productversion}
|
20 |
%
|
21 |
%New environments
|
22 |
%The following environment is for the glossary of terms at the end.
|
23 |
%\newenvironment{docglossaryenum}{\begin{list}
|
24 |
% {}{\setlength{\labelwidth}{0mm}
|
25 |
% \setlength{\leftmargin}{4mm}
|
26 |
% \setlength{\itemindent}{-4mm}
|
27 |
% \setlength{\parsep}{0.85mm}}}
|
28 |
% {\end{list}}
|
29 |
%%
|
30 |
%The following environment is for the database table and field
|
31 |
%documentation at the end.
|
32 |
%\newenvironment{docdbtblfielddef}{\begin{list}
|
33 |
% {}{\setlength{\labelwidth}{0mm}
|
34 |
% \setlength{\leftmargin}{10mm}
|
35 |
% \setlength{\itemindent}{-5mm}
|
36 |
% \setlength{\parsep}{0.85mm}}}
|
37 |
% {\end{list}}
|
38 |
%%
|
39 |
|
40 |
%Embarrassingly, I've forgotten why "makeindex" is necessary ...
|
41 |
%\makeindex
|
42 |
%
|
43 |
\begin{document}
|
44 |
\title{A Least-Squares Solution to the Multiple-Aircraft Wind Estimation Problem}
|
45 |
\author{\vspace{1cm}\\David T. Ashley\\\texttt{dta@e3ft.com}\\\vspace{1cm}}
|
46 |
\date{\vspace*{8mm}\small{Version Control $ $Revision: 1.4 $ $ \\
|
47 |
Version Control $ $Date: 2006/12/26 06:59:37 $ $ (UTC) \\
|
48 |
$ $RCSfile: wvecprob.tex,v $ $ \\
|
49 |
\LaTeX{} Compilation Date: \today{}}}
|
50 |
\maketitle
|
51 |
|
52 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
53 |
%
|
54 |
\begin{abstract}
|
55 |
This document presents a solution to the problem of estimating
|
56 |
wind speed and direction from simultaneous radar observations of the
|
57 |
course and groundspeed of multiple aircraft and knowledge of the approximate
|
58 |
cruising airspeed of each aircraft.
|
59 |
|
60 |
The problem was posted to the \texttt{sci.math} newsgroup by
|
61 |
Chad Speer in December, 2006.
|
62 |
\end{abstract}
|
63 |
|
64 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
65 |
|
66 |
\section{Introduction and Overview}
|
67 |
\label{siov0}
|
68 |
|
69 |
This problem was posted by Chad Speer to the \texttt{sci.math} newsgroup
|
70 |
in December, 2006\@. The problem did not at that time receive any meaningful
|
71 |
suggestions toward a solution.
|
72 |
|
73 |
The problem is how to [uniquely] estimate wind velocity and direction
|
74 |
in the local area from:
|
75 |
|
76 |
\begin{itemize}
|
77 |
\item Radar observations of the course and groundspeed of multiple aircraft.
|
78 |
\item Knowledge of the cruising airspeed of each aircraft (typically obtained from
|
79 |
VFR or IFR flightplan or clearance data filed by the pilot, or from knowledge
|
80 |
of the model of aircraft).
|
81 |
\end{itemize}
|
82 |
|
83 |
This solution assumes that each observed aircraft is affected by wind at the
|
84 |
same speed and in the same direction. This is a reasonable assumption,
|
85 |
and will generally
|
86 |
hold true for aircraft at the same altitude separated by perhaps
|
87 |
20-200 nautical miles. However, this assumption may be very flawed
|
88 |
for aircraft at different altitudes, as the winds tend to vary greatly
|
89 |
in magnitude and direction with altitude.
|
90 |
(Relaxing the assumption of identical wind vectors affecting all observed aircraft
|
91 |
may be a direction for future mathematical refinement.)
|
92 |
|
93 |
Any mathematical results shown to work well in practice may eventually be
|
94 |
incorporated into algorithms used in air traffic control radar.
|
95 |
|
96 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
97 |
|
98 |
\section{Terms and Mathematical Nomenclature}
|
99 |
\label{snom0}
|
100 |
|
101 |
All angular measurements (the angles of vectors) are in degrees clockwise from true
|
102 |
North, and are expressed canonically where possible so that
|
103 |
$0^\circ \leq \theta < 360^\circ$. $0^\circ$ is true North, $90^\circ$ is true East,
|
104 |
$180^\circ$ is true South, and $270^\circ$ is true West.
|
105 |
|
106 |
The \emph{heading} of an aircraft is the direction the aircraft is pointed, whereas the
|
107 |
\emph{course} is the direction of the ground path of the aircraft. In the presence
|
108 |
of wind other than a direct headwind or tailwind, the heading is unequal to the course.
|
109 |
The heading of the aircraft is known by the pilot but not reported to anyone on the ground.
|
110 |
The course of the aircraft is known from radar data.
|
111 |
|
112 |
Vectors are differentiated from scalars with an overlying arrow---$v_i$ is a scalar
|
113 |
but $\vec{v_i}$ is a vector.
|
114 |
|
115 |
The local wind vector is $\vec{w}$ with magnitude $v_w$ and direction
|
116 |
$\theta_w$.
|
117 |
|
118 |
Each aircraft is denoted $A_i$, $i \in \{1, 2, \ldots{} \}$; and has a heading vector
|
119 |
$\vec{v_{hAi}}$ with magnitude $v_{hAi}$ and heading direction $\theta_{hAi}$.
|
120 |
The course of the aircraft $A_i$ is denoted as a vector $\vec{v_{cAi}}$ with magnitude
|
121 |
$v_{cAi}$ and course direction $\theta_{cAi}$. Note that the course is observed by radar.
|
122 |
|
123 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
124 |
|
125 |
\section{The Wind Triangle}
|
126 |
\label{swtr0}
|
127 |
|
128 |
Airplanes fly in a moving block of air, so that the aircraft's ground motion is the
|
129 |
vector sum of the air motion with respect to the ground and the aircraft's
|
130 |
motion with respect to the air (Fig. \ref{fig:swtr0:00}).
|
131 |
|
132 |
For each aircraft $A_i$,
|
133 |
|
134 |
\begin{equation}
|
135 |
\label{eq:swtr0:01}
|
136 |
\vec{v_{cAi}} = \vec{w} + \vec{v_{hAi}} .
|
137 |
\end{equation}
|
138 |
|
139 |
(\ref{eq:swtr0:01}) is known as the \emph{wind triangle} because student pilots
|
140 |
are taught to make this calculation graphically by drawing a triangle of
|
141 |
three vectors on graph paper or by using a mechanical computer such as the
|
142 |
E-6B\footnote{\texttt{http://en.wikipedia.org/wiki/E6B}.}.
|
143 |
|
144 |
\begin{figure}
|
145 |
\centering
|
146 |
\includegraphics[height=3.0in]{wtri01.eps}
|
147 |
\caption{Wind Triangle}
|
148 |
\label{fig:swtr0:00}
|
149 |
\end{figure}
|
150 |
|
151 |
To a person who has never piloted an aircraft, (\ref{eq:swtr0:01})
|
152 |
may be unexpected. It is very common for pilots to have a course that
|
153 |
differs from the heading by more than 10 degrees; and this is
|
154 |
visually apparent in an airplane when tracking roads or freeways below or when
|
155 |
landing in a crosswind.
|
156 |
|
157 |
|
158 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
159 |
|
160 |
\section{The One-Aircraft Case}
|
161 |
\label{ssac0}
|
162 |
|
163 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
164 |
|
165 |
\subsection{Graphical Solution}
|
166 |
\label{ssac0:sgsl0}
|
167 |
|
168 |
With only a single aircraft $A_1$,
|
169 |
|
170 |
\begin{equation}
|
171 |
\label{eq:ssac0:sgls0:01}
|
172 |
\vec{v_{cA1}} = \vec{w} + \vec{v_{hA1}} .
|
173 |
\end{equation}
|
174 |
|
175 |
\noindent{}Separating (\ref{eq:ssac0:sgls0:01}) into x- and y-components yields
|
176 |
|
177 |
\begin{eqnarray}
|
178 |
\label{eq:ssac0:sgls0:02}
|
179 |
v_{cA1} \cos \theta_{cA1} & = & w \cos \theta_w + v_{hA1} \cos \theta_{hA1} \\
|
180 |
\label{eq:ssac0:sgls0:03}
|
181 |
v_{cA1} \sin \theta_{cA1} & = & w \sin \theta_w + v_{hA1} \sin \theta_{hA1}
|
182 |
\end{eqnarray}
|
183 |
|
184 |
\noindent{}The following quantities are known:
|
185 |
|
186 |
\begin{itemize}
|
187 |
\item $v_{cA1}$ (from radar observation of the aircraft).
|
188 |
\item $\theta_{cA1}$ (from radar observation of the aircraft).
|
189 |
\item $v_{hA1}$ (the cruising speed of the aircraft, usually
|
190 |
filed by the pilot as part of the VFR or IFR clearance process).
|
191 |
\end{itemize}
|
192 |
|
193 |
\noindent{}The following quantities are unknown:
|
194 |
|
195 |
\begin{itemize}
|
196 |
\item $w$ (wind velocity).
|
197 |
\item $\theta_{w}$ (wind direction).
|
198 |
\item $\theta_{hA1}$ (Note as discussed above that \emph{heading} and
|
199 |
\emph{course} are distinct. The course is known from radar observation,
|
200 |
but the heading---the direction the aircraft is pointed---is not
|
201 |
known.\footnote{More precisely, the heading is not known by anyone \emph{on
|
202 |
the ground}. The heading is indicated by at least one aircraft instrument
|
203 |
and known to the pilot, but this information is not communicated to anyone
|
204 |
else.})
|
205 |
\end{itemize}
|
206 |
|
207 |
With two equations and three unknowns, it would normally be expected that the solution is a
|
208 |
set that can be parameterized with one parameter.
|
209 |
|
210 |
\begin{figure}
|
211 |
\centering
|
212 |
\includegraphics[width=4.0in]{ac1gsl01.eps}
|
213 |
\caption{Graphical Solution for One-Aircraft Case}
|
214 |
\label{fig:ssac0:sgls0:00}
|
215 |
\end{figure}
|
216 |
|
217 |
It can be seen graphically (Fig. \ref{fig:ssac0:sgls0:00}\footnote{Note that
|
218 |
although Fig. \ref{fig:ssac0:sgls0:00} conveys all the essential features of
|
219 |
the one-aircraft case, the wind vector $\vec{w}$ normally has the smallest magnitude
|
220 |
of the three vectors in the wind triangle. A light aircraft that cruises
|
221 |
at 120 knots airspeed and is affected by winds of 10-30 knots is the typical case.})
|
222 |
that an infinite number of solutions
|
223 |
exist, parameterized by $0^\circ \leq \theta_{hA1} < 360^\circ$.
|
224 |
A heading vector with the appropriate magnitude
|
225 |
($v_{hA1}$, the cruising speed of the aircraft) can be chosen so that its endpoint is
|
226 |
anywhere on the circle $C$ in Fig. \ref{fig:ssac0:sgls0:00}, and a wind vector $\vec{w}$
|
227 |
can then be chosen to solve the equations.
|
228 |
|
229 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
230 |
|
231 |
\subsection{Analytic Solution}
|
232 |
\label{ssac0:sasl0}
|
233 |
|
234 |
The problem can be solved analytically as follows:
|
235 |
|
236 |
\begin{itemize}
|
237 |
\item Choose $\theta_{hA1} \in [0^\circ, 360^\circ)$.
|
238 |
\item Since $\theta_{hA1}$ and $v_{hA1}$ are established,
|
239 |
$\vec{v_{hA1}}$ is established.
|
240 |
Solve for $\vec{w}$ using (\ref{eq:ssac0:sgls0:01}):
|
241 |
|
242 |
\begin{equation}
|
243 |
\label{eq:ssac0:sasl0:01}
|
244 |
\vec{w} = \vec{v_{cA1}} - \vec{v_{hA1}} .
|
245 |
\end{equation}
|
246 |
|
247 |
\end{itemize}
|
248 |
|
249 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
250 |
|
251 |
\section{The Two-Aircraft Case}
|
252 |
\label{stac0}
|
253 |
|
254 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
255 |
|
256 |
\subsection{Graphical Solution}
|
257 |
\label{stac0:sgls0}
|
258 |
|
259 |
\begin{figure}
|
260 |
\centering
|
261 |
\includegraphics[width=4.0in]{ac2gsl01.eps}
|
262 |
\caption{Graphical Solution for Two-Aircraft Case}
|
263 |
\label{fig:stac0:sgls0:00}
|
264 |
\end{figure}
|
265 |
|
266 |
The two-aircraft case can be solved graphically by constructing the
|
267 |
solution sets (circle \emph{S} in Fig. \ref{fig:ssac0:sgls0:00})
|
268 |
of the two aircraft so that \emph{Vertex C}
|
269 |
(Figs. \ref{fig:swtr0:00}, \ref{fig:ssac0:sgls0:00}) are coincident.
|
270 |
Figure \ref{fig:stac0:sgls0:00} depicts the graphical solution.
|
271 |
|
272 |
Figure \ref{fig:stac0:sgls0:00} depicts the case where
|
273 |
$A_2$ has a higher cruising speed (a solution circle of larger
|
274 |
radius) than $A_1$. The following properties can be
|
275 |
observed from Fig. \ref{fig:stac0:sgls0:00}:
|
276 |
|
277 |
\begin{itemize}
|
278 |
\item Since the solution set for each aircraft is represented by a circle,
|
279 |
the solutions for the two-aircraft case are the points where the two
|
280 |
circles meet.
|
281 |
\item There may be no solutions, one solution, or two solutions for the
|
282 |
two-aircraft case. (Fig. \ref{fig:stac0:sgls0:00}
|
283 |
depicts the case with two solutions. The second solution is shown
|
284 |
with dotted lines.)
|
285 |
\item In a practical case, the correct solution would probably be the
|
286 |
solution with the wind vector of lesser magnitude.
|
287 |
\end{itemize}
|
288 |
|
289 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
290 |
|
291 |
\subsection{Analytic Solution}
|
292 |
\label{stac0:sasl0}
|
293 |
|
294 |
I have not a clue how to think about this problem analytically.
|
295 |
|
296 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
297 |
|
298 |
\section{The General Multiple Aircraft Case}
|
299 |
\label{smac0}
|
300 |
|
301 |
It is unclear how to set this up as a problem so that a unique solution
|
302 |
can be obtained in the presence of [mildly] inconsistent data, or what the basis
|
303 |
for the unique solution should be (i.e. similar to least-squares---there has
|
304 |
to be something one is trying to optimize or minimize).
|
305 |
|
306 |
|
307 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
308 |
\end{document}
|
309 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
310 |
% $Log: wvecprob.tex,v $
|
311 |
% Revision 1.4 2006/12/26 06:59:37 dashley
|
312 |
% Edits.
|
313 |
%
|
314 |
% Revision 1.3 2006/12/23 21:10:01 dashley
|
315 |
% Edits.
|
316 |
%
|
317 |
% Revision 1.2 2006/12/23 20:27:11 dashley
|
318 |
% Edits.
|
319 |
%
|
320 |
% Revision 1.1 2006/12/23 19:06:00 dashley
|
321 |
% Initial checkin.
|
322 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|