front-end-cal(1)

πŸ“¦
version 0.0.21 Β· 2 versions
  • 0.0.21 Β· debian bookworm, debian trixie, nixos 26.05, nixpkgs unstable, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 0.0.16 Β· ubuntu jammy
, in debian bookworm, debian trixie, nixos 26.05, nixpkgs unstable, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– front-end-cal β€” the manual, bestie edition πŸ’–

okay so you found your way into the front-end-cal(1) man page, welcome, pull up a chair 🫢 this whole thing is literally about RF front-end center frequency and sampling rate calibration, and I promise it's more fun than it sounds. no cap.


✨ NAME ✨

front-end-cal β€” RF front-end center frequency and sampling rate calibration tool. that's it, that's the vibe. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

front-end-cal -config_file=<path-to-configuration-file> [OPTION]...

🌸 DESCRIPTION 🌸

so front-end-cal is a calibration tool for some DVB-T receivers, specifically the ones built on Taiwan's Realtek RTL2832U chipset. you know the ones β€” those lil USB dongles that let people watch over-the-air DVB-T European broadcast television on their personal computers. except plot twist: we're not here to watch TV. we're here to make them work as GNSS front-ends. main character energy honestly. πŸ‘‘

normally, those devices send partially-decoded MPEG transport frames over the USB. but β€” and this is the iconic part β€” by exploiting an undocumented mode of operation of the demodulator chip, the user is able to obtain raw I&Q samples, stream them through USB to a personal computer, and then use gnss-sdr. boom. the DVB-T receiver becomes a GNSS receiver and delivers position in real-time. literally turning a television into a satellite positioning machine, we love to see it. πŸ›°οΈβœ¨

here's the catch though: the crystal oscillator that ships with the RTL2832U family devices has limited accuracy, so it can't just be used as a GNSS receiver front-end without previous calibration. not me showing up uncalibrated 😭. so front-end-cal implements the algorithm proposed in [1], and heads up β€” it requires Internet access, because it retrieves Assisted GPS data from SUPL servers. yes bestie, the calibration tool is online, do not run it in airplane mode. βœˆοΈπŸ’€

and here's the flex: front-end-cal is able to work with raw data files, or β€” if there's computational power enough β€” in real time with suitable radio frequency front-ends. the whole receiver is defined in a single configuration file, so users can define theirs. your receiver, your rules. πŸŽ€


πŸ’œ OPTIONS πŸ’œ

front-end-cal takes the following options:

  • -config_file=<path-to-configuration-file> β€” set the configuration file. this is the one, the moment, the whole setup. 🫢
  • -signal_source=<path-to-raw-signal-file> β€” if defined, path to the file containing the signal samples. ngl this one overrides the data file specified in the configuration file, so it wins the argument. πŸ‘€
  • -log_dir=<path-to-directory> β€” if defined, overrides the default directory where logs are saved. keep your receipts somewhere cute. πŸ“
  • -version β€” print program version and exit. quick lil identity check. 🌈
  • -help β€” print all the available commandline flags and exit. when in doubt, ask for help, always valid. πŸ™ˆ

⭐ SEE ALSO ⭐

gnss-sdr(1), volk_gnsssdr_profile(1)

example of configuration file available at:

${prefix}/share/gnss-sdr/conf/front-end-cal.conf

where ${prefix}$ uses to be /usr or /usr/local. and lowkey important: this will be the configuration file used by default if the -config_file option is not set. so if you don't specify one, that's what you're getting, no cap. πŸ’«

[1] C. Fernandez-Prades, J. Arribas, P. Closas, Turning a Television into a GNSS Receiver, in Proceedings of ION GNSS+, 15-16 September 2013, Nashville, Tennessee (USA). A draft copy is freely available at:

https://www.researchgate.net/publication/257137427_Turning_a_Television_into_a_GNSS_Receiver

check https://gnss-sdr.org for more information. go, read, slay. πŸ”₯


πŸŽ€ BUGS πŸŽ€

no known bugs. literally flawless behaviour, we're obsessed. ✨ (this is what the page says and I am simply reporting it, bestie, don't come for me.)


πŸ‘‘ AUTHOR πŸ‘‘

Javier Arribas (javier.arribas@cttc.es)

this software has been developed at CTTC (Centre Tecnologic de Telecomunicacions de Catalunya, https://www.cttc.cat) with contributions from around the world. global collab moment, we love a worldwide group project πŸŒπŸ’–


and that's the whole page! this was version 0.0.1, dated 15 Dec 2014, and that's the official front-end-cal man page energy. go calibrate something, bestie. periodt. πŸ’…πŸŒΈπŸ¦‹