Stefano Rampazzo
45 posts


I've been itching to dig into LTE physical-layer stuff for a while, and Starlink DTC turned out to be the perfect excuse to go end-to-end.
So I threw together a little SDR pipeline from scratch on a Mac and pointed it at the Band 25 downlink to see if I could pull anything sensible out of the air. Setup was a USRP B210, a conical antenna, GPSDO for clock reference, and a window with a decent slice of sky. Record IQ at 7.68 MS/s around 1992.5 MHz, then a Swift app (with some coding help from Claude) that walks the samples through the usual LTE steps.
The first goals were pretty straightforward: find which cells (and thus which satellites) are visible right now via their Physical Cell IDs, measure signal strength, estimate the leftover carrier-frequency offset after Starlink's Doppler pre-compensation, and match each detection back to a specific satellite using SGP4 against fresh Celestrak TLEs.
The ladder from raw IQ to PCI is short but every step has its quirks:
PSS, the Primary Synchronization Signal. Three possible Zadoff-Chu roots (25, 29, 34) on 62 subcarriers around DC. Matched filter against each and the strongest peak gives you timing plus N_ID(2).
SSS right before it. Two interleaved m-sequences scrambled by N_ID(2). Correlate across the 336 possibilities to get N_ID(1) and the half-frame.
PCI = 3 * N_ID(1) + N_ID(2). Done. One number from 0 to 503.
With PCI known you can place the Cell-specific Reference Signals for RSRP, pull a coarse CFO from the PSS, and so on. Daniel Estévez's LTE write-ups (destevez.net, April and May 2022) were pure gold here and are worth reading for anyone doing similar work.
Then the fun part: group detections by PCI, fit the observed frequency offsets against the predicted line-of-sight Doppler from every candidate satellite using SGP4 + least squares. Best match wins, and the residual tells you how clean the pre-compensation actually is.
Early results (taken with a big grain of salt): the pipeline reliably picks up multiple satellites per minute, often several different PCIs from the same bird during one pass. The trajectory fits look solid even with TLEs aged a day or two. On beam-center cells the residual Doppler is small enough that the linear trend is basically flat across the whole pass, instead of the tens of kHz you'd see from raw orbital motion. Off-center cells show bigger swings, which makes sense if each PCI is tied to a different spot beam.
Beyond DTC itself, a coherent ground station at 2 GHz that can see every visible Starlink also opens doors to ionosphere phase work, bistatic passive radar with Starlink as illuminator, and time-transfer experiments. None of which I've tried yet, but the same pipeline opens the door to all of them.
This is very much a side project and still a work in progress. The fun is in the building.



English
Stefano Rampazzo retweetledi

@ibelings AirSpy and SDR++ should work on a Mac with a Silicon processor, but I don't have an AirSpy to test.
SDRPlay and SDRConnect work without any problems.
English

@s_ramp I have an Airspy somewhere maybe a Discovery. Not sure if it works on a Mac
English

Broadcast audio from your SDR receiver across your local network with VB-Audio Virtual Cable and VBANserver.
Download and read the tutorial.
sramp.com/products/vbans…
#sdruno #sdrconnect #swl
English

SWLtools 1.3 has been released right now.
Fixed several issues that recently arose due to conflicts between various settings in the audio section. Refactored the entire codebase to ensure greater app stability.
apps.apple.com/us/app/swltool…
#swl #bcl #ios
English

A NIGHT OF FIRE ON 60 METERS: 3X3A MAKES HISTORY FROM GUINEA!
Île de Roume
5356 khz - 60m
#ft8

Română

SWLtools in action
11039 khz DWD 2 Pinneberg RTTY
Display IQ streaming from the Belka
Free download
apps.apple.com/us/app/swltool…
#swl #rtty #sdr #belka
English

Great free iOS app, Echo, can connect to over 2,000 remote SDR receivers (KiwiSDR, OpenWebRX, WebSDR, and FM DX) by Mark Garrison
apps.apple.com/us/app/echo-gl…
#swl #bcl #hamradio #KiwiSDR #OpenWebRX #WebSDR #FM

English

Do you have a .ddd tachograph file and don't know how to read it?
Extract the most important information into a clear, readable PDF report in seconds.
Try the service here: tacho.sramp.com
#trucking #tachograph #logistics #transport #trucks
English

New free geoJSON viewer
sramp.com/geojson/info.h…
with automatic CRS conversion
#geojson
English

Hai un file .ddd del tachigrafo e non sai come leggerlo? 🚛💨
Estrai le informazioni piú importanti in un report PDF chiaro e leggibile in un secondo.
Prova il servizio qui: 👇 tacho.sramp.com
#autotrasporto #tachigrafo #logistica #trasporti #trucks
Italiano

📻 SWLstation is finally here! > A new iPad experience designed for shortwave listeners. Track stations, log your catches.
I’m giving away 3 promo codes to the community:
🧵 (Link and codes in the first reply below! 👇)
#swl #shortwave #hamradio #iosdev
English

apps.apple.com/us/app/swlstat…
KHTPETE9E6W7
XFHHM3ER4YHF
WHT479KRKPNP
Nederlands







