• Aucun résultat trouvé

Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8

N/A
N/A
Protected

Academic year: 2022

Partager "Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8"

Copied!
15
0
0

Texte intégral

(1)Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8 T. Lavarenne, J.-M Friedt. Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8. Introduction. T. Lavarenne1 , J.-M Friedt2. Bit decoding Implementation Clock synchronization Bit to sentences. 1. 2. Lycée Jean Rostand, Villepinte, France FEMTO-ST/Time & Frequency department, Besançon, France. Results Conclusion. jmfriedt@femto-st.fr. T HE FREE & OPEN SOFT WA RE RA DIO EC OSY ST EM. June 27, 2020 1 / 15.

(2) Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8 T. Lavarenne, J.-M Friedt. ACARS and gr-acars Aircraft Communications Addressing and Reporting System • Protocol developed in the 70s for communicating between plane pilots and ground • Telemetry and free text • As with all aeronautical protocols, AM mod.→ • Information is MSK time (sample) modulated at 2400 bps: 0=half 1200 Hz period, 1=full 2400 Hz period • Differential encoding (0=keep bit state, 1=change bit state) 2400 Hz preamble 1200/2400 Hz MSK • Header: synchronization time (sample) time (sample) using 16 bytes with ones only (2400 Hz) • Three channels in European: primary (131.725 MHz), secondary (131.525 MHz), additional (131.825 MHz, 131.850 MHz ?) → very simple protocol, excellent topic for a first GNU Radio OOT block. Bit to sentences Results Conclusion. 0. -0.05. -0.1. 1000. 2000. 3000. 4000. 0.1. 0.05. 0. -0.05. -0.1. 5000. 6000. 0.1. AM output (a.u). Clock synchronization. 0.05. threshold detection. Implementation. AM output (a.u). Bit decoding. AM output (a.u). 0.1. Introduction. 200. 400. 600. 800. 0.05. 0. -0.05. -0.1. 4200. 4400. 4600. 0 lists.osmocom.org/pipermail/osmocom-sdr/2012-August/000394.html. 4800. 2 / 15.

(3) Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8 T. Lavarenne, J.-M Friedt. Bit decoding • Two tones define the two bit states: convolution1 with one period = bandpass filter f s =48000; b p s =2400; f 2 4 0 0=e x p ( j ∗2∗ p i ∗ 2 4 0 0 ∗ [ 0 : 1 / f s : 1 / b p s ∗ 2 ] ’ ) ; f 2 4 0 0=f 2 4 0 0 ( 1 : end −1) ; % why 2 p e r i o d s ? f 1 2 0 0=e x p ( j ∗2∗ p i ∗ 1 2 0 0 ∗ [ 0 : 1 / f s : 1 / b p s ∗ 2 ] ’ ) ; f 1 2 0 0=f 1 2 0 0 ( 1 : end ) ; % why 2 p e r i o d s ? % s 2 4 0 0=a b s ( c o n v ( y , f 2 4 0 0 ) ) ; s 2 4 0 0=s 2 4 0 0 ( 2 0 0 : end ) ; % c o n v o l u t i o n % s 1 2 0 0=a b s ( c o n v ( y , f 1 2 0 0 ) ) ; s 1 2 0 0=s 1 2 0 0 ( 2 0 0 : end ) ; % b= f i r l s ( 2 5 6 , [ 0 3400 4500 f s / 2 ] ∗ 2 / f s , [ 1 1 0 0 ] ) ; % l o w p a s s f i l t e r t a p s % s 2 4 0 0= f i l t e r ( b , 1 , s 2 4 0 0 ) ; s 2 4 0 0=s 2 4 0 0 ( 2 0 0 : end ) ; % f i l t e r ( remove 4800 Hz ) % s 1 2 0 0= f i l t e r ( b , 1 , s 1 2 0 0 ) ; s 1 2 0 0=s 1 2 0 0 ( 2 0 0 : end ) ; s f =( f f t ( y ) ) ; f 2 4 0 0 f =( f f t ( f 2 4 0 0 , l e n g t h ( s f ) ) ) ; f 1 2 0 0 f =( f f t ( f 1 2 0 0 , l e n g t h ( s f ) ) ) ; s f 2 4 0 0 f=s f . ∗ f 2 4 0 0 f ; % convolution s f 1 2 0 0 f=s f . ∗ f 1 2 0 0 f ; d f=f s / l e n g t h ( s f ) ; % FFT b i n w i d t h ( i n Hz ) f c u t= f l o o r ( 3 5 0 0 / d f ) % cutoff bin po si ti on s f 2 4 0 0 f ( f c u t : end−f c u t ) =0; % l o w p a s s f i l t e r / Matlab FFT c o n v e n t i o n ( 0 l e f t , f s /2 m i d d l e ) s f 1 2 0 0 f ( f c u t : end−f c u t ) =0; s 2 4 0 0=a b s ( i f f t ( s f 2 4 0 0 f ) ) ; % ba c k t o t i m e domain s 1 2 0 0=a b s ( i f f t ( s f 1 2 0 0 f ) ) ; p l o t ( s2400 , ’ - ’ ) ; h o l d on ; p l o t ( s1200 , ’ - ’ ) ; l e g e n d ( ’ 2400 ’ , ’ 1200 ’ ). Introduction Bit decoding Implementation Clock synchronization Bit to sentences Results Conclusion. 2. 2 2400. 1.5. 1200. 2400. 1.5. 1. 1. 0.5. 0.5. 0. 1200. 0. -0.5 100. 200. 1 FFT (x. 300. 400. -0.5 600. 700. 800. 900. ~ y ) = FFT (x) · FFT (y ) 3 / 15.

(4) Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8 T. Lavarenne, J.-M Friedt Introduction Bit decoding Implementation Clock synchronization Bit to sentences Results Conclusion. Bit decoding • Detect message as rise in the standard deviation of the received signal to avoid continuously running FFTs (might need refinement) • Two tones define the two bit states: convolution with one period = bandpass filter • Check every bit period the most probable bit state: soft bit → hard bit by threshold detection • Sampling @ 48 kS/s and 2400 bps message: check state every 20 samples. 2. 2 2400. 1.5. 1200. 1. 1200. 1. 0.5 0. 2400. 1.5. 0.5. 110 130 150 170 190 210 230 250 270 290 310 330 350 370 390 410 430 450 470. -0.5 100. 200. 300. 400. 0 -0.5. 530 550 570 590 610 630 650 670 690 710 730 750 770 790 810 830 850 870 890 910 930 950 970. 600. 700. 800. 900. Soft-bit sequences following convolution with 2400 Hz (blue) and 1200 (red) bandpass filters. Red arrows: poor sampling time due to initial poor threshold detection. 4 / 15.

(5) Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8 T. Lavarenne, J.-M Friedt Introduction. GNU Octave to GNU Radio • Convolution as FFT product • Filtering as FFT weighing. Bit decoding Implementation. conv(). Bit to sentences. soft bits. convolution. Clock synchronization. >?. signal. convolution. Results. 2400 Hz sine 1200 Hz sine. Conclusion. 1. clock. FFT. filter(). GNU/Octave iFFT. soft bits. >?. signal. 1. clock. iFFT FFT. hard bits. T 0. hard bits. T 0. FFT. 2400 Hz sine 1200 Hz sine. GNU Radio/C. ⇒ insert filtering before inverse Fourier transform 5 / 15.

(6) Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8 T. Lavarenne, J.-M Friedt. Bit decoding: FFT implementation FFTW → GNU Radio FFT Options. Introduction. Variable Id: samp_rate. Id: N. Output Language: Python. Value: 1.152M. Value: 8. Generate Options: QT GUI. osmocom Source Sync: Unknown PPS Number Channels: 1. Clock synchronization Bit to sentences. Center Frequency: 200k Sample Rate: 1.152M. Ch0: Frequency Correction (ppm): 0 Ch0: DC Offset Mode: 0 Ch0: IQ Balance Mode: 0 Ch0: RF Gain (dB): 49 Ch0: BB Gain (dB): 20. Audio Decimation: 3. Low-pass Filter Taps Id: taps. Audio Pass: 5k Audio Stop: 5.5k. Gain: 1. acars Threshold: 5 filename: /tmp/log2 Save Raw Data: False. secondary. Sample Rate (Hz): 1.152M. Ch0: Frequency (Hz): 131.725M. Ch0: IF Gain (dB): 20. Conclusion. AM Demod Channel Rate: 144k. Taps: taps. Sample Rate (sps): 1.152M. Ch0: Gain Mode: False. Results. Frequency Xlating FIR Filter Decimation: 8. Bit decoding Implementation. Variable. Title: Not titled yet. Cutoff Freq (Hz): 72k. Low Pass Filter. Transition Width (Hz): 72k. Decimation: 8. Window: Hamming. Gain: 1. Beta: 6.76. Sample Rate: 1.152M Cutoff Freq: 72k Transition Width: 72k Window: Hamming Beta: 6.76. AM Demod Channel Rate: 144k Audio Decimation: 3 Audio Pass: 5k Audio Stop: 5.5k. acars Threshold: 5 filename: /tmp/log1 Save Raw Data: True. primary. The FFTW initialization is not thread safe: http://www.fftw.org/fftw3_doc/Thread-safety.html planner routines share data (e.g. wisdom and trigonometric tables) between calls and plans ... Neither strategy works, however, in the following situation. The “application” is structured as a set of “plugins” which are unaware of each other, and for whatever reason the “plugins” cannot coordinate on grabbing the lock. (This is not a technical problem, but an organizational one ...” 6 / 15.

(7) Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8 T. Lavarenne, J.-M Friedt Introduction Bit decoding Implementation Clock synchronization Bit to sentences Results. Clock synchronization • Challenge in accurately finding the beginning of the sentence (sync. word → payload) • Differential: any synchronization loss will last until end of sentence • Challenge to keep long sentences consistent ⇒ need for clock synchronization • Proposed algorithm: identify unique bit state (1 framed with 0s or 0 framed with 1s) and lock on signal maximum. Conclusion 2. 2400 1200. 2. 1. 1. 0.5. 0.5. 0. 2400 1200. 1.5. 1.5. 110. -0.5 100. 130. 150. 170. 190. 210. 230. 250. 270. 290 307 326. 346. 366. 386. 406. 17 19. 426. 446. 466. 0. 526 546 566 586 606 626 646 666 686 706 726 746 766 786 806 827 846 866 886 906 926 946 966. 21 19. -0.5 200. 300. 400. 600. 700. 800. 900. Black vertical lines indicate when successive hard bits are expected to be the same, red vertical lines indicate when a hard bit is framed with two different hard-bit states and are hence used for clock synchronization 7 / 15.

(8) Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8. Results: single receiver, multiple channels Options. T. Lavarenne, J.-M Friedt. Variable. Low Pass Filter. Variable. Title: Not titled yet. Id: samp_rate. Output Language: Python. Id: f. Value: 1.152M. Value: 131.725M. Generate Options: QT GUI. Decimation: 8. Variable osmocom Source. Id: N. Device Arguments: rtl=0. Introduction. AM Demod. Gain: 1. in. Sample Rate: 1.152M Cutoff Freq: 72k. in. Value: 8. Audio Decimation: 3. out. in. Audio Pass: 5k. Transition Width: 72k. Threshold: 5 filename: /tmp/log_rtl0 Save Raw Data: False. Audio Stop: 5.5k. Window: Hamming. Sync: Unknown PPS. acars. Channel Rate: 144k. out. Beta: 6.76. Number Channels: 1. Frequency Xlating FIR Filter. Sample Rate (sps): 1.152M. Bit decoding. Ch0: Frequency (Hz): 131.725M. command. in. Ch0: Frequency Correction (ppm): 0. AM Demod out. in. freq Center Frequency: 200k. Audio Decimation: 3. out. in. Audio Pass: 5k. Sample Rate: 1.152M. Ch0: IQ Balance Mode: 0. acars. Channel Rate: 144k. Taps: taps. out. Ch0: DC Offset Mode: 0. Implementation. Decimation: 8. Threshold: 5 filename: /tmp/log_rtl+200 Save Raw Data: False. Audio Stop: 5.5k. Ch0: Gain Mode: False. Clock synchronization. Frequency Xlating FIR Filter. Ch0: RF Gain (dB): 32 Ch0: IF Gain (dB): 20. in. Low-pass Filter Taps. Bit to sentences. Id: taps Sample Rate (Hz): 1.152M Cutoff Freq (Hz): 72k Transition Width (Hz): 72k. Conclusion. QT GUI Range. acars. Channel Rate: 144k. out. freq Center Frequency: -100k Sample Rate: 1.152M. in. Audio Decimation: 3. out. in. Audio Pass: 5k. Threshold: 5 filename: /tmp/log_rtl-100 Save Raw Data: False. Audio Stop: 5.5k. Id: g1. Gain: 1. Results. AM Demod. Decimation: 8 Taps: taps. Ch0: BB Gain (dB): 20. Window: Hamming. Default Value: 32. in. Start: 0 Stop: 49. freq. Step: 1. bw. Beta: 6.76. QT GUI Range QT GUI Frequency Sink FFT Size: 1.024k Center Frequency (Hz): 0. Id: t Default Value: 5. freq. Start: 1. Bandwidth (Hz): 1.152M. Stop: 20 Step: 1. Message structure2 : bits: name Eg.. 128 prekey 010101 .... 16 bit sync 0x2b 0x2a. 16 char sync 0x16 0x16. 8 SOH. 8 mode. 56 addr. 0x01. 0x45. .A7-.... 8 16 (n)ack label. 8 block ID. 8 STX. 32 Seq No.. 48 ??? Flight Text No.. 02. 8 ETX. 128 CRC. 8 BCS. 03. Example (hex and ASCII) ... 2b 2a 16 16 01 45 2e 41 37 2d ... +*E.A7-BAKB02L82AQR3256/LSAG.AFN/FMHQTR3256,.A7rBAK,06A078,144616/FPON47427E007102,1/FCOADS,01/FCOATC,01247A. ... interpreted as: Aircraft=.A7-BAK STX Seq. No=4c 38 32 41 L82A Flight=QR3256 /LSAG.AFN/FMHQTR3256,.A7-BAK,06A078,144616/FPON47427E007102,1/FCOADS,01/FCOATC,01247AETX. 2 http://www.scancat.com/Code-30_html_Source/acars.html. 8 / 15.

(9) Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8 T. Lavarenne, J.-M Friedt Introduction. Sentences and parity bit 8th bit is odd-parity bit Constant bit rate clock increment:. Clock synchronization. Bit decoding Implementation Clock synchronization Bit to sentences. +*2.F-GZNOH12D23CAF4195#DFB 965 965000011 50 50 60 62318319148145 07 08 00 26 -06-310-308-309-310-... -239-239-239-310-310-311-309-310 016 017-392-391-026 000 00Q.09..*POU/*: P/0 P/P_/P/ P/P_/PQP|uU. the messages ends up garbled. Results Conclusion. CRC:000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000 0000000000000000000000000000110000110111001100111011 1011101101011. parity bit: desynchronization shown as non-0 parity bits.. +*2.F-GZNOH12D23CAF4195#DFB 965 965000011 50 50 60 62318319148145 07 08 00 26 -06-310-308-309-310-... -239-239-239-310-310-311-309-310 016 017-392-391-026 000 001109113005029 000 000 000 000 00102. full message properly decoded CRC:000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000 0000000000011. parity bit state. 42 sentences collected over 6 minutes from a location a few kilometers from Roissy Charles de Gaulle airport in Paris: 15 would have been corrupted if decoded without clock synchronization ⇒ 35% success rate improvement 9 / 15.

(10) Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8 T. Lavarenne, J.-M Friedt Introduction Bit decoding Implementation Clock synchronization Bit to sentences Results Conclusion. Fri May 1 17:53:22 2020 Aircraft=.HB-JMI Seq. No=53 34 36 41 S46A Flight=LX0018 ETX. Results: single receiver, multiple channels. Fri May 1 17:53:27 2020 Aircraft=.HB-JMI Seq. No=53 34 37 41 S47A Flight=LX0018 ETX Fri May 1 19:32:18 2020 Aircraft=.B-5921 Seq. No=44 35 37 41 D57A Flight=MU7080 #DFBR04/A33004,1,1C1,.B-5921, 20MAY01,17.19.51,LSGG,ZSPD, CES7080 ,4000,013C2,016, 05.0,000000,D1333RR06C0MU12, 000,012,012C3,015.0,01962, 0.252,111,1.53,111,10,0,01, 111,1.61,XC4,015.0,01859, 0.252,111C5,!:. Fri May 1 19:32:23 2020 Aircraft=.B-5921 Seq. No=44 35 37 42 D57B Flight=MU7080 #DFB042335,07008,12610, 01345,00104,00016,00000, 00802,06066C6,042188,09517, 32847,01911,00104,00016, 00000,00802,16066C7,01,00, 00,00,00,00,01,00C8,01,00, 00,00,00,00,01,00N1,1.458, 1.459,1.458,1.611,082.08,. 0,d. Fri May 1 19:32:30 2020 Aircraft=.B-5921 Seq. No=44 35 37 43 D57C Flight=MU7080 #DFB92.6,093.9,0704, 21.152N2,1.459,1.459,1.458, 1.611,082.17,092.1,093.8, 0725,21.121S1,08895,14.35, 015.0,097.7,241.4,418.2, 546.4,08.9,078.0,078.0S2, 08886,14.36,015.0,097.3, 240.5,414.4,546.9,09.6, 077.9,077.F Fri May 1 19:32:54 2020 Aircraft=.B-5921 Seq. No=44 35 37 47 D57G Flight=MU7080 #DFB7,0487,0428T4,023,45, 151,073,097,119.8,022.6, 047.0,047,0488,0424V3, 0.15,0.05,0.09,042,0.25, 008.3V4,0.15,0.08,0.02, 191,0.19,008.0X1,1.477, 012.5,03050,0.237,2,20X2, 1.527,004.5,10025,0.395,0, 80X3,1.. ← 131.725 MHz. ↓ Fri May 1 12:09:16 2020 Aircraft=..N22UB Seq. No=53 30 32 41 S02A Flight=ZD0001 ETX Fri May 1 14:32:07 2020 Aircraft=.LX-YCV Seq. No=53 32 30 41 S20A Flight=CV7944 ETX. Fri May 1 19:33:00 2020 Aircraft=.B-5921 Fri May 1 17:52:30 2020 Seq. No=44 35 37 48 D57H Aircraft=.F-GUOC Flight=MU7080 Seq. No=44 38 31 41 D81A #DFB.567,-03.5,20011,0.660, Flight=AF6746 0,80X4,1.584,-12.7,25031, #DFBOP DATAFUEL1552 33997 0.731,0,80:ETX 2.33 -0.3 6200 0 6500. 131.825 MHz 12700 0.816 0.814 72360TRUE TRUE ETX. 0.816 73600 -11 669 789. Sat May 2 16:46:21 2020 Aircraft=.A7-BAK Seq. No=4c 38 32 41 L82A Flight=QR3256 /LSAG.AFN/FMHQTR3256, .A7-BAK,06A078, 144616/FPON47427E007102,1/FCOADS, 01/FCOATC,01247AETX Sun May 3 07:34:07 2020 Aircraft=.LX-YCV Seq. No=53 31 38 41 S18A Flight=CV062M ETX 10 / 15.

(11) Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8. Results: multiple receivers Low Pass Filter Decimation: 8. Options. T. Lavarenne, J.-M Friedt. Variable. Variable. Title: Not titled yet. Id: samp_rate. Output Language: Python. Id: f. Value: 1.152M. Value: 131.725M. Generate Options: QT GUI. in. Variable. Introduction. command. Audio Decimation: 3. out. in. Audio Pass: 5k. Threshold: 5 filename: /tmp/log_usrp1 Save Raw Data: False. Audio Stop: 5.5k. Beta: 6.76. AM Demod. Decimation: 8. out. in. freq Center Frequency: 200k. Ch0: Gain Value: 25. acars. Channel Rate: 144k. Taps: taps. out. in. Frequency Xlating FIR Filter in. Ch0: AGC: Disabled. out. Cutoff Freq: 72k Transition Width: 72k. Value: 8. Ch0: Center Freq (Hz): ...25M. acars. Channel Rate: 144k. Sample Rate: 1.152M. Window: Hamming. Id: N. UHD: USRP Source Sync: Unknown PPS Samp rate (Sps): 1.152M. AM Demod. Gain: 1. Audio Decimation: 3. out. in. Audio Pass: 5k. Sample Rate: 1.152M. Threshold: 5 filename: /tmp/log_usrp2 Save Raw Data: False. Audio Stop: 5.5k. Ch0: Gain Type: Absolute (dB). Bit decoding. Frequency Xlating FIR Filter. Ch0: Antenna: RX2. in. LO Frequency: 131.725M. Audio Decimation: 3. out. in. Audio Pass: 5k. Threshold: 5 filename: /tmp/log_usrp3 Save Raw Data: False. Audio Stop: 5.5k. Each source connected to a different antenna. Low Pass Filter. RF Bandwidth: 20M. Decimation: 8. Buffer size: 32.768k Quadrature: True. AM Demod. Gain: 1. out. RF DC Correction: True. in. BB DC Correction: True. Sample Rate: 1.152M Cutoff Freq: 72k. in. Audio Decimation: 3. out. in. Audio Pass: 5k. Threshold: 5 filename: /tmp/log_pluto1 Save Raw Data: False. Audio Stop: 5.5k. Window: Hamming. Manual Gain (RX1)(dB): 25. acars. Channel Rate: 144k. out. Transition Width: 72k. Gain Mode (RX1): Manual. Bit to sentences. in. Sample Rate: 1.152M. Sample Rate: 1.152M. acars. Channel Rate: 144k. out. freq Center Frequency: -100k. IIO context URI:. Clock synchronization. AM Demod. Decimation: 8 Taps: taps. PlutoSDR Source. Implementation. Three sources (RTL-SDR, UHD for B200 and PlutoSDR) all connected to three ACARS channels. Beta: 6.76. Filter: Filter Auto: True. Frequency Xlating FIR Filter. Results. in. osmocom Source Device Arguments: rtl=0. AM Demod in. Audio Decimation: 3. out. in. Audio Pass: 5k. Sample Rate: 1.152M. Number Channels: 1. acars. Channel Rate: 144k. out. freq Center Frequency: 200k. Sync: Unknown PPS. Conclusion. Decimation: 8 Taps: taps. Threshold: 5 filename: /tmp/log_pluto2 Save Raw Data: False. Audio Stop: 5.5k. Sample Rate (sps): 1.152M. Frequency Xlating FIR Filter. Ch0: Frequency (Hz): 131.725M. command. Ch0: Frequency Correction (ppm): 0. out. in. AM Demod. Decimation: 8. out. in. freq Center Frequency: -100k. Ch0: IQ Balance Mode: 0. Audio Decimation: 3. out. Audio Pass: 5k. Sample Rate: 1.152M. Ch0: Gain Mode: False. acars. Channel Rate: 144k. Taps: taps. Ch0: DC Offset Mode: 0. in. Threshold: 5 filename: /tmp/log_pluto3 Save Raw Data: False. Audio Stop: 5.5k. Ch0: RF Gain (dB): 32. Low Pass Filter. Ch0: IF Gain (dB): 20. Decimation: 8. Ch0: BB Gain (dB): 20. AM Demod. Gain: 1. Low-pass Filter Taps. in. Id: taps. Sample Rate: 1.152M Cutoff Freq: 72k. in. Audio Decimation: 3. Transition Width (Hz): 72k. Frequency Xlating FIR Filter. Window: Hamming. in. Beta: 6.76. Taps: taps. QT GUI Range. Default Value: 5 Start: 1 Stop: 20 Step: 1. in. Audio Decimation: 3. out. in. Audio Pass: 5k. Threshold: 5 filename: /tmp/log_rtl+200 Save Raw Data: False. Audio Stop: 5.5k. bw. freq. in QT GUI Frequency Sink. Id: t. Bandwidth (Hz): 1.152M. Step: 1. QT GUI Range. FFT Size: 1.024k. Stop: 74. Step: 1. Center Frequency (Hz): 0. Default Value: 25 Start: 0. Stop: 49. acars. Channel Rate: 144k. out. Sample Rate: 1.152M. freq. Id: g2. Default Value: 32 Start: 0. Threshold: 5 filename: /tmp/log_rtl0 Save Raw Data: False. AM Demod. Decimation: 8. freq Center Frequency: 200k Id: g1. in. Beta: 6.76. Cutoff Freq (Hz): 72k. QT GUI Range. out. Audio Pass: 5k Audio Stop: 5.5k. Window: Hamming. Sample Rate (Hz): 1.152M. acars. Channel Rate: 144k. out. Transition Width: 72k. Gain: 1. Frequency Xlating FIR Filter in. AM Demod. Decimation: 8 Taps: taps. in. Frequency Xlating FIR Filter. Frequency Xlating FIR Filter. Sample Rate: 1.152M. in. AM Demod in. Audio Decimation: 3 Audio Pass: 5k Audio Stop: 5.5k. Threshold: 5 filename: /tmp/log_rtl+100 Save Raw Data: False. acars. Channel Rate: 144k. out. filename: /tmp/log_rtl-100. acars out. Audio Pass: 5k Audio Stop: 5.5k. Decimation: 8 Taps: taps. Audio Decimation: 3. Threshold: 5 Save Raw Data: False. AM Demod in. Sample Rate: 1.152M. in. in. Channel Rate: 144k. out. freq Center Frequency: 100k. freq Center Frequency: -200k. out. Audio Stop: 5.5k. Decimation: 8 Taps: taps. Audio Decimation: 3 Audio Pass: 5k. Sample Rate: 1.152M. in. acars. Channel Rate: 144k. out. freq Center Frequency: -100k. out. in. Threshold: 5 filename: /tmp/log_rtl-200 Save Raw Data: False. 11 / 15.

(12) Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8. Results: multiple receivers. T. Lavarenne, J.-M Friedt Introduction Bit decoding Implementation Clock synchronization Bit to sentences Results Conclusion. RTL-SDR (131.825 MHz). B200 (131.825 MHz). Red: identical messages by RTL-SDR and B200 Green: nearly identical messages by RTL-SDR and B200 12 / 15.

(13) Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8 T. Lavarenne, J.-M Friedt. Results Decoded sentences (over the ether). Introduction Bit decoding Implementation Clock synchronization Bit to sentences Results Conclusion. consistent with ADS-B messages collected from flightradar24.com 13 / 15.

(14) Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8 T. Lavarenne, J.-M Friedt Introduction Bit decoding Implementation Clock synchronization Bit to sentences Results Conclusion. 90 − ϑ. An emitter flying at altitude h over the Earth with radius R = 6400 km can be detected   R (line of sight) at range d = R ·arccos R+h ⇒ if h = 10 km: d ' 350 km (Paris !). H. 0. P. height h. ϑ. H. R R +h. Earth 14 / 15.

(15) Bitstream clock synchronization in an ACARS receiver: porting gr-acars to GNU Radio 3.8 T. Lavarenne, J.-M Friedt Introduction Bit decoding Implementation. Conclusion. • gr-acars ported to GNU Radio 3.8 • opportunity to add clock synchronization for better decoding capability ... • ... and switching from FFTW to GNU Radio FFT class allowing for multiple blocks to run in parallel. • Lighter transmission detection using standard deviation analysis, avoiding continuous FFTs ... • ... thanks to narrowband analysis of each ACARS channel.. Clock synchronization Bit to sentences Results Conclusion. Embedded: gr-acars+GNU Radio on RaspberryPi4 (Buildroot & RTL-SDR)=7.5 W gr-acars source code at https://sourceforge.net/projects/gr-acars/ with 15 / 15 the clock correcting algorithm in the 3.8ng directory.

(16)

Références

Documents relatifs

Forme normale conjonctive (FNC) : Une fonction booléenne peut toujours s’exprimer sous forme d’une conjonction ( and ) de formes disjonctives ( or ). Forme normale disjonctive (FND)

There is a self-stabilizing algorithm for synchronizing a binary clock, which uses 1-bit messages and 2 states, and converges in O(log n) rounds w.h.p.. Our algorithm has a

We therefore explore under which conditions clock prop- erties can be provided permanently in the presence of transient and dynamic Byzantine faults, where processes recover from

Stocker un petit ensemble dans les bits d’un entier non-signé Le bit i est à 1 ssi l’élément i est dans l’ensemble. → Énumérer les ensembles en énumérant

The EXTEST guard values specified in Table 15: Boundary Scan Signals & Pins should be clocked into the boundary-scan register (using the SAMPLE/PRELOAD instruction)

trary, CRT, which has unstable high·voltage part, moves deflection angle of beam current and also dots dIsplayed in the even and odd fields may be

level of microcomputer products by evaluating reliability, building quality into the manufacturing process, strengthening inspection techniques, and analyzing field

Especially, for high reliability semiconductor devices, manu- facturing line is rigidly selected, and the quality control in the manufactUring process is tightly