Skip to content

preproc filtering

Guillaume W. Bres edited this page Jul 28, 2024 · 4 revisions

Filtering

Use the -P interface to focus on data you're interested in.

SV filter

Retain the vehicles you're interested in, using a CSV list of vehicles.

Example: retain 08, 09, 10 from GPS :

rinex-cli \
    -P "G08,G09,G10" \
    --fp test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz

Example: retain any vehicles but 08, 09, 10 from GPS :

rinex-cli \
    -P "!=G08,G09,G10" \
    --fp test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz

SV filter with operand

The filter operand does work when specifiying SV identities. In this case, it is used to filter (in or out) the PRN you want for a given Constellation.

Example (1): exclude GPS vehicles below 08 (excluded)

rinex-cli \
    -P ">G08" \
    --fp test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz

Example (2): retain PRN above 08 for GPS, and below 10 (included) for GAL :

rinex-cli \
    --fp test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \
    -P ">G08;<=E10"

Constellation filters

Retain specific constellations: for example, retain GPS only with:

rinex-cli \
    --fp test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \
    -P GPS

Use CSV to describe several constellations at once:

rinex-cli \
    --fp test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \
    -P GPS,BDS

Inequality is also supported. For example: retain everything but Glonass

rinex-cli \
    --fp test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \
    -P "!=GLO"

SBAS is a special case. If you use simply "SBAS", you can retain or discard SBAS systems, whatever their actual constellation. For example we retain all GPS and any SBAS with this:

rinex-cli \
    --fp test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz -P GPS,SBAS

If you want to retain specific SBAS, you have to name them precisely, we support all of them (see Constellation module API). For example, retain GPS, EGNOS and SDCM with this:

rinex-cli \
    --fp test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz -P GPS,EGNOS,SDCM 

Note that the following teqc equivalent filters are also supported.

  • -G removes GPS (equivalent to -P !=GPS)
  • -C removes BDS
  • -E removes Galileo
  • -R removes Glonnass
  • -J removes QZSS
  • -S removes all SBAS vehicles

If you want to remove specific SBAS constellations, for example EGNOS, you have to use -P:

rinex-cli \
    --fp test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz -P !=EGNOS

Epoch filter

Epoch filter can be used to perform time binning, i.e redefining the time frame of your data.

Any valid Hifitime::Epoch string description is supported.

Since equality is implied, if you do this you're left with a single Epoch in your context:

rinex-cli \
    -P "2020-06-25T04:00:00 UTC" \
    --fp test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz

Use the inequality operand to retain anything but that very Epoch

rinex-cli \
    -P "!=2020-06-25T04:00:00 UTC" \
    --fp test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz

Time window

Stack two Epoch filters to define a time window :

rinex-cli \
    -P ">2020-06-12T08:00:00 UTC; <=2020-06-25T16:00:00 UTC" \
    --fp test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz

Observables: physics and signals

Any valid RINEX Observable code is accepted.
In RINEX, Observables are the combination of a physical observation (like temperature or carrier phase) on a specific signal.

For example, retain only phase observations on L1 and L2 with:

rinex-cli \
    --fp test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \
    -P L1C,l2c
Clone this wiki locally