def derive(self, airspeed=P('Airspeed True'), grounded=S('Grounded')): for section in grounded: # zero out travel on the ground airspeed.array[section.slice] = 0.0 # this is already a copy repaired_array = repair_mask( airspeed.array) # to avoid integration hiccups adist = integrate(repaired_array, airspeed.frequency, scale=1.0 / 3600.0) self.array = adist
def one_direction(rad, hdot, sence, rad_hz): # Stairway to Heaven is getting a bit old. Getting with the times? b_diffs = hdot / 60 r_diffs = np.ma.ediff1d(rad, to_begin=b_diffs[0]) diffs = np.ma.where( np.ma.abs(r_diffs - b_diffs) > 6.0, b_diffs, r_diffs) height = integrate(diffs, frequency=rad_hz, direction=sence, repair=False) return height
def one_direction(rad, hdot, sence, rad_hz): # Stairway to Heaven is getting a bit old. Getting with the times? # Vertical Speed / 60 = Pressure alt V/S in feet per second b_diffs = hdot/60 # Rate of change on radalt array = Rad alt V/S in feet per second r_diffs = np.ma.ediff1d(rad*rad_hz, to_begin=b_diffs[0]) # Difference between ROC greater than 6fps will mean flying over # the deck; use pressure alt roc when that happens and radio alt # roc in all other cases diffs = np.ma.where(np.ma.abs(r_diffs-b_diffs)>6.0*rad_hz, b_diffs, r_diffs) height = integrate(diffs, frequency=rad_hz, direction=sence, repair=False) return height
def derive(self, airspeed=P('Airspeed True'), grounded=S('Grounded') ): for section in grounded: # zero out travel on the ground airspeed.array[section.slice]=0.0 # this is already a copy repaired_array = repair_mask(airspeed.array) # to avoid integration hiccups adist = integrate( repaired_array, airspeed.frequency, scale=1.0/3600.0 ) self.array = adist