Abstract:
A computational air data method and system for estimating angle-of-attack and angle-of-sideslip of an aircraft utilizing a detailed aerodynamic model of the aircraft, extended Kalman filters, inertial system measurements of body rates and body accelerations, and computation of dynamic pressure.

Description:
This specification includes a computer program listing appendix contained on a compact disc, said computer program listing appendix being incorporated-by-reference herein. There are two compact discs which are identical: labeled Copy 1 and Copy 2. The name of the file on each disc is CAD_AutoCode.c; the date of creation of the file was May 6, 2003; the size of the file is 534,944 bytes. 
   BACKGROUND OF THE INVENTION 
   The present invention is directed to determining the angle-of-attack and angle-of-sideslip of an aircraft, and more particularly to a computational method and apparatus for making such determinations, thereby eliminating the need for air data sensors used with traditional air data systems. 
   Air data systems are required on aircraft as part of the flight control system. These systems require the addition of air data pressure sensors to the exterior of the aircraft to measure the angle-of-attack (AOA) α and angle-of-sideslip (AOSS) β. On stealth aircraft a flush-port air data system (FADS) is typically used. These FADS systems typically have in excess of 10 pressure ports/sensors. These sensors make the aircraft less stealthy, and increase maintenance and operations costs. Such air data systems must also be redundant electrically and mechanically, have significant heating requirements to make them operational in all weather conditions, and require significant software development effort. 
   SUMMARY OF THE INVENTION 
   The present invention eliminates these air data sensors required to measure AOA and AOSS, thereby reducing cost and weight and making military aircraft more stealthy, and can provide analytical redundancy to existing air data systems used in legacy platforms. The present invention makes it possible to reduce the hardware and software of a FADS system down to just a static and total pressure measurement system (two ports/sensors), greatly simplifying the air data system. This makes the aircraft more stealthy, and by eliminating expensive pressure sensors and the ports for these sensors, greatly improves the “low observable” maintainability of the aircraft. Also, reducing the number of sensors reduces the heating requirements, wiring cost and weight, thus reducing overall electrical power consumption. 
   Moreover, FADS require sophisticated software algorithms for modeling and converting pressure measurements into AOA and AOSS. Initial FADS software is based on wind tunnel data which is often inaccurate and uncertain. Expensive flight testing must be performed to calibrate the FADS algorithms, usually requiring several software iterations before the system is accurate enough to be used as part of the flight control system. The present invention eliminates the FADS software for computing AOA and AOSS altogether, and the cost of maturing FADS through flight test. Furthermore, any changes made to the outer mold lines of the aircraft would require a complete re-work of any FADS algorithms, as well as re-validation and calibration in flight test. The present invention uses the same aerodynamic model used to design the flight control system, and does not require any additional rework. This is of particular importance where limited numbers of a particular aircraft are expected to be built and may significantly vary between production builds. 
   In accordance with a preferred embodiment of the invention, extended Kalman filters are used to estimate AOA and AOSS. The algorithm processes inertial system measurements of body rates and body accelerations, and uses a detailed aerodynamic model of the aircraft. Static pressure and total pressure also are provided to the algorithm to compute dynamic pressure. 
   Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with reference to the accompanying drawings. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a vector diagram defining the angle-of-attack (α) and angle-of-sideslip (β) of an aircraft to be estimated in accordance with the invention; 
       FIG. 2  is a general block diagram illustrating a preferred embodiment of the present invention; 
       FIG. 3  is an illustration exemplifying control surfaces using the Air Force X-45A Unmanned Combat Air Vehicle; and 
       FIG. 4  is a timeline for state vector time propagation and measurement updating used to define notation in accordance with a preferred embodiment of the invention. 
   

   DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
   The present invention is a Computational Air Data System (CADS) utilizing a set of algorithms that estimates the AOA (α) and AOSS (β) as defined in FIG.  1 . The x, y, z coordinate systems shown in  FIG. 1  are located at the aircraft&#39;s center-of-gravity. There are three coordinate systems identified in FIG.  1 : The “wind” axes; the “stability” axes; and the “body” axes. The aircraft&#39;s velocity vector V is along the x-axis of the wind coordinate system X WIND . A rotation using the AOSS β rotates the velocity vector to the stability axes (vector shown along x STABILITY ). A rotation using the AOA α then rotates the stability axes to the body axes. The aircraft&#39;s velocity is described in body axes using components u, v, w along the x BODY , y BODY , z BODY  axes, respectively. 
   The CADS algorithms use a detailed aircraft aerodynamic model and an extended Kalman filter that processes Inertial Measurement Unit (IMU) measurements of body rates and accelerations, and a conventional air data system measurement of dynamic pressure derived from total air temperature, static and total pressure.  FIG. 2  illustrates the inputs and outputs from the computational air data system. 
   Extended Kalman filters are used in a variety of applications to estimate dynamic state vectors. The algorithms for extended Kalman filters have been published in many text books and are well known to those skilled in the art. 
   In accordance with a preferred embodiment of the invention, The CADS algorithms are partitioned into decoupled pitch and roll-yaw algorithms. However, it is to be understood that it is within the scope of the invention that they could also be implemented in a coupled pitch-roll-yaw implementation, although an increase in the computer throughput would be required. 
   An extended Kalman filter is used because the dynamical equations describing the motion of an aircraft through the atmosphere are nonlinear. The CADS algorithms include the following elements:
         1. State space dynamical model (nonlinear)   2. Extended Kalman filter algorithms   3. Detailed model equations   4. Measurements used in CADS
 
State Space Dynamical Model
       

   The dynamics of an aircraft are modeled in a nonlinear state space form as follows: 
                   x   .     ⁡     (   t   )       =       a   ⁡     (       x   ⁡     (   t   )       ,     u   ⁡     (   t   )       ,   t     )       +     Gw   ⁡     (   t   )           ⁢     
     ⁢       z   ⁡     (   t   )       =       h   ⁡     (       x   ⁡     (   t   )       ,     u   ⁡     (   t   )       ,   t     )       +     v   ⁡     (   t   )                   (   0.1   )             
 
where x∈             n     x    is the state vector, u∈           n     u    is the control input vector, w∈           n     w    is the stochastic plant disturbance, z∈           n     z    is the measurement vector, v∈           n     z    is the stochastic measurement noise, and G∈           n     w     xn     w    is the plant disturbance distribution matrix. The vector fields a(•) and h(•) model the nonlinear state dynamics and measurements. Jacobians of both a(•) and h(•) with respect to the state vector x are required in the extended Kalman filter, and are given by 
                                 A   ⁡     (       x   ⁡     (   t   )       ,     u   ⁡     (   t   )       ,   t     )       =       ∂     a   ⁡     (       x   ⁡     (   t   )       ,     u   ⁡     (   t   )       ,   t     )           ∂   x                x   =     x   ^                           H   ⁡     (       x   ⁡     (   t   )       ,     u   ⁡     (   t   )       ,   t     )       =       ∂     h   ⁡     (       x   ⁡     (   t   )       ,     u   ⁡     (   t   )       ,   t     )           ∂   x                x   =     x   ^         .                 (   0.             x   =     x   ^               (   0.2   )             

   The plant process disturbance vector w and measurement noise v are assumed to be zero mean, uncorrelated, uncorrelated to the state vector, wide sense stationary, and have covariance matrices Q and R, respectively. 
   The control input vector u contains the commands to the control surfaces of an aircraft or missile. The commands come from the flight control system onboard the aircraft or missile.  FIG. 3  illustrates these variables using as an example the Air Force/Boeing X-45A Unmanned Combat Air Vehicle. These control surface commands are used in the CADS algorithms to correctly model the aerodynamic and propulsive forces and moments. The models for the aerodynamic and propulsive forces are described in the section on detailed model equations. These detailed model equations are numerically integrated in the extended Kalman filter as part of the AOA and AOSS estimation process. 
   The extended Kalman filter estimates the stochastic state vector x by processing stochastic measurements z. The error covariance matrix P is defined as E{(x−{circumflex over (x)})(x−{circumflex over (x)}) T }=P∈             n     x     xn     x   , where E{•} denotes the expectation operator. The error covariance matrix is propagated in time using
 
 {dot over (P)} ( t )= A   T ( t ) P ( t )+ P ( t ) A ( t )+ GQ ( t ) G   T   (0.3) 
 
where A is the Jacobian from (0.2) and Q is the plant process disturbance covariance matrix.

   These models are used in the CADS algorithms, and will be further described following description of the extended Kalman filter algorithms. 
   Extended Kalman Filter Algorithms 
   The extended Kalman filter sequentially estimates the state vector x modeled in (0.1) by processing measurements z. The filter is comprised of a time update algorithm, for propagating the state vector x and error covariance matrix P between measurements, and a measurement update algorithm, that updates the state vector x and error covariance matrix P based upon the measurements z. 
     FIG. 4  illustrates a timeline for state vector time propagation and measurement updating, and is used to define notation and explain the processing in the CADS software. Although (0.1) is continuous,  FIG. 4  illustrates a discrete-time process that is fundamental to the software processing in accordance with a preferred embodiment of the invention. 
   The estimated state vector {circumflex over (x)} is discrete, and is the conditional mean estimate of the vector x given the measurement z, written as {circumflex over (x)}=E {x|z}. The notation as illustrated in  FIG. 4  has two subscripts, the first indicating the stage in time, and the second subscript the latest measurement used in the measurement update algorithm. The first subscript denotes time, and follows the time partitioning on the time scale in FIG.  4 . The time update algorithm propagates {circumflex over (x)} k−1|k−1  to {circumflex over (x)} k|k−1 , {circumflex over (x)} k|k  to {circumflex over (x)} k+1|k  and so forth. The measurement update reflected in the second subscript indicates the processing of the i-th set of measurements. When z is processed at time (k−1), {circumflex over (x)} k−1′k−2  is updated to be {circumflex over (x)} k−1|k−1 . When z is processed at time (k), {circumflex over (x)} k|k−1  is updated to be {circumflex over (x)} k|k , and so forth. 
   Numerical integration algorithms are used to integrate the continuous differential equations. Either Euler integration or other, including more advanced, integration algorithms can be used. These time and measurement update equations for the state and error covariances are: 
   Time Update 
                   x   ^         k   +   1     |   k       =         x   ^       k   |   k       +       a   ⁡     (         x   ^       k   |   k       ,     u   ⁡     (   k   )       ,   k     )       ⁢   Δ   ⁢           ⁢   t         ⁢     
     ⁢       P       k   +   1     |   k       =       P     k   |   k       +       (       AP     k   |   k       +       P     k   |   k       ⁢     A   T       +     GQG   T       )     ⁢   Δ   ⁢           ⁢   t                 (   0.4   )             
 
   Measurement Update 
               K   k     =               P     k   |     k   -   1         ⁢       H   T     ⁡     (         x   ^       k   |     k   -   1         ,     u   ⁡     (   k   )       ,   k     )       ⁢       (         H   ⁡     (         x   ^       k   |     k   -   1         ,     u   ⁡     (   k   )       ,   k     )       ⁢       PH   T     ⁡     (         x   ^       k   |     k   -   1         ,     u   ⁡     (   k   )       ,   k     )         +   R     )       -   1       ⁢     
     ⁢     P     k   |   k         =           (       I     n   s       -       K   k     ⁢     H   ⁡     (         x   ^       k   |     k   -   1         ,     u   ⁡     (   k   )       ,   k     )           )     ⁢         P     k   |     k   -   1         ⁡     (       I     n   s       -       K   k     ⁢     H   ⁡     (         x   ^       k   |     k   -   1         ,     u   ⁡     (   k   )       ,   k     )           )       T       +       K   k     ⁢     RK   k   T     ⁢     
     ⁢       x   ^       k   |   k           =         x   ^       k   |     k   -   1         +       K   k     ⁡     (       z   k     -     h   ⁡     (         x   ^       k   |     k   -   1         ,     u   ⁡     (   k   )       ,   k     )         )                       (   0.5   )             
 
where z k  represents the measurement vector z at time k, the matrix R∈             n     z     xn     z    is the measurement noise covariance matrix, and H({circumflex over (x)} k|k−1 , u(k),k) is the Jacobian matrix described in (0.2). The equations described in (0.4) and (0.5) generically describe the extended Kalman filter processing in the CADS software. The detailed model equations coupled with the extended Kalman filter equations form the CADS algorithms.
 
Detailed Model Equations

   The CADS state vector from (0.1) is partitioned into longitudinal (Ion) and lateral-directional (lat-dir) as follows. 
                 x   ^     lon     =           [           θ   ^           q   ^           α   ^           V   ^           ]     T     ⁢           ⁢       x   ^       lai   -   dir         =       [           ϕ   ^           p   ^           r   ^           β   ^           ]     T               (   0.6   )             
 
   The detailed model equations for these states are given as follows: 
                 θ   .     =       q   ⁢           ⁢   cos   ⁢           ⁢   ϕ     -     r   ⁢           ⁢   sin   ⁢           ⁢   ϕ         ⁢     
     ⁢       ϕ   .     =     p   +     q   ⁢           ⁢   sin   ⁢           ⁢   ϕ   ⁢           ⁢   tan   ⁢           ⁢   θ     +     r   ⁢           ⁢   cos   ⁢           ⁢   ϕ   ⁢           ⁢   tan   ⁢           ⁢   θ                 (   0.7   )                 [           p   .               q   .               r   .           ]     =       I     -   1       ⁡     (       [         L           M           N         ]     -       [         p           q           r         ]     ×     I   ⁡     [         p           q           r         ]           )               (   0.8   )                         α   .     =       ⁢       1     Vm   ⁢           ⁢   cos   ⁢           ⁢   β       [       -     L   IFT       +       Z   T     ⁢   cos   ⁢           ⁢   α     -       X   T     ⁢   sin   ⁢           ⁢   α     +                         ⁢     mg   ⁡     (       cos   ⁢           ⁢   α   ⁢           ⁢   cos   ⁢           ⁢   ϕ   ⁢           ⁢   cos   ⁢           ⁢   θ     +     sin   ⁢           ⁢   α   ⁢           ⁢   sin   ⁢           ⁢   θ       )       ]     +   q   -                   ⁢     tan   ⁢           ⁢     β   ⁡     (       p   ⁢           ⁢   cos   ⁢           ⁢   α     +     r   ⁢           ⁢   sin   ⁢           ⁢   α       )                 ⁢     
     ⁢             β   .     =       ⁢       1   mV     [         D   RAG     ⁢   sin   ⁢           ⁢   β     +     Y   ⁢           ⁢   cos   ⁢           ⁢   β     -       X   T     ⁢   cos   ⁢           ⁢   α   ⁢           ⁢   sin   ⁢           ⁢   β     +       Y   T     ⁢   cos   ⁢           ⁢   β     -                       ⁢         Z   T     ⁢   sin   ⁢           ⁢   α   ⁢           ⁢   sin   ⁢           ⁢   β     +     mg   (       cos   ⁢           ⁢   α   ⁢           ⁢   sin   ⁢           ⁢   β   ⁢           ⁢   sin   ⁢           ⁢   θ     +     cos   ⁢           ⁢   β   ⁢           ⁢   sin   ⁢           ⁢   ϕ   ⁢           ⁢   cos   ⁢           ⁢   θ     -                             ⁢     sin   ⁢           ⁢   α   ⁢           ⁢   sin   ⁢           ⁢   β   ⁢           ⁢   cos   ⁢           ⁢   ϕ   ⁢           ⁢   cos   ⁢           ⁢   θ     )     ]     +     p   ⁢           ⁢   sin   ⁢           ⁢   α     -     r   ⁢           ⁢   cos   ⁢           ⁢   α             ⁢     
     ⁢             V   .     =       ⁢       1   m     [         -     D   RAG       ⁢   cos   ⁢           ⁢   β     +     Y   ⁢           ⁢   sin   ⁢           ⁢   β     +       X   T     ⁢   cos   ⁢           ⁢   α   ⁢           ⁢   cos   ⁢           ⁢   β     +       Y   T     ⁢   sin   ⁢           ⁢   β     +                       ⁢         Z   T     ⁢   sin   ⁢           ⁢   α   ⁢           ⁢   cos   ⁢           ⁢   β     -     mg   (       cos   ⁢           ⁢   α   ⁢           ⁢   cos   ⁢           ⁢   β   ⁢           ⁢   sin   ⁢           ⁢   θ     -     sin   ⁢           ⁢   β   ⁢           ⁢   sin   ⁢           ⁢   ϕ   ⁢           ⁢   cos   ⁢           ⁢   θ     -                             ⁢     sin   ⁢           ⁢   α   ⁢           ⁢   cos   ⁢           ⁢   β   ⁢           ⁢   cos   ⁢           ⁢   ϕ   ⁢           ⁢   cos   ⁢           ⁢   θ     )     ]     .                   (   0.9   )             
 
   The right side of the differential equations (0.7), (0.8), and (0.9) are evaluated using the posteriori state estimate {circumflex over (x)} k|k  to form α({circumflex over (x)} k|k , u(k), k) used in the time update of the state vector described in (0.4). The Jacobian of equations (0.7), (0.8), and (0.9) forms the linear model A(x(t),u(t),t) used to time propagate the error covariance matrix P k+1|k  in (0.4). These expressions are partitioned similar to (0.6) into longitudinal and lateral-directional (lat-dir) components, and are implemented in parallel computations in the CADS software. 
   With these expressions and the models of the aerodynamic forces, propulsive forces, and moments that are embedded in them, the CADS algorithms successfully estimate AOA and AOSS, i.e., the aerodynamic forces (D RAG  Y L IFT ) (drag, side force, lift), the propulsive forces (X T  Y T  Z T ) in the body x, y and z directions, and the moments (L M N) about the body roll, pitch, and yaw axes, respectively. The models of the forces and moments are tailored to each aircraft or missile to which this invention may be applied. The vector u used in evaluating the Jacobian matrices in (0.2) contains the control surface commands from the aircraft&#39;s flight control system. These commands are used to compute the forces and moments (aerodynamic and propulsive) as commanded by the aircraft&#39;s flight control system. 
   Measurements Used In CADS Algorithms 
   The measurement vector z used in the extended Kalman filter measurement update described in (0.5) is given by: 
             z   =       [         θ           ϕ           p           q           r             A   x               A   y               A   z           ]     =     [           Navigator   ⁢           ⁢   pitch   ⁢           ⁢   attitude               Navigator   ⁢           ⁢   roll   ⁢           ⁢   attitude               IMU   ⁢           ⁢   roll   ⁢           ⁢   rate               IMU   ⁢           ⁢   pitch   ⁢           ⁢   rate               IMU   ⁢           ⁢   yaw   ⁢           ⁢   rate               IMU   ⁢           ⁢   x   ⁢     -     ⁢   body   ⁢           ⁢   axis   ⁢           ⁢   acceleration               IMU   ⁢           ⁢   y   ⁢     -     ⁢   body   ⁢           ⁢   axis   ⁢           ⁢   acceleration               IMU   ⁢           ⁢   z   ⁢     -     ⁢   body   ⁢           ⁢   axis   ⁢           ⁢   acceleration           ]               (   0.10   )             
 
   In addition to the navigation and IMU measurements listed in (0.10), the CADS algorithms require dynamic pressure {overscore (q)}. The dynamic pressure measurement is supplied by a conventional air data system hardware and software. 
   The measurement equations relating the states in x to the measurements z in (0.10) are given by 
                 θ   =   θ     ,           ⁢     ϕ   =   ϕ     ,           ⁢     p   =   p     ,           ⁢     q   =   q     ,           ⁢     r   =   r       ⁢     
     ⁢       A   x     =       1   gm     ⁡     [       X   T     -       D   RAG     ⁢   cos   ⁢           ⁢   α     +       L   IFT     ⁢   sin   ⁢           ⁢   α       ]         ⁢     
     ⁢       A   y     =       1   gm     ⁡     [       Y   T     +   Y     ]         ⁢     
     ⁢       A   z     =       1   gm     ⁡     [       Z   T     -       D   RAG     ⁢   sin   ⁢           ⁢   α     -       L   IFT     ⁢   cos   ⁢           ⁢   α       ]                 (   0.11   )             
 
The Jacobian of the measurement equations in (0.11) forms the linear model H(x(t),u(t),t) used in the measurement update of the state and error covariance matrix P k|k  in (0.5). These expressions are partitioned similar to (0.6) into longitudinal and lateral-directional (lat-dir) components.
 
   Thus, the computational air data system of the present invention estimates AOA and AOSS using an extended Kalman filter, based on high fidelity six-degree-of-freedom (x, y, z, pitch, roll, yaw) equations of motion and models, and processing inertial measurement unit measurements of body axis rates and accelerations, completely eliminating the need for air data sensors for determining AOA and AOSS. The computer program listing appendix lists out the Jacobians A and H used in the extended Kalman filter, as well as all other algorithmic details of the CADS in accordance with a preferred embodiment of the invention. 
   While the present invention has been described by reference to specific embodiments and specific uses, it should be understood that other configurations and arrangements could be constructed, and different uses could be made, without departing from the scope of the invention as set forth in the following claims.