Parent Directory | Revision Log

Revision **9** -
(**hide annotations**)
(**download**)
(**as text**)

*Fri Oct 7 03:18:32 2016 UTC*
(6 years, 3 months ago)
by *dashley*

File MIME type: application/x-tex

File size: 12495 byte(s)

File MIME type: application/x-tex

File size: 12495 byte(s)

Commit of wind estimation document.

1 | dashley | 9 | %$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 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |

dashley@gmail.com | ViewVC Help |

Powered by ViewVC 1.1.25 |