Abstract:
A low power method for determining whether a cargo destined for air transport is in a flying state having the steps of: providing a housing for attachment to a cargo the housing having: an accelerometer for detecting a linear acceleration, a gyroscope for detecting an angular rate, a controller measuring a linear acceleration with the accelerometer, measuring an angular rate with the gyroscope, providing the measured linear acceleration and angular rate to the controller, and generating a flight status output signal indicating whether the housing is in a flying state as a function of the linear acceleration signal and angular rate signal.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims priority to U.S. provisional patent application No. 61/606,364 which was filed on Mar. 2, 2012, which is hereby incorporated by reference in its entirety. 
    
    
     TECHNICAL FIELD 
     The technical field relates to aircraft status detection, including aircraft takeoff, landing, flying, and aircraft proximity detection. 
     BACKGROUND ART 
     Aircraft flight status detectors are generally known. For example, U.S. Pat. No. 7,791,455 entitled “Method and Apparatus for Autonomous Detection of a Given Location or Situation” is directed to system for detecting the presence of operational aircraft through detecting the presence of a predetermined signal, the arrival at a given location, and a change in air pressure. 
     BRIEF SUMMARY OF THE INVENTION 
     With parenthetical reference to the corresponding parts, portions or surfaces of the disclosed embodiment, merely for the purpose of illustration and not by way of limitation, provided is a low power method for determining whether a cargo ( 114 ) destined for air transport is in a flying state having the steps of: providing a housing ( 111 ) for attachment to a cargo the housing having: an accelerometer ( 117 ) for detecting a linear acceleration; a gyroscope ( 118 ) for detecting an angular rate; a controller ( 110 ); measuring a linear acceleration with the accelerometer; measuring an angular rate with the gyroscope; providing the measured linear acceleration and angular rate to the controller; and generating a flight status output signal ( 115 ) indicating whether the housing is in a flying state as a function of the linear acceleration signal and angular rate signal. 
     The method may further have the step of shutting off a radio as a function of the flight status output signal. The measured linear acceleration hay have a three independent axis linear acceleration signal. The measured angular rate may have a three independent axis rotation rate signal. The measured angular rate signal may have a sampling rate of about 25 Hz. 
     The flight status output signal may have an in-flight status state and an on-the-ground status state. The in-flight status state may have a verify-takeoff status state. The method may further have the step of providing a radio turn off signal when the flight status output signal may have an in-flight status. The function may be a state machine algorithm. 
     The method may further have the step of powering the gyroscope as a function of the flight status output signal. The gyroscope may be powered off when the flight status output signal may have an on-the-ground status state. The gyroscope may be powered on when the flight status output signal may have a verify-takeoff status state. The function may have the steps of: filtering the measured linear acceleration to produce a filtered linear acceleration; filtering the measured angular rate to produce a filtered angular rate; and changing a state as a function of the filtered linear acceleration and filtered angular rate. 
     The step of generating a flight status output signal may have the step of removing a gravitational component of the measured linear acceleration. The step of removing a gravitational component may have a high pass filter. The high pass filter may have a cutoff frequency of about 0.01 Hz. The method may further have the step of saving the removed gravitational component. 
     The step of generating a flight status output signal further may have the step of detecting a linear acceleration characteristic of an aircraft takeoff. The linear acceleration characteristic of takeoff is an acceleration signal with a frequency between 0.01 Hz and 0.1 Hz and a magnitude of about 0.2 g. The linear acceleration characteristic of a takeoff further may have an acceleration signal which may have a magnitude between about 0.15 g and 0.5 g maintained for a duration of about two seconds. The step of detecting a linear acceleration characteristic of an aircraft takeoff further may have a step of low pass filtering. 
     The method may further have the step of saving a takeoff acceleration of the linear acceleration signal when the linear acceleration characteristic of an aircraft takeoff is detected. The saved takeoff acceleration may have a windowed average. The step of generating a flight status output signal further may have the step of changing from an on-the-ground state to a verify-takeoff state when the linear acceleration characteristic of an aircraft takeoff is detected. The step of saving a gravitational acceleration component from the linear acceleration signal. 
     The gravitational acceleration is saved from a time period before a transition to a verify-takeoff state. The time period is about 7 seconds. The step of generating a flight status output signal further may have the step of detecting an angular rate characteristic of an aircraft takeoff. The angular rate characteristic of an aircraft takeoff is an angular rate in which an x-axis angular rate, a y-axis angular rate, and a z-axis angular rate are all less than an angular rate limit threshold. 
     The measured angular rate is transformed through a rotation, the rotation configured and arranged to reorient the measured angular rate into a yaw rate, a roll rate, and a pitch rate. The rotation is a cross product of the saved gravitational acceleration and the saved takeoff acceleration. The method may further have the step of integrating the angular rate with respect to time to produce a pitch angle displacement, a yaw angle displacement, and a roll angle displacement. 
     The method may further have the step of setting the flight status output signal to an on-the-ground state when the pitch angle displacement, yaw angle displacement, or roll angle displacement are greater than an angle displacement threshold. 
     The method may further have the steps of: providing a pressure sensor. The method may further have the step of detecting when the pressure sensor may have a pressure decrease rate less than a takeoff pressure decrease threshold. The method may further have the step of detecting when the pressure sensor may have a pressure increase rate greater than a landing pressure increase threshold. 
     In another aspect, provided is a system for detecting an aircraft flight status having: a housing having: an accelerometer for detecting a linear acceleration and having a linear acceleration output signal; a gyroscope for detecting an angular rate and having an angular rate output signal; and a controller configured and arranged to produce a flight status output signal as a function of the linear acceleration output signal and the angular rate output signal, the flight status output signal having an in-flight state and another state. 
     The controller is further configured to shut off a radio as a function of the flight status output signal. The linear acceleration output signal may have a three independent axis linear acceleration signal. The angular rate output signal may have a three independent axis rotation rate signal. The angular rate output signal may have a sampling rate of about 25 Hz. The flight status output signal may have an on-the-ground status state. The in-flight status state may have a verify-takeoff status state. 
     The controller may be configured and arranged turn off the radio when the flight status output signal may have an in-flight status. The function is a state machine algorithm. The controller is configured and arranged to power the gyroscope as a function of the flight status output signal. The controller is configured and arranged to power off the gyroscope when the flight status output signal may have an on-the-ground status state. 
     The controller is configured and arranged to power on the gyroscope when the flight status output signal may have a verify-takeoff status state. The function may have a filter configured and arranged to produce a filtered linear acceleration, and a filter configured and arranged to produce a filtered angular rate. The controller is configured and arranged to remove a gravitational component of the linear acceleration output signal. The system may further have a high pass filter configured and arranged to remove the gravitational component from the linear acceleration output signal. The high pass filter may have a cutoff frequency of about 0.01 Hz. 
     The controller may be configured and arranged to save the removed gravitational component. The controller may be configured and arranged to detect a linear acceleration characteristic of an aircraft takeoff. The linear acceleration characteristic of takeoff is an acceleration signal with a frequency between 0.01 Hz and 0.1 Hz and a magnitude of about 0.2 g. The linear acceleration characteristic of a takeoff further may have an acceleration signal which may have a magnitude between about 0.15 g and 0.5 g maintained for a duration of about two seconds. 
     The system may further have a low pass filter configured and arranged to filter the linear acceleration output for detection of an acceleration characteristic of an aircraft takeoff. The controller may be configured and arranged to save the acceleration output signal when a linear acceleration characteristic of an aircraft is detected. The saved acceleration output signal may have a windowed average. 
     The controller may be configured and arranged to change the flight status output signal from an on-the-ground state to a verify-takeoff state when the linear acceleration characteristic of an aircraft takeoff may be detected. The controller may be configured and arranged to save a gravitational acceleration component from the linear acceleration signal. 
     The gravitational acceleration may be saved from a time period before a transition to a verify-takeoff state. The time period may be about 7 seconds. The controller may be configured and arranged to detect an angular rate characteristic of an aircraft takeoff. 
     The angular rate characteristic of an aircraft takeoff may be an angular rate in which an x-axis angular rate, a y-axis angular rate, and a z-axis angular rate are all less than an angular rate limit threshold. The system may further have a rotation transformer configured and arranged to transformed the angular rate output signal through a rotation, the rotation configured and arranged to reorient the measured angular rate into a yaw rate, a roll rate, and a pitch rate. The rotation may be a cross product of the saved gravitational acceleration and the saved takeoff acceleration. 
     The system may further have an integrator configured and arranged to integrate the angular rate with respect to time to produce a pitch angle displacement, a yaw angle displacement, and a roll angle displacement. The controller may be configured and arranged to set the flight status output signal to an on-the-ground state when the pitch angle displacement, yaw angle displacement, or roll angle displacement are greater than an angle displacement threshold. 
     The system may further have a pressure sensor. The controller may be configured and arranged to detect when the pressure sensor may have a pressure decrease rate less than a takeoff pressure decrease threshold. The controller may be configured and arranged to detect when the pressure sensor may have a pressure increase rate greater than a landing pressure increase threshold. 
     In another aspect, provided is a method of determining an aircraft flight status state among a set of flight status states having the steps of: providing a housing for attachment to a package the housing having: an accelerometer for detecting a linear acceleration and having an acceleration output signal; a gyroscope for detecting a rotational acceleration and having an angular acceleration output signal; receiving an acceleration output signal from the accelerometer; receiving an angular rate output signal from the gyroscope; determining the aircraft flight status state as a function of the acceleration output signal and the angular rate output signal, the set of flight status states having an in-flight state and another state. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is an object diagram of a first embodiment aircraft flight status detection system incorporated into a cargo tracking device. 
         FIG. 2  is an algorithm and state diagram of the flight status detection system shown in  FIG. 1 . 
         FIG. 3 . is a flow diagram of the on-the-ground state processing in the system shown in  FIG. 1 . 
         FIG. 4 . is a flow diagram of the verify-takeoff state processing in the system shown in  FIG. 1 . 
         FIG. 5  is a state diagram of a pressure sensing state machine for another embodiment flight status detection system. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     At the outset, it should be clearly understood that like reference numerals are intended to identify the same structural elements, portions or surfaces consistently throughout the several drawing figures, as such elements, portions or surfaces may be further described or explained by the entire written specification, of which this detailed description is an integral part. Unless otherwise indicated, the drawings are intended to be read (e.g., cross-hatching, arrangement of parts, proportion, degree, etc.) together with the specification, and are to be considered a portion of the entire written description of this invention. As used in the following description, the terms “horizontal”, “vertical”, “left”, “right”, “up” and “down”, as well as adjectival and adverbial derivatives thereof (e.g., “horizontally”, “rightwardly”, “upwardly”, etc.), simply refer to the orientation of the illustrated structure as the particular drawing figure faces the reader. Similarly, the terms “inwardly” and “outwardly” generally refer to the orientation of a surface relative to its axis of elongation, or axis of rotation, as appropriate. 
     The disclosed flight status detection system is a system for detecting aircraft events, such as takeoff and landing events, through the use of accelerometers, gyroscopes, and/or other sensors. The flight status detection system can be used together with a device having a cellular radio in order to turn off the cellular radio during a takeoff event and turn back on upon landing. 
     For example, the flight status detection system can be used within a flight cargo tracking device having a cellular data modem. While the cargo tracking device is on the ground, periodic tracking reports are sent over the cellular modem to a remote server. When the flight status detection system detects that the tracking device is on an aircraft that is taking off, the cellular modem of the cargo tracking system is turned off. This will prevent the cellular modem radio from interfering with aircraft radios and sensors. Such a system is useful in order to comply with flight safety regulations that require that radios be shut off prior to takeoff. When the flight status detection system detects that the aircraft has landed, the cellular modem is turned back on, allowing the cargo tracking device to resume sending out periodic tracking reports. 
     Referring now to the figures, and more particularly to  FIG. 1 , disclosed is flight status detection system  110  configured and arranged within cargo tracking and reporting module  111 . Tracking module  111  is typically affixed to or placed within a cargo container, such as cargo container  114 . Tracking module  111  gathers and transmits transportation data  132  to remote computer  120  while cargo container  114  is transported. The major components of tracking module  111  are flight status detection system  110 , accelerometer  117 , gyroscope  118 , and radio  113 . 
     Accelerometer  117  is a low power three axis MEMS linear accelerometer such as an LIS3DH from STMicroelectronics of Geneva Switzerland. Accelerometer  117  provides three axis linear acceleration data A (Ax, Ay, Az)  120  to flight status detection system  110 . Gyroscope  118  is a low power MEMS gyroscope such as a CMR3000, from VTI Technologies (now Murata Manufacturing Oy of Nagaokakyo, Kyoto). Gyroscope  118  is turned on and off through on/off command  122  from system  110 . Gyroscope  118  provides three axis rotation rate data R (d⊖x, d⊖y, d⊖z)  121  to system  110 . 
     System  110  is implemented on a microcontroller having its own flash memory, such as an Atmel AVR Atmega328. System  110  contains software algorithm and state machine  125 . System  110  provides on/off command  115  to radio  113 . System  110  is also connected to radio  113  through data transfer line  133 . with Radio  113  is a radio such as a GE 865-QUAD GSM/GPRS from Telit Wireless Solutions, Trieste, Italy. Radio  113  is capable of transmitting and receiving data to/from a remote location such as a cellular tower connected to the Internet over wireless link  132 . 
       FIG. 2  is a state machine diagram of algorithm  125  running in flight status detection system  110 . Algorithm  125  generally receives inputs of accelerometer data (A)  120  and gyroscope data (R)  121 ; and has outputs GYRO_ON/OFF_OUTPUT  122  and RADIO_ON/OFF_OUTPUT  115 . Algorithm  125  contains a state machine which generally has three separate states including: GROUND_STATE  151 , VERIFY_STATE  153 , and FLYING_STATE  155 . A series of variables  160  and parameter constants  170  are used by algorithm  125 . 
     Accelerometer data  120  is a stream of time sampled acceleration vector values having an acceleration sample for each dimension (Ax, Ay, Az). Acceleration data is sampled at a rate of 20 Hz. Based upon power and accuracy tradeoffs, acceleration data may be sampled at much higher rates, such as up to 10 kHz. Note that there is no guarantee that accelerometer  117  has any of its axes (x, y, z) aligned with the direction of gravity when cargo  114  is stowed on an aircraft, truck, or warehouse. In other words, cargo  114  may be a box oriented on an angle such that neither of Ax, Ay, nor Az give a measurement along a world z-axis (an axis aligned with the direction of gravity). Gyroscope data  121  is also a series of three dimensional vector values (Rx, Ry, Rz). Each of Rx, Ry, and Rz represent the rotation rate along three independent axes. Gyroscope data is also sampled at a rate of 20 Hz, however, higher sampling rates may be used when power is not a high concern. Alternative gyroscopes may be used which provide angular acceleration, jerk, velocity, and/or position, or any combination thereof. 
     The first algorithm state, GROUND_STATE  151  is both a starting state as well as a state corresponding to a flight status of when system  110  believes the system is not on an aircraft taking off or flying. In GROUND_STATE  151 , GYRO_ON/OFF_OUTPUT  122  is set to OFF (i.e. low voltage, or FALSE) causing gyroscope  118  to be off. Gyroscope  118  will thus not require operating power in this state. Also in GROUND_STATE  151 , RADIO_ON/OFF_OUTPUT  115  is set to ON (i.e. low voltage HIGH, or TRUE). Therefore, in this state, radio  113  is able to transmit data  132 . 
     In GROUND_STATE  151 , accelerometer data  120  is read and analyzed. If an accelerometer data sequence that is characteristic of a potential aircraft takeoff is identified, recent accelerometer data is saved, and the algorithm state machine enters VERIFY_STATE  153 . 
     Once in VERIFY_STATE  153 , GYRO_ON/OFF_OUTPUT  122  is transitioned from OFF to ON (low to high voltage, FALSE to TRUE). This causes gyroscope  118  to turn on and start generating gyroscope data R  121 . In VERIFY_STATE  153 , current gyroscope data R  121  and accelerometer data A,  120  is analyzed and compared to the accelerometer data saved at the potential takeoff. Several tests are done with the gyroscope data and accelerometer data over time. If the analysis indicates that a takeoff event has not occurred, the state is returned to GROUND_STATE. However, if the analysis indicates that a takeoff has indeed occurred, the state machine enters FLYING_STATE  155 . 
     In FLYING_STATE  155  both RADIO_ON/OFF_OUTPUT  115  and GYRO_ON/OFF_OUTPUT  122  are set to OFF (voltage low, FALSE). Thus, in this state, neither gyroscope  118  nor radio  113  consume power, and radio signals from radio  113  which could potentially interfere with flight instruments are prevented. Accelerometer data  120  is still sampled and is analyzed for a pattern that is characteristic of an aircraft landing. If an accelerometer pattern characteristic of an aircraft landing is sensed, the state machine reenters GROUND_STATE  151 . 
     Upon reentering GROUND_STATE  151  the algorithm sets RADIO_ON/OFF_OUTPUT  115  to ON (voltage high, TRUE). The algorithm will then continue to process data and step through the state machine as described above. 
       FIG. 3  is a datapath diagram of the processing done in GROUND_STATE  151 . In GROUND_STATE  151 , RADIO_ON/OFF_OUTPUT  115  is ON allowing radio  113  to function, and GYRO_ON/OFF_OUTPUT  122  is OFF, preventing gyroscope  118  from using power. The algorithmic processing in GROUND_STATE uses the stream of accelerometer data  120  to make the decision of whether a candidate takeoff signature has been sensed. Accelerometer data  120  is first filtered by gravity filter  181  to produce gravity filter output  182 . Gravity filter  131  is a first order low pass Butterworth filter with a cutoff frequency of 0.01 Hz. Since cargo  114  is typically not rotated slowly over a one hundred second interval, the filtered accelerometer value  182  coming out of gravity filter  131  is typically a good representation of the linear acceleration experienced by accelerometer  117  due to gravity. In other words, the resulting vector  182  is likely to have an orientation pointing straight up relative to the Earth. Vector  182  is passed through normalization block  183  which scales the magnitude of vector  182  to unity length to produce gravity vector G  184 . Gravity vector G  184  is an important variable which is used in multiple functions of algorithm  125 . 
     Referring back to gravity filter output  182 , output  182  is subtracted  185  from original accelerometer sample  120  to produce vector A_horiz  186 . A_horiz  186  is a vector which is equivalent to the original acceleration A  120  but with the gravity vector component removed. In other words, A_horiz represents the horizontal, or perpendicular to gravity (tangent to Earth) component of acceleration A  120 . For example, if cargo  114  is accelerated along a runway, A_horiz  186  will generally represent the component of acceleration in the direction along the runway. 
     A_horiz  186  is then passed through runway filter  187  to produce output  188 . Runway filter  187  is a first order Butterworth low pass filter with a frequency cutoff of 0.5 Hz. Runway filter  187  generally removes high frequency accelerations which are characteristic of bumps on a road, rapid automotive accelerations due to speeding up, braking, or turning, and/or cargo handling shocks to yield an acceleration vector having only the targeted frequencies. Output  188  is then passed through magnitude block  189  to produce A_target_horiz_magnitude  190 , which is merely the vector length (magnitude) of output  188 . 
     A_target_horiz_magnitude  190  represents the magnitude of the original acceleration after the gravity component is removed and the unwanted high frequency components are removed. In other words, A_target_horiz_magnitude  190  represents the magnitude of the horizontal acceleration in the targeted frequency range. The calculations of A_target_horiz_magnitude and G are accurate regardless of the orientation that cargo  114  is in. If A_target_horiz_magnitude is a value that is typical of an aircraft takeoff, the state is changed to VERIFY_STATE  153 . More specifically, if A_target_horiz_magnitude is greater than threshold A_THRESHOLD_MIN  171  and less than threshold A_THRESHOLD_MAX  172 , then the state machine will enter VERIFY_STATE  153 . Before transitioning to VERIFY_STATE  153 , some variables are stored for later use. Gravity Vector G  184 , is stored to G_takeoff  161 , and A_horiz  186  is stored in A_horiz_takeoff  162 . Instead of saving the most recent values of G  184  and A_horiz  186 , it is beneficial to store the values of G  184  and A_horiz  186  from 2 to 8 seconds prior to the detected takeoff event. 
     In VERIFY_STATE  153 , gyroscope  118  is turned on by setting GYRO_ON/OFF_OUTPUT  122  to ON. Generally, RADIO_ON/OFF_OUTPUT  115  is not changed and remains ON, however, it may be beneficial in some implementations to turn RADIO_ON/OFF_OUTPUT OFF  115  in the VERIFY_STATE  153 . The A_target_magnitude  190  is calculated in VERIFY_STATE  153  just as it was in GROUND_STATE  151 . If at any time in VERIFY_STATE  153  A_target_magnitude  190  drops below A_THRESHOLD_MIN  171  or rises above A_THRESHOLD_MAX  172 , the state is returned to GROUND_STATE  151 . In other words, if the magnitude of the horizontal acceleration in the targeted frequency range is either too high or too low to be characteristic of an aircraft takeoff, the algorithm determines that a takeoff event has not occurred and returns the state back to GROUND_STATE  151 . 
     The processing of accelerometer data  120  and gyroscope data  121  in VERIFY_STATE  153  includes removing offset biases, filtering the data, and rotating the resulting vector data through a rotation matrix in order to align the vector axes with the perceived direction of gravity and airplane forward acceleration. The linear acceleration and rotation rate signals are then each separately integrated to yield linear velocity and angle data. The acceleration, velocity, rotation rate, rotation angle data are then checked to see if they are in acceptable ranges of data which is characteristic of an aircraft takeoff. 
       FIG. 4  shows the processing steps taken by algorithm  125  in VERIFY_STATE  153 . Vector acceleration data A  120  and rotation rate data R  121  are received as well as the saved gravity vector G_takeoff  161  and horizontal acceleration A_horiz_takeoff  162  from GROUND_STATE  151 . First, rotation matrix  199  is constructed from the saved G_takeoff  161  and A_horiz_takeoff  162 . More specifically, rotation matrix  199  is constructed by concatenating G_takeoff  161 , with normalized horizontal acceleration A_horiz_takeoff, and the vector cross product of G_takeoff  161  and normalized A_horiz_takeoff. In pseudocode the rotation matrix is expressed as: 
     
       
         
               
             
           
               
                   
               
             
             
               
                 Rot. matrix = [G_takeoff; 
               
               
                       A_horiz_takeoff / |A_horiz_takeoff|; 
               
               
                       G_takeoff × (A_horiz_takeoff / |A_horiz_takeoff|) ] 
               
               
                   
               
             
          
         
       
     
     By multiplying an acceleration vector by rotation matrix  199 , the acceleration vector is reoriented such that the z axis is now aligned with gravity vector G_takeoff  161 , and the y-axis is aligned in the direction of the horizontal acceleration vector A_horiz_takeoff  162 . For example, as shown in  FIG. 4 , acceleration data A  120  is vector multiplied  201  by rotation matrix  199  to produce vector Abody  202 . The z-axis vector component of Abody  202 , Abody_z, represents acceleration in the direction of the perceived real world gravity. Similarly, Abody_y represents the acceleration or braking of the aircraft in the direction along the runway. In summary, rotation matrix  199  is used to account for the fact that cargo  114  may be secured in any orientation on a vehicle and the Abody vector will always be rotated such that Abody_z is in the direction of gravity, and Abody_y is in the direction of horizontal takeoff acceleration. 
     Similar to the processing to calculate Abody  202 , rotation rate data R  121  is rotated through vector multiplication  203  with rotation matrix  199  to produce vector product  204 . Vector product  204  is then passed through body filter  205  to produce Rbody  206 . Body filter  205  is a first order Butterworth low pass filter with a frequency cutoff of about 0.4 Hz. Rbody  206  is a low pass filtered version of R  121  in which the axes have been rotated to correspond to the perceived aircraft body frame of reference calculated from G_takeoff  161  and A_horiz_takeoff  162  as was done in calculating Abody  202 . More specifically, Rbody_z represents the rotation rate about the perceived aircraft yaw axis. Similarly, Rbody_y represents the rotation rate about the perceived aircraft pitch axis, and Rbody_x represents the rotation rate about the perceived aircraft roll axis. 
     Averaging block  210  maintains a running sum of acceleration data  120  which is divided by the received sample count to produce vector output  211 . Vector output  211  is then rotated by vector multiplication  212  with rotation matrix  199  to produce Abias_body  213 . Abias_body represents the raw time averaged acceleration data rotated to be aligned with the perceived aircraft frame. 
     Similarly, averaging block  215  maintains a running sum of rotation rate data  121  which is divided by the count of the number of received samples to create vector product  216 . Vector product  216  is then rotated  217  by rotation matrix  199  to produce Rbias_body  213 . The data used to compute Abias_body  213  and Rbias_body is limited to a fixed duration lasting about five seconds. 
     Rbias_body  218  is subtracted  219  from Rbody  206  and integrated  221  to produce angular displacement θ_body  222 . Angular displacement θ_body (θ_body_x, θ_body_y, θ_body_z),  222  is vector that represents an estimate of the angle that the perceived aircraft has rotated during the time after collection of the data for Rbias_body  218  ended. For example, θ_body_y represents the aircraft angular displacement about the pitch axis, θ_body_z represents the aircraft angular displacement about the yaw axis, and θ_body_x represents the aircraft angular displacement about the roll axis. 
     In order to determine the change in velocity, a similar integration is performed on the Abody signal. As shown in  FIG. 4 , Abias_body  213  is subtracted  225  from Abody  202  to produce vector result  227 . Vector result  227  is integrated  229  to produce velocity change vector V_body  230 . V_body is made up of the three components, V_body_x, V_body_y, V_body_z, each representing the change in velocity in one dimension. For example, V_body_y represents the change in velocity along the runway direction. 
     The rate data  121  is also passed through rate filter  233  which is a first order Butterworth low pass filter with a cutoff frequency of about 0.1 Hz. The output of rate filter  233  is R_lowpass  235 . 
     In state VERIFY_STATE  153 , a series of boundary checks are performed on the computed acceleration, velocity change, rotation rate, and angular displacement variables. 
     The boundary checks include a check that the absolute value of R_low_pass  235  remains&lt;RATES_THRESHOLD  173 . This is to reject times when cargo  114  is rotated too fast to be characteristic of an aircraft takeoff. Similarly, the absolute value of Abody  211  is verified to remain greater than BODY_MAC_ACCEL. Additionally, algorithm  125  verifies other parameters including: 
     
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 abs(θ_body.y) &lt; -MAX_PITCH_DOWN 175 
               
               
                   
                 θ_body.x &gt; YAW_ROLL_LIMIT 176 
               
               
                   
                 abs(θ_body.z) &gt; YAW_ROLL_LIMIT 177 
               
               
                   
                 abs(V_body.y) &gt; YZ_MAX_V 178 
               
               
                   
                 abs(V_body.z) &gt; YZ_MAX_V 178 
               
               
                   
                 abs(Rbody) &gt; MAX_RATES 179 
               
               
                   
                 abs(Abody) &gt; BODY_MAX_ACCEL 174 
               
               
                   
                   
               
             
          
         
       
     
     If any of the tested variables are not within acceptable range, the state will be changed back to GROUND_STATE. However, if none of the tested variables are out of range for a duration of time greater than VERIFY_DURATION and the pitch displacement θ_body.y is greater than MIN_PITCH_UP and the change in runway oriented velocity V_change.x is greater than X_MIN_V, then the state is changed to FLYING_STATE  155 . 
     In FLYING_STATE  155  GYRO_ON/OFF_OUTPUT and RADIO_ON/OFF_OUTPUT are both made OFF. Also in FLYING_STATE  155  Abody is calculated using the same method as in VERIFY_STATE  153 . A landing event is detected by sensing when Abody.y&lt;−LANDING_THRESHOLD. When a landing event is detected the state is changed back to GROUND_STATE. 
     Other embodiments of flight status detection system  110  include both algorithmic modifications and the use of additional sensor data types. 
     In a second embodiment, FLYING_STATE processing is augmented to involve constant monitoring of expected aircraft maneuvers. These maneuver include: 
     a. Coordinated turns
         i. Where it is expected that a horizontal plane circular motion constraint is maintained.       

     b. Coupled roll and yaw rates
         i. Where it is expected that roll rate leads yaw rate into a turn, followed by constant yaw rate motion, and finally, roll rate leads yaw rate out of a turn with opposite sign.       

     c. Sustained non-zero attitudes
         i. Where it is expected that a climb or descent phase of flight will maintain a pitch up or pitch down aircraft orientation for a significant time.       

     A third embodiment includes a motion lockout mechanism implemented in the GROUND_STATE to take advantage of the fact that tilts and rotations due to cargo handling are a strong indicator that the cargo is not about to be on an aircraft ready for takeoff. Thus, in the event that handling tilts and/or rotations are detected, state transitions out of the GROUND_STATE are prevented for a duration of about two minutes. 
     A fourth embodiment flight status detection system includes using pressure based confirmation of flight status as shown in  FIG. 5 . An input from pressure sensor  501  is added for in pressure based decision making An absolute comparison of pressure, and/or a comparison of the pressure derivative against a threshold is used as confirmation of takeoff. The pressure and/or pressure derivative drop below or above a threshold during aircraft events of takeoff climb and landing descent. More specifically, the pressure sensor is configured to sample the pressure at a rate of 1 Hz. This pressure sensor data is used to calculate a time derivative of the pressure which is also low pass filtered over time. An efficient method of simultaneously low pass filtering and calculating the pressure derivative involves taking the pressure data, low pass filtering through two separate low pass filters (each with a different time constant), and then taking the difference between the two. This low pass filtered time derivative pressure signal is then used by the algorithm to detect aircraft climbing just after takeoff, and aircraft descent prior to landing. 
     The standard algorithm state transitions (i.e.  FIG. 2 ) are then verified by detecting changes in the smoothed time derivative pressure signal. More concretely, a transition from VERIFY_TAKEOFF to FLYING_STATE state as shown in  FIG. 2 , is verified when the smoothed time derivative pressure signal drops to less than a TAKEOFF_PRESSURE_THRESHOLD. Similarly, a transition from FLYING_STATE to GROUND_STATE is verified when the smoothed time derivative pressure signal becomes greater than a DESCENDING_PRESSURE_THRESHOLD. The embodiment can utilize a state machine specifically for pressure signal processing ( FIG. 5 ) which is separate from the standard algorithm state machine ( FIG. 2 ). In this configuration, the pressure signal processing state machine  510  runs in parallel to the a state machine as described in the first embodiment and shown in  FIG. 2 . 
     As shown in  FIG. 5 , pressure state machine  510  having the states of WAITING_STATE  520 , TAKEOFF_STATE  525 , CLIMB_FINISHED_STATE  527 , DESCENDING_STATE  529 , and LANDED_STATE  520 . The state machine begins in WAITING_STATE  520 . If the smoothed time derivative pressure signal ever has a value below the negative value of threshold PTHRESH, the state will transition to TAKE_OFF_STATE  525  indicating that there is a likelihood that the aircraft is climbing. Similarly, while in WAITING_STATE  520 , if the smoothed time derivative pressure signal ever has a value above threshold PTHRESH, the state will transition to DESCENDING_STATE  529  indicating that there is a likelihood that the aircraft is descending. 
     While in TAKEOFF_STATE  525 , if the absolute value of the smoothed time derivative pressure signal ever drops below threshold PTHRESH, the state will change to CLIMB_FINISHED_STATE  527 . In CLIMB_FINISHED_STATE  527  a message indicating the climb has finished may be communicated to other portions of the algorithm, then the state will go back to WAITING_STATE  520 . Similarly, while in DESCENDING_STATE  525 , if the absolute value of the smoothed time derivative pressure signal ever drops below threshold PTHRESH, the state will change to LANDED_STATE  531 . In LANDED_STATE  531  a message indicating the aircraft has landed may be communicated to other portions of the algorithm, then the state will go back to WAITING_STATE  520 . The addition of pressure sensor  501  and the analysis of the pressure signal as described allows a secondary means of determining flight status, which may be used as a backup method or as a way of confirming flight state as determined by other methods. 
     In a fifth embodiment, a failsafe timer is implemented on the flight status detection system. When in flight, the timer is used to detect when a total possible flight time threshold is passed to bring the state machine out FLYING_STATE to ensure failsafe operation for missed landing detections. 
     In a sixth embodiment, geographic location data is used to implement a geographic fencing. A library of airport locations can be compared against real-time location of the device determined by GPS, cell triangulation, or WiFi. When the system GPS indicates the apparatus is within an airport boundary, the takeoff detection algorithm can be run with more aggressive parameters. For example, higher accelerometer sampling rates may be used, and/or the gyroscope may be turned on instead of waiting for a takeoff acceleration. When the system is not within an airport boundary, it could run in a less aggressive mode, or not at all to save device power and extend battery life. 
     In a seventh embodiment, the audio signature of a jet or propeller engine could also be detected with a microphone and DSP signal processing to further confirm the device is within an aircraft and should turn its radios off. 
     In an eighth embodiment, a magnetometer is used to help detect magnetic fields and field signatures in proximity to the cargo. For example, the unique magnetic signature of various aircraft bodies could be detected with a magnetometer and DSP signal processing to further confirm the device is within an aircraft and should turn its radios off. 
     The disclosed flight status detection system and methods resulted in several advantages and surprising results. The system and method was able to accurately distinguish between aircraft flight events and other transportation movements resulting in a system and method capable of safely shutting down an external radio before flight takeoff and turning the radio back on soon after landing. False radio shutoffs are also minimized with the disclosed system and method. Further, the method and system is capable of operating accurately while using only low sample rates and processing power. This results in significant power savings and allows the system and method to work for extended periods without recharging or new batteries. Additionally, while the disclosed device and method can have a GPS, a GPS is not necessary for accurate functioning. Usage of the method and device without a GPS offers substantial power savings over a device or method which uses a GPS. Most importantly, perhaps, the disclosed method and system offer the benefit a completely self-contained system that does not require external inputs or coordination with other systems. This allows deployment without dependencies on external infrastructure and offers high reliability that is independent of other system failures. 
     While several embodiments of the flight status detector system has been shown and described, and several modifications thereof discussed, persons skilled in this art will readily appreciate that various additional changes may be made without departing from the spirit of the invention.