Pocket SDR captured data
Introduction
Pocket SDR is an open source software defined radio (SDR) released by Professor Tomoji Takasu of Tokyo University of Marine Science and Technology, which receives signals from global navigation satellite system (GNSS).
In addition, the Pocket SDR capture data published by Professor Takasu in his diary/remarks on March 27, 2025 also included the L1C/B signal being tested on the Michibiki 6 satellite J08
. I was very impressed by this data, so I will also publish the Pocket SDR captured data I have. I will add any observation data I record here in the future.
Usage
First, try to decode the GPS L1C/A and Galileo E1B signals.
Some recording files are compressed with gzip
. For example, download the recording file L1.bin.gz
and the tag file L1.bin.tag
, and unzip the recording file with gunzip L1.bin.gz
.
Then, fix the position with the Pocket SDR pocket_trk
application. In this example, we are searching for the GPS L1C/A and Galileo E1-B signals.
$ pocket_trk L1.bin -prn 1-32 -sig E1B -prn 1-36
1970-01-01 00:00:00.0 0.00000000 0.00000000 0.000 0/0 --- BUFF: 4% SRCH: 2 LOCK: 9/ 68
CH RF SAT SIG PRN LOCK(s) C/N0 (dB-Hz) COFF(ms) DOP(Hz) ADR(cyc) SYNC #NAV #ERR #LOL FEC
5 1 G05 L1CA 5 14.40 33.2 | 0.7138032 -1569.4 -22546.2 ---- 0 0 0 0
12 1 G12 L1CA 12 13.70 44.0 |||||||| 0.5609495 1025.9 14074.2 -B-- 0 1 0 0
20 1 G20 L1CA 20 12.87 30.0 | 0.2656514 570.1 7312.5 ---- 0 0 0 0
24 1 G24 L1CA 24 12.50 54.1 |||||||||||| 0.3122772 -1539.0 -19234.4 -BF- 1 0 0 0
25 1 G25 L1CA 25 12.45 44.4 |||||||| 0.8502644 3326.7 41415.1 -BFR 1 0 0 0
32 1 G32 L1CA 32 11.59 36.1 ||| 0.6249231 2534.7 29402.0 -BF- 1 0 0 0
37 1 E05 E1B 5 10.24 50.9 |||||||||||| 0.6130906 -1830.9 -18754.3 -BFR 3 0 0 0
57 1 E25 E1B 25 3.93 45.1 ||||||||| 0.2554515 2076.4 8157.7 ---- 0 0 0 0
For recording specifications such as center frequency, sampling frequency, please note the configuration file name in the recording batch file sat.sh and refer to Awesome Pocket SDR (Effective use of configuration files).
Aachen, Germany (Recommended: ★☆☆)
This data was recorded when I stayed at a hotel in front of Aachen Station, with the antenna placed by the window. Due to a tall building across the street, the signal level was low, and only about three GPS satellites could be received with sufficient strength.
- Recording date: November 3, 2024
- Receiver: Pocket SDR FE4CH (DATAGNSS version)
- Antenna: Beitian BT-200
- Cable: RG58 2 meters
- Recording software: Pocket SDR version 0.13
Bonn, Germany (Recommended: ★☆☆)
I recorded it in the square near the hotel early in the morning. I had intended to record for 30 seconds, but it was only 15 seconds long, so I was unable to get a positioning result. I was also able to record Galileo HAS (E6B signal) data.
- Recording date: November 6th and 7th, 2024
- Receiver: Pocket SDR FE4CH (DATAGNSS version)
- Antenna: Beitian BT-200
- Cable: RG58 2 meters
- Recording software: Pocket SDR version 0.13
Hiroshima City University (Recommended: ★★☆)
I connected the receiver to an available port on the GNSS observation station and recorded. Although I was able to receive a stable signal, I was unable to obtain a position because the recording time was only 30 seconds.
- Recording date: November 13, 2024
- Receiver: Pocket SDR FE4CH (DATAGNSS version)
- Antenna: Beitian BT-200
- Cable: RG58 2m + 2m
- Signal splitter: INSTOCK GPS410 (4 way)
- Recording software: Pocket SDR version 0.13
To demodulate the GPS L1C/A signal, Michibiki L1C/A signal, or Galileo E1-B signal, do the following:
pocket_trk L1.bin -prn 1-32,194-199 -sig E1B -prn 1-36
Similarly, it is also possible to demodulate Michibiki CLAS (L6D signal), MADOCA-PPP (L6E signal), and Galileo HAS (E6B signal).
$ pocket_trk L6.bin -sig L6D -prn 194-199 -sig L6E -prn 204-209 -sig E6B -prn 1-36
Eindhoven, Netherlands (Recommended: ★★★)
I used the configuration file pocket_L1G1L5L6_16MHz.conf. Since it was recorded in raw data format, one file 20250605-073318fe4.bin
contains data for 4 channels.
- Recording date: June 5, 2025
- Receiver: Pocket SDR FE4CH (DATAGNSS version)
- Antenna: Beitian BT-200
- Cable: RG58 2 meters
- Recording software: Pocket SDR version 0.14
Positioning is possible with GPS L1C/A and Galileo E1-B. SBAS and Galileo E6-B signals can also be detected.
We also attempted to record data at a sampling frequency of 48 MHz, which exceeds the hardware limits (20250605-073918all.bin
), but the operation was unstable and the data could not be recorded completely.
Efficient signal analysis with shell scripts
To efficiently find the presence of a signal, I created a shell script. trap
allows the process to be interrupted with Ctrl
+C
.
In the second half, the recording file name, signal name, and PRN number range are given to the function psdr_exec
. The combination of signal name and PRN (pseudo random noise) number range was written with reference to the shell script in the Pocket SDR test
directory.
#!/bin/bash
set -eu
psdr_exec()
{
FILE=$1
SIG=$2
PRN=$3
echo $SIG \($FILE\)
pocket_trk $FILE -sig $SIG -prn $PRN
}
term()
{
echo terminated.
exit 0
}
trap term 2
psdr_exec L1.bin L1CA 1-32,193-202
psdr_exec L1.bin L1CB 202-206
psdr_exec L1.bin L1CA 120-158
psdr_exec L1.bin L1S 183-186,189
psdr_exec L2.bin L2CM 1-32,193-201
psdr_exec B1I.bin B1I 1-62
psdr_exec B2I.bin B2I 1-18
psdr_exec G1.bin G1CA -7-6
psdr_exec G2.bin G2CA -7-6
psdr_exec L6.bin E6B 1-36
psdr_exec L6.bin E6C 1-36
psdr_exec L6.bin L6D 193-202
psdr_exec L6.bin L6E 203-212
psdr_exec B1Ia.bin B1I 1-62
psdr_exec B3I.bin B3I 1-62
psdr_exec E1.bin E1B 1-36
psdr_exec E1.bin E1C 1-36
psdr_exec E5b.bin B2BI 19-50
psdr_exec E5b.bin E5BI 1-36
psdr_exec E5b.bin E5BQ 1-36
psdr_exec G1OC.bin G1OCD 1-27
psdr_exec G1OC.bin G1OCP 1-27
psdr_exec G3OC.bin G3OCD 1-27
psdr_exec G3OC.bin G3OCP 1-27
psdr_exec L1a.bin B1CD 19-50
psdr_exec L1a.bin B1CP 19-50
psdr_exec L1a.bin E1B 1-36
psdr_exec L1a.bin E1C 1-36
psdr_exec L1a.bin I1SP 1-14
psdr_exec L1a.bin I1SP 1-14
psdr_exec L1a.bin L1CD 1-32,193-199
psdr_exec L1a.bin L1CP 1-32,193-199
psdr_exec L5.bin B2AD 19-50
psdr_exec L5.bin B2AP 19-50
psdr_exec L5.bin E5AI 1-36
psdr_exec L5.bin E5AQ 1-36
psdr_exec L5.bin I5S 1-14
psdr_exec L5.bin L5I 1-32,193-199
psdr_exec L5.bin L5I 120-158
psdr_exec L5.bin L5Q 1-32,193-199
psdr_exec L5.bin L5Q 120-158
psdr_exec L5.bin L5SI 184-186,189
psdr_exec L5.bin L5SQ 184-186,189
Conclusion
I was so impressed by the Pocket SDR recording data that Professor Takasu released at the end of March that I decided to release my own data as well.
This FE4CH hardware fits neatly into an empty SFP+ optical transceiver case. Now I can carry it around with peace of mind.
For future signal recordings, I will do thorough advance preparation and rehearsals, record data for 10 minutes, and check the contents on the site.
Related article(s):
- Awesome Pocket SDR (Effective use of configuration files) 30th April 2025
- Awesome Pocket SDR (realtime positioning function) 13th October 2024
- Galileo E6B signal reception with Pocket SDR, a open source software-defined radio 27th January 2023
- Failure in reflow soldering 19th January 2023
- Pocket SDR hardware production (part 3) 30th September 2022
- Pocket SDR hardware production (part 2) 14th September 2022
- Pocket SDR hardware production (part 1) 4th September 2022
- Awesome PocketSDR (order of hardware parts) 9th April 2022
- I want to use bladeRF with PocketSDR AP, part 2 16th March 2022
- I want to use bladeRF with PocketSDR AP 5th March 2022
- Awesome PocketSDR (snapshot positioning) 23rd February 2022
- Awesome PocketSDR (reducing processing time with FFTW) 19th February 2022
- Awesome PocketSDR (L6 band signal decode) 19th January 2022
- Awesome PocketSDR (pocket_trk) 28th December 2021
- Awesome PocketSDR(pocket_acq) 4th December 2021