## Presentation on theme: "TBAD Training; Gemini Observatory"— Presentation transcript:

Theory, Operation, Integration, Data, Interpretation, and more Tom Murphy; UCSD

TBAD Components discriminator decoder TSIM patch antenna
phased array (7 patches)

What TBAD Does Detects RF power around 1090 MHz (passive listener)
can react to planes at > 200 km if we let it besides Mode-A/C, “hears” Mode-S and some DME signals Scans for characteristic RF pulse patterns Decodes pulse pattern to octal code (altitude/ident) Determines if signals exceed thresholds Determines if array/patch ratio indicates source is “in-beam” Applies windowing on beam criterion to reduce false triggers Controls shutter via TTL (5 V to open) Streams serial data: codes and conditions Can respond to rates up to 250 Hz Includes various health-monitoring failsafes

What TBAD Does NOT Do TBAD does not actively interrogate (no transmissions) TBAD cannot ascertain angular position just YES/NO on question: “is something within about 12°?” TBAD does not get flight number, lat/lon, speed, heading, etc.

What Signals Be There? Mode-A (ident) and Mode-C (altitude) use same pulse code First and last framing pulses (F1, F2), X bit, 12 bits of data 12 bits of data  4096 possible codes (1280 of these map to altitudes) 12 bits broken into 4 3-bit (octal) digits, ABCD 450 ns per pulse, 1 μs gap between (21 μs total duration) Pilot sets ID code according to ATC instruction altitude encoded from altimeter automatically

Example Pulse Pattern See F1, C1, C2, A4, B1, B4, F2  4530 code
F1 C1 A1 C2 A2 C4 A4 X B1 D1 B2 D2 B4 D4 F2 See F1, C1, C2, A4, B1, B4, F2  4530 code could mean 3400 feet note: pulses stand out 3 orders-of-magnitude above noise floor

Not Easily Confused F1 C1 A1 C2 A2 C4 A4 X B1 D1 B2 D2 B4 D4 F2 F1 C1 A1 C2 A2 C4 A4 X B1 D1 B2 D2 B4 D4 F2 Two airplanes at once: one in-beam (1362), one out (4650) note reversal of which (DIREC/OMNI) is stronger difference signal (top, magenta) separates cleanly if difference exceeds 5 dB for any pulse, deemed beam-worth

TBAD Decoding Trick It’s pretty basic:
data stream composed of comparator output from input signal against threshold could be DIREC signal against DT threshold or above signal OR-combined with OMNI signal against OT threshold every few clock cycles (pre-set), decoder looks at data stream if low-to-high transition has occurred since last check, that bit is activated So fixed timing, based on Mode-A and Mode-C pattern Mode-S does not follow same timing, so improper decode, albeit recognizable

Interrogation Transmitted at 1030 MHz from ground or other aircraft
called “secondary radar” many airplanes carry traffic collision avoidance system (TCAS) chatter goes like n2, where n is aircraft density Timing of P3 pulse determines whether Mode-A or Mode-C interrogator can piece together responses from primary radar and time of flight but TBAD has no idea whether a particular code is Mode-A or C

Code Duplicity 4096 total codes
1280 altitudes from −1200 to in steps of 100 ft Random I.D. (Mode-A) has 31% chance of alt. association Arranged in Gray Code (one bit change each step) example table: ALTITUDE A1 A2 A4 B1 B2 B4 C1 C2 C4 D1 D2 D4 CODE often discernible by context: 96700 likely not actual altitude; very likely is

Special codes Some codes are reserved for special/emergency meaning
0000: sometimes see military use this 0100−0400: special purpose (often military, maybe oceanic?) 1200: VFR (visual flight rules): non-commercial, no ATC 7000: can also mean VFR 7500: hijack code 7600: lost communications 7700: emergency 7777: military intercept Lots more at Wikipedia: Transponder_(aeronautics) Note: TSIM avoids these codes because: A2 is disabled, so A=0,1,4,5 only (no 7XXX codes possible) D1=1 always, so ends in D=1,3,5,7 only

Mode-S High-density data transmissions at 1090 MHz
56 or 112 μs High-density data transmissions at 1090 MHz Always starts with 8 μs 4-pulse preamble at 0.0, 1.0, 3.5, 4.5 μs preamble impacts TBAD decode of digits A and C  5x3x codes Then loads of transitions on 1 μs clock most bits in B, D lit up, as well as X bit Looks to TBAD like 5737, 5735, 5537, often with X present

DME Transmissions Distance Measuring Equipment
Range of frequencies, but overlap with 1090 MHz Two broad humped pulses; powerful; 12 μs apart often above threshold when Mode-A/C still too weak thus often see prevalence at beginning and end of pass First pulse interpreted as F1 (first framing) by default/design then one other “transition” most often interpreted as B1  0100 code no “X” bit, no final framing pulse

Each patch has a broad beam (above) The array pattern has strong central peak The array pattern also has sidelobes/nulls Only in the center is the array pattern stronger than the single patch (element) Requirement that array signal exceeds single-patch signal by 5 dB results in ~15° “beam” zone Refer to array/patch as DIREC/OMNI

Lobes and Sidelobes Beam patterns for single patch (blue) and array (green) note that sidelobes always weaker than single patch, except main lobe

Beam Cuts: Raw Gain

Beam Cuts: Ratio is the Key
thresh. at 5 dB gives ~15° beam & noise immun.

RF from antenna hits low-pass filter, 37.5 dB amplifier, narrow-band filter, power detector Logarithmic power detector: V = 0.63 – ×PdBm inverse behavior: stronger = lower voltage no power  2 V; high power  saturates at 0.55 V 0.1 V per 4 dB: voltage difference is power ratio

Example Power Detector Output
Signal sits at 2.0 V; pulses show up as negative spikes Here see two aircraft with overlapping signals one is “in beam”—strong DIREC; one is out of beam (weak DIREC) TBAD has no problem identifying in-beam threat

All based on power detector outputs from DIREC and OMNI Does difference between two (thus ratio) indicate “in-beam”? BT: Beam Threshold Is DIREC signal strong enough that we even care? DT: DIREC Threshold Is DIREC signal so strong that we risk saturation? DS: DIREC Saturation Is OMNI signal so strong that we risk saturation? OS: OMNI Saturation Is OMNI signal strong enough to warrant logging event? OT: OMNI Threshold Is quiescent DIREC output > [1.8 V] most of time? DC: DIREC Clear

Recurrent Pattern in Electronic Design
Potentiometer setting buffered; compared against power detector voltage inverted output usually chosen since pulses are inverted

In-Beam Decision Nuances
Must “simultaneously” satisfy BT and DT thresholds thus ignore too-distant sources in beam (low elevation angles) DT trips creation of window, in which BT will be considered purpose is test early part of pulse, before multipath distortions window is nominally something like 50−100 ns, tunable window can be delayed to allow time const./settling; nominally 40 ns Can also require that DC was low (no signal) prior to DT crossing called “lookback,” and can be set to 100, 80, 60, 40 ns in past can even use two lookbacks at once for even more stringency DME signals defeated by this due to slower rise of pulse Additional layer to ignore sporadic “beam” events via NB knob: require N Beam events in last ten seconds

The “W” Problem Multipath interference can mess up the pulse shape
full destructive  zero power; full constructive  adds 3 dB (75 mV) first portion taken to be “correct,” before multipath kicks in We noticed this when some said our country had a “W” problem as well

Pulse Window The DIREC signal (blue) triggers a short window (cyan; here 50 ns), during which the difference (magenta) is considered Ideal to have window duration and delay just catch the first stable part of difference, after time constants play out

Expected Power Detector Response
Transponders for commercial planes must have peak power between 125 and 500 W Antenna gains, amplification, attenuation, and geometry then determine power detector output The power, at the detector, in dBm (1 mW is 0 dBm): PD = PT + GT + GR + AR − 22.0 − 20log10(R/λ) where P, G, and A are power, gain, amplif., resp., D, T, R are detector, transmitter, receiver, R is the distance, and λ wavelength (0.275 m) PT is 51 dBm for 125 W, or 57 dBm for 500 W GT is about 5 dB for a dipole antenna under a fuselage GR is 6 dB for OMNI, 16 for DIREC at center; 11 for DIREC at beam edge AR is about 33 dB for TBAD Example: 125 W at 30 km gives −23 dBm, or about 1.2 V on P.D. To meet DT=1.3 V, the plane must be closer than 51.5 km

Practical vs. Theoretical
Losses in cables, connectors, etc. add up, and may be responsible for an observed ~2× (−3 dB) signal deficit also partially used 8:1 summer plays role at 49/64 = −1.1 dB level Thus calculated thresholds should be adjusted accordingly My recommendation is 0.1 V adjustments 4 dB is slightly more than the observed factor of two Example: protect airplane at 45,000 ft from 14,000 ft summit at elevation 25° slant range = 22.4 km calculate −20.2 dB = 1.12 V for 125 W at edge of DIREC beam (11 dB) might then operate at DT=1.22 V; 1.25 V fine; 1.30 V not unreasonable downside of overcompensation becomes more false triggers

The Donut Hole A dipole antenna has a null along the antenna direction
a plane near zenith thus has reduced transmission power downward compensated by much smaller slant range for beam determination Real antenna under real fuselage will fill in hole somewhat realistic worst case may be 10× reduction in transmitted power given inverse square, this corresponds to 3.2× effective range diff Geometry makes up 3.2× at 18° elevation sin(18.4°) = 1/sqrt(10) plane 10× stronger at zenith than at 18°, absent donut hole So setting up to protect to 15° elevation automatically allows for reasonably deep (10×) donut hole 45 kft from 14 kft at 15° is 36.5 km; calculate −24.5 dBm; 1.22 V could operate at 1.30 or 1.35 V for DT and be covered Protecting to 15° allows operation at 25° to still see “in-beam” planes 10° below center (less explaining to do for “misses”)

The Donut Hole and “Saturation” Events
Originally intended to guard against actual power detector saturation if DIREC saturates, ratio is reduced; may not trigger BT secondary benefit in warning against close planes Reliance on close-in protection needs to honor apparent factor of two system loss and donut hole OS = 0.85 V  −9 dBm at detector  3.5 km nominally but 2× loss and 10× donut hole means 775 m vertical (2500 ft) DS = 0.85 V  6.2 km at DIREC beam edge (11 dB) apply 2× loss and 10× donut and get 1.4 km vertical (4500 ft) Need to map shape of donut to verify campaign at UCSD to do this

TBAD Checkout Each unit ships with completed checkout sheet
meant to run through all core TBAD functions successful checkout should translate to “perfect” operation leaves little room for surprises in sky test Need: TSIM, scope, DVM, splitter (6 dBm, nominally), 0−10× variable attenuator, serial monitor we also have a custom-built source/sink current tester also separate checkout for TSIM, requiring functional TBAD Once familiar, takes ~1.5 hours to check out we can go through a checkout, if that’s useful

Sky Test Procedure Rooftop tests at UCSD; emphasis on high flyers
many pass through az. 220°, elev. 45° between Mexico and SFO, SEA seek visual confirmation about point of closest approach (PCA) logsheet to note time, pointing, and Flight Aware info block also TBAD altitude, ID code, notes, and PCA details validate proper shutter behavior in high-traffic environment (shutter closed large fraction of the time) flight aware screen capture here

Example Test Pass in beam (BT, etc.) fraction in beam (pegs at 100%)
not in beam (omni log; OT)

Others Look Great, Too OMNI log disabled climbing through 25,400 ft

Mauna Kea Translation At ~100 Hz chatter and NB = 20 events/10 sec, UCSD tests differ from Mauna Kea environment Use program to first construct summary record from log # _xp.log: squawk 2147, alt 32000, PCA 00:20:22 # time code alrm alt N1 O1 D1 B1 N10 B10 1N 1O 1D 1B 10N 10B 00:20: 00:20: B 00:20: 00:20: B 00:20: B 00:20: B 00:20: B Then assess what event would look like (forwards and backwards) at Mauna Kea event rates and NB settings by default, use rate of 2.0 events/second, NB = 3 scale events to this lower rate

Example Scaled Rate Output
With rate = 2.0 Hz and NB = 3: # _xp.log: squawk 2147, alt 32000, PCA 00:20:22 For PCA at 00:20:22, translated to Mauna Kea with NB=3 and rate = 2.0 Hz Running forward in time... BT shutter close at 00:20:04.571, 17.4 sec before PCA Shutter release at 00:20:56.253, 34.3 sec after PCA Running backward in time... BT shutter close at 00:20:36.256, 14.3 sec 'before' PCA Shutter release at 00:19:44.577, 37.4 sec 'after' PCA In either direction, protected > 14 seconds in advance Shutter held closed for ~35 seconds after PCA both directions about 15 sec still in beam; 10 seconds before beam events clear out of running counter; 10 second hold-off of shutter once condition clear

Data Stream & Monitoring
TBAD sends out serial packet (115,200 baud, 8N1) 14 characters plus termination characters shutter; code; alarms; knob/power; format bits; checksum meant to be human/machine readable

Example Lines Approaching flight over UCSD, triggered DS, in-beam
:27: s6320.DBEF.FF :27: s EF..A DME :27: s EF..A DME :27: s6327.DBEF.FF :27: s5737.DBEF.FFC ModeS :27: s6320.DBEF.FF :27: s EF.FD ModeS :27: s5735.DBEFXF ModeS :27: s6327.DBEF.FCE :27: s6320.DBEF.FF Only green text straight from TBAD time stamp and some interpretation layered on by monitor software shutter closed; plane at 9000 ft, code 6327 DME just two pulses; real codes have ‘F.F’; ‘X’ in Mode-S

Monitor Program Python program listens to serial stream and logs, with minor interpretation listens via terminal server/IP or serial/USB if on laptop Can also grab telescope telemetry for handy insertion of az/el implementations at APO, Palomar, Keck Non-essential for TBAD protection, but vital for validation and health check Can provide template 257 line tbad-ts.py geared for terminal server or serial-over-USB version of the same can also share observatory-specific telemetry-gathering code though likely not useful/exportable

More Examples An example from APO: note azim/elev/dome-status in log
:13: o PF.FD O :13: o PF.FD O :13: o PF.FD O :13: o PF..AC DME O :13: o PFXF ModeS O :13: o PFXF ModeS O :13: o5777..BPFX ModeS O :13: o5777..BPFX ModeS O :13: o0573..BPF.FE O :13: o1624..BPF.FE O :13: o0573..BPF.FE O :13: o1624..BPF.FE O :13: o1624..BPF.FE O :13: s1624..BPF.FE O :13: s0573..BPF.FEA O ID=0573 at 32,000 ft enters beam, with some Mode-S, DME shutter closes near end; ~half-second sequence

Special Codes Mode-A and Mode-C are octal
only 0 to 7 possible Embellish with 8’s and 9’s for special occasions shutter open gets o8888 shutter closed due to fault gets s9999 shutter closed due to high background gets s9998 One-minute keep-alive verifies operational state code is i0000 (informational) Any single spike (within ~20 μs decode period) is ignored would look like 0000 with first framing and no other pulses distinguished from military zeros in that latter have final framing pulse called a glitch; reported, but not acted upon electrical discharges (including lightning) tend to follow this pattern

APO Validation Roughly 3-month campaign at APO; Flight Explorer validation 74 nights of operation 108 alarms for aircraft (most in-beam, 5 from OMNI saturation) Only one F.E. case close to beam went unreported but this case fraught with suspicious F.E. anomalies, so deem unreliable Several robust detections not reported in F.E. (military, private?) Flight Explorer gives lat, lon, alt, speed, flight number 03/21/2014, 08:54:35, 1010, Aircraft entered area, JBU278, APO, SFO, FLL, A320, 07:02, 11:37, 349, 563, , , 100 03/21/2014, 08:55:26, 1010, Aircraft entered area, JBU278, APO, SFO, FLL, A320, 07:02, 11:37, 349, 563, , , 100 flt#,zone,orig,dest,type,depart,arrive,flight-level,knots,lat,lon,heading Jet Blue 278 Airbus 320 SFO to FLL; ft; 563 knots, heading 100° Unreliable time steps: ~5 min offset; jumpy

Data Comparison TBAD data Flight Explorer data
TBAD time stamps are as good/reliable as log computer airplane ID code and altitude are known by virtue of TBAD’s decoding telescope pointing is known data sampling is dense: many dozens of records per second, typically airplane position or angle is not known from TBAD data flight number, heading, speed, etc. are not known from TBAD data aside from the “B” designation indicating a source within 12° of boresight, TBAD presents no information on where an airplane is on the sky Flight Explorer data the flight is easily and uniquely identified (unless blocked, as some are) excellent information on position, speed, heading, and altitude time stamps are unreliable and offset by an unknown amount data are sparse: roughly one sample per minute the squawk code is not known for the flight

Flight Explorer Time Steps
Following Jet Blue 278 flight speed calc dt calc hdg calc JBU278: JBU278: JBU278: JBU278: JBU278: F.E. reported speed and time steps are speed and dt columns But using lat/lon positions and F.E. time stamps, get calculated speeds lurching all over (passenger whiplash?) If using the lat/lon and reported speed, calculate actual time steps much closer to 60 seconds suspect this is “right” and adjust timestamps toward mean in analysis Heading based on F.E. and calculated from lat/lon agree well Conclusion: not a single time stamp is reliable

One of the more difficult pattern-matching tasks I have done especially hard in busy environment; considerably easier at Mauna Kea Altitude is the only shared information and not a unique identifier; confused with Mode-A or other planes Variable time offset a real bane Python code: inbeam-apo.py (1600 lines) disentangles Got 17 TBAD groups 1. 00:20:52: Possible matches from 1 temporal candidates N707LM at level with code 0566, 6.0 deg away (alt) B 2. 01:10:39: Possible matches from 1 temporal candidates AAL1093 at level with code 2330, 26.9 deg away (alt) 3. 01:40:53: Possible matches from 2 temporal candidates UAL632 at level with code 2454, 14.6 deg away (alt) 4. 01:48:39: Possible matches from 3 temporal candidates SWA427 at level with code 4041, 33.8 deg away (alt) 5. 02:05:39: Possible matches from 3 temporal candidates Clean separation: beg: 0.0/18.3/0.1; end: 0.0/52.8/0.0 ASA763 at level with code 0721, 41.0 deg away (alt) AAL949 at level with code 0557, 60.3 deg away (alt) etc.

Summary Output At the end is a summary: And a shutter report
17 groups; 18 identified; 10 excluded; 1 no-match; 0 missed; 4 in-beam And a shutter report DID NOT detect shutter closure for AAL2497 (15.7 deg) at 06:02:06 Shutter closed for SWA4354 ( 1.6 deg) at 04:06:31 due to ..B; dt = sec Shutter closed for DAL1080 ( 6.5 deg) at 03:03:06 due to ..B; dt = sec Shutter closed for N707LM ( 6.0 deg) at 00:22:13 due to ..B; dt = sec DID NOT detect shutter closure for UAL632 (14.5 deg) at 01:42:18 Shutter closed for BLOCKED_A ( 9.3 deg) at 02:54:23 due to ..B; dt = sec the NOT shutter events were outside of protected zone And any flights in Flight Explorer not in TBAD MISSED AAL1507 at 04:14:59 level at 31924, PCA 48.4 deg (PA 180.5) which is due to congestion/overlap in group 12: 12. 04:12:52: Possible matches from 2 temporal candidates On this night, four in-beam events Can plot TBAD’s sky view (moves with telescope)

What Does TBAD See? Red: TBAD triggered B; Blue: TBAD logged/saw; Black: analysis software did not disentangle

Typical & Super-Busy nights
By comparison, Keck had to wait 6 months to see first non-horizon beam crosser (medical emergency diversion LAX-SYD  HNL!)

within 10°, perfect record of in-beam detection; soft-ish edge
Inferred Beam Size within 10°, perfect record of in-beam detection; soft-ish edge

Squawk ID Codes for Unidentified Traffic

Who do They Belong To?

TSIM The Transponder SIMulator creates Mode-A/C style pulse trains at variable strength avoids emergency codes, VFR, throws in ‘X’, omits F2 framing pulse 32 signal levels, from ~0 dBm to −64 dBm in steps of 2 dB, or 0.05 V on power detector Launched free-space via patch antenna make sure polarization matches: feedpoint low/high, not left/right ABCD code communicates mode (AB), signal strength (CD) Various mode/parameter settings explore range of TBAD responses Medley mode created to usefully explore full range of TBAD performance verify consistent operation across time; shutter response correct threshold behavior always at same power codes

TSIM Modes Modes based on 10 or 12 second “frames” 0: Medley
12 if expect shutter closure early in frame: time to clear 0: Medley sampling to be covered later 1: Full Ramp visits every power in sweep from low to high and back; repeats 12 s useful for exploring thresholds, repeatability, calibration 2: Weak Ramp partial ramp to value set by parameter knob, up to half range repeats on 12 second interval used in medley as pause to clear shutter without triggering anew

TSIM Modes, Continued 3: N Moderate 4: High-Rate Moderate
send out a number of moderate signals, meant to be > DT number depends on parameter knob; matches TBAD NB knob useful to see if TBAD triggers on N beam events 4: High-Rate Moderate 50 Hz output of moderate (meant to be > DT) signals useful to verify no bottlenecks in TBAD data stream/logging 5: High-Rate Background Combines previous two modes: N moderate pulses based on parameter knob, amid high rate of weak (sub DT) pulses useful to check that in-beam response unperturbed by high rate background events only fulfils purpose if OT threshold brought up to catch weak signals

TSIM Modes, Continued 6: Variable Rate 7: Empty 8: Strong Packet
moderate-level (> DT) signals emerge at rate depending on parameter knob rate is 10 Hz plus 10 times the parameter knob reading useful to check response to high rates, or steady stream of signals 7: Empty everybody needs a rest, and this allows TSIM to be ON, without making a peep 8: Strong Packet a single strong signal packet is emitted, with a 12 second rest following strength adjustable (2 dB steps) by parameter knob in upper half of range useful to check that saturation events trigger on a single instance

TSIM Modes, Continued Modes 9-15: X per Frame 0: Medley Mode
X = 2, 5, 10, 20, 50, 100, 500 in 10 second frame strength adjustable over full range, in 4 dB steps useful for steady stream of signals with adjustable strength and rate primary test modes for bench checkouts 0: Medley Mode cycles through most useful modes, checking: thresholds/sensitivity via full ramp shutter performance via variable number of moderate signals saturation performance at two levels for OS and DS check high rate performance high rate background (background usually invisible if OT “normal”) weak ramps interspersed to allow shutter to re-open parameter knob meant to match TBAD NB knob static installation can run test by applying AC power remotely