Vai al contenuto

Dati grezzi

Questa pagina è dedicata alla registrazione dei dati grezzi in formato SBF (Septentrio Binary Format) con il sistema MSX, e a come scegliere la frequenza di registrazione (in Hz) in base all'applicazione.

Cos'è l'SBF

L'SBF è il formato binario nativo del modulo mosaic-X5. È compatto ed efficiente e contiene tutto ciò che serve per il post-processing:

  • misure di fase e codice su tutte le frequenze (per il calcolo RTK/PPK);
  • soluzione di posizione (PVT) ed effemeridi;
  • stato del ricevitore, DOP, qualità del segnale.

A differenza dell'NMEA (testo, solo posizione), l'SBF conserva i dati grezzi: da un log SBF si possono ricalcolare le posizioni a posteriori (PPK) e si può convertire in RINEX per software di terze parti.

Dove si registra (microSD a bordo oppure USB)

La carrier mini monta uno slot microSD (CN1, vedi Carrier mini) collegato all'interfaccia SD nativa del mosaic-X5. Il log SBF si può quindi registrare in due modi:

  • sulla microSD, sul campo, senza PC — è il modo previsto per i 400 m: si inserisce la microSD e si avvia/ferma la registrazione con il pulsante LOG; i file finiscono nella cartella DSK1/SSN della scheda;
  • sul PC, via USB — catturando il flusso dati del modulo con un logger (es. RxLogger / Data Link di Septentrio RxTools) sulla porta COM USB.

Tip

Per il monitoraggio in pista conviene la microSD: l'atleta porta solo il ricevitore, niente PC al seguito. Lo scarico dei file avviene a fine sessione.

Blocchi SBF da registrare

Un log utile contiene almeno i blocchi delle misure grezze più la soluzione:

Blocco SBF A cosa serve
MeasEpoch misure grezze (pseudorange, fase, Doppler) → base per RINEX e PPK
PVTGeodetic soluzione di posizione (lat/lon/quota) e relativa qualità
PVTCartesian soluzione in coordinate ECEF
GPSNav / GALNav / … effemeridi delle costellazioni (per il calcolo orbite)
DOP diluizione di precisione (geometria satellitare)
ReceiverStatus stato del ricevitore (diagnostica)

Tip

Per il solo RTK in tempo reale basta l'NMEA in uscita. L'SBF serve quando vuoi rielaborare i dati (PPK), produrre RINEX, o analizzare la qualità delle misure.

Frequenza di registrazione (Hz)

Di default il ricevitore esce a 1 Hz

Nella configurazione di fabbrica (e nella configurazione tipica MSX) il ricevitore emette a 1 Hz (sec1): un campione al secondo, sufficiente per NMEA in tempo reale e rilievo classico. I 100 Hz non sono attivi di default: vanno impostati esplicitamente (vedi sotto) per le applicazioni ad alta dinamica come i 400 m.

La frequenza si imposta come intervallo fra le epoche. Il mosaic-X5 supporta fino a 100 Hz. Corrispondenze fra intervallo e frequenza:

Intervallo Frequenza Uso tipico
sec1 1 Hz rilievo statico, RINEX standard, post-processing geodetico
msec500 2 Hz rilievo cinematico leggero
msec200 5 Hz cinematico, GIS in movimento
msec100 10 Hz cinematico veloce, drone a bassa dinamica
msec50 20 Hz macchine in movimento, guida automatica
msec20 50 Hz alta dinamica
msec10 100 Hz applicazioni particolari (vedi sotto)

Il caso 100 Hz (applicazioni particolari)

La registrazione a 100 Hz (msec10) è riservata ad applicazioni ad altissima dinamica, dove servono molti campioni al secondo:

  • monitoraggio di atleti in pista (es. 400 m): velocità, accelerazioni, split e traiettoria ad alta risoluzione → vedi 400m in pista;
  • droni / UAV in volo rapido e manovre aggressive;
  • monitoraggio di vibrazioni e dinamica strutturale (ponti, antenne, torri);
  • veicoli e macchine ad alta velocità o con movimenti repentini;
  • test e collaudo (analisi di traiettoria fine, sincronizzazione con IMU);
  • deformazione/sismologia a banda larga.

Warning

Il 100 Hz non è il default e va usato solo quando serve davvero:

  • genera file molto grandi (decine di MB al minuto) → spazio su disco;
  • satura facilmente la banda della porta → su USB è gestibile, ma su un futuro logging UART occorre alzare il baud rate;
  • aumenta il carico sul logger del PC;
  • non migliora la precisione assoluta del singolo punto: serve solo la risoluzione temporale.

Per il rilievo topografico classico 1–10 Hz è più che sufficiente.

Note

Il valore di posizione (PVT) può essere generato fino a 100 Hz; per le misure grezze ad altissima frequenza verificare costellazioni/segnali abilitati, perché incidono sul carico dati. (parametri di dettaglio da confermare sulla configurazione della Main MSX)

Come impostare il logging

Via interfaccia web (consigliato)

  1. Collegare l'USB e aprire http://192.168.3.1.
  2. Aprire il menù Logging.
  3. Premere +New SBF stream e selezionare i blocchi da registrare (es. MeasEpoch + PVTGeodetic + effemeridi); per ottenere direttamente il RINEX spuntare l'opzione Rinex.
  4. Nel campo Interval scegliere la cadenza desiderata (es. 1 sec per 1 Hz, 10 msec per 100 Hz).
  5. Confermare: la registrazione parte e i file vengono salvati nella cartella DSK1/SSN (microSD nelle carrier che la prevedono) o catturati su PC via USB.

Note

L'NMEA in tempo reale si configura invece dal menù Communication → Serial Port (o sulla porta USB), con NMEA/SBF Out → +New NMEA stream: lì si scelgono le frasi e l'Interval dell'uscita (tipicamente 1 sec).

Come impostare i 100 Hz (passo per passo)

Per i 400 m servono 100 Hz, cioè un'epoca ogni 10 ms:

  1. Nella web UI apri Logging e premi +New SBF stream.
  2. Seleziona i blocchi: come minimo MeasEpoch + PVTGeodetic, più le effemeridi (GPSNav, GALNav, …) per il PPK.
  3. Nel menù a tendina Interval scegli il valore più fitto, 10 msec (= 100 Hz). Attenzione a non confonderlo con 100 msec (che è 10 Hz).
  4. Conferma e salva la configurazione come Boot (Admin → Configurations, Current → Boot) così resta attiva dopo lo spegnimento.
  5. Verifica nella pagina di stato che l'epoca giri davvero a 100 Hz prima di andare in pista.

Tip

Per ridurre il carico a 100 Hz, limita i blocchi al minimo necessario (MeasEpoch + PVTGeodetic + effemeridi) ed evita stream NMEA pesanti in parallelo: l'NMEA per il monitor live può restare a 1 Hz mentre l'SBF registra a 100 Hz.

Opzioni avanzate del logging (scheda Advanced)

La scheda Advanced del menù Logging permette di impostare i parametri di stazione (Marker name/number/type), l'azione a disco pieno (DSK1StopLogging) e l'opzione UMSD (montaggio del disco come unità di massa USB quando si collega il cavo, comodo per scaricare i file).

Web UI Septentrio: scheda Advanced del menù Logging
Menù Logging → scheda Advanced: parametri di stazione, azione a disco pieno e configurazione UMSD.

Via comando ASCII (sulla porta)

Esempio concettuale di comando Septentrio per indirizzare l'SBF a uno stream con un dato intervallo:

setSBFOutput, Stream1, <destinazione>, MeasEpoch+PVTGeodetic, msec100

dove msec100 = 10 Hz (usare msec10 per 100 Hz, sec1 per 1 Hz).

Note

La sintassi esatta dei comandi (stream, destinazione, naming dei file) è descritta nella Reference Guide del mosaic-X5. (da confermare per la configurazione MSX)

Dal log SBF al RINEX

Per usare i dati con software di terze parti si converte l'SBF in RINEX con l'utility sbf2rin (Septentrio):

sbf2rin -f log.sbf -o output.obs

Da lì si procede con il post-processing (PPK) o l'analisi geodetica.

Dove scaricare sbf2rin (gratis)

sbf2rin è gratuito e fa parte di RxTools, la suite software di Septentrio (che include anche SBF Converter, con interfaccia grafica Tools → SBF Converter). Si scarica dal sito ufficiale:

Disponibile per Windows e Linux; può richiedere una registrazione gratuita. In RxTools trovi sbf2rin da riga di comando e la GUI SBF Converter per convertire in RINEX, KML, ASCII.

Post-processing con RTKLIB

Per l'elaborazione cinematica (PPK) consigliamo RTKLIB, nella versione RTKLIB-EX 2.5.0 del fork mantenuto da Tim Everett (rtklibexplorer), ottimizzato per ricevitori a basso costo e più aggiornato del ramo ufficiale 2.4.3:

Il flusso completo è in due fasi: conversione del log grezzo in RINEX con convbin, poi elaborazione in RTKPOST.

1 · Conversione con convbin (riga di comando)

convbin è il convertitore a riga di comando di RTKLIB (equivalente CLI di RTKCONV). Legge direttamente l'SBF di Septentrio (-r sbf) e produce i file RINEX:

# rover: dal log SBF a RINEX 3.04 (osservazioni + navigazione multi-costellazione)
convbin -r sbf -f 3 -v 3.04 -o rover.obs -n rover.nav log__000.sbf
Opzione Significato
-r sbf Formato d'ingresso: Septentrio SBF.
-f 3 Numero di frequenze da estrarre (3 = L1/L2/L5).
-v 3.04 Versione RINEX in uscita (3.04, multi-GNSS).
-o rover.obs File RINEX di osservazione (misure).
-n rover.nav File RINEX di navigazione (effemeridi, mixed).

Tip

In alternativa puoi usare la GUI RTKCONV (stesse opzioni) o convertire con sbf2rin. Per i 400 m servono i blocchi del preset PostProcess (misure grezze + effemeridi): se li hai registrati, convbin trova tutto nell'SBF.

Procurati anche i dati della base (la tua stazione o un servizio NTRIP / CORS) per lo stesso intervallo di tempo, già in RINEX (base.obs).

2 · Elaborazione con RTKPOST (GUI)

  1. Apri RTKPOST e carica i file:

    • RINEX OBS (Rover)rover.obs;
    • RINEX OBS (Base Station)base.obs;
    • RINEX NAVrover.nav (o la navigazione della base).
  2. Options → Setting1:

    • Positioning Mode: Kinematic (rover in movimento);
    • Frequencies: tutte quelle disponibili (L1+L2+L5);
    • Elevation Mask: ~10–15°;
    • Rec Dynamics: ON (utile per l'alta dinamica dello sprint);
    • Integer Ambiguity Res (GPS): Continuous (risoluzione robusta delle ambiguità).
  3. Options → Positions: inserisci la posizione della base (Lat/Lon/H, dall'header RINEX o dall'antenna RTCM).

  4. Execute: ottieni un file di soluzione (.pos) con posizione e stato per ogni epoca, fino a 100 Hz.
  5. Plot per visualizzare la traccia; poi esporta/analizza il .pos per ricavare velocità, accelerazioni e split passo per passo.

Tip

A 100 Hz un file .pos ha migliaia di righe per pochi secondi di corsa: controlla che la colonna Q resti a 1 (ambiguità risolte) lungo tutto il giro; i tratti a Q=2 (soluzione float) hanno precisione ridotta e vanno segnalati nell'analisi.

Equivalente da riga di comando

RTKPOST ha l'equivalente CLI rnx2rtkp (utile per elaborare molte prove in batch):

rnx2rtkp -p 2 -m 13 -o sol.pos rover.obs base.obs rover.nav

dove -p 2 = modalità Kinematic e -m 13 = elevation mask 13°.

Schermate di RTKPOST

Le schermate dell'interfaccia RTKLIB (RTKPOST) sono dei rispettivi autori e non sono ripubblicate qui. Per vederle passo dopo passo (impostazioni Kinematic, AR, mappa della soluzione) fai riferimento ai tutorial con screenshot reali:

Quando avrai elaborato una tua prova, mandami uno screenshot di RTKPOST con le tue impostazioni: lo inserisco qui al posto di questi link.

Vedi anche