CNRDIFF
A library used to compare signal-to-noise ratio for GNSS observation data.
Dependencies
- pandas >= 2.0.0
- pyrtcm >= 1.0.0
Usage
Compute carrier-to-noise ratio differences of stations SN04 and SN02 relative to reference station SN01:
cnrdiff SN01001a.24O SN02001a.24O SN04001a.24O
Optional arguments
Compute differences by satellite system and save the output to a file:
cnrdiff --ftype RTCM3_MSM4 a.rtcm b.rtcm --by-sys > result.txt
Supported file types and auto-detected suffixes:
| File type | Suffix examples |
|---|---|
| BNC_QC_LOG | .log |
| RINEX3_OBS | .rnx, .obs, .*O |
| RTCM3_MSM4 | .rtcm |
Use --ftype to override auto-detection when needed.
Averaging algorithm
Assumptions
- Each station records observation data normally, with no missing epochs or event interruptions.
- Observation data from all stations is time-synchronized, with start and end times as consistent as possible.
- The epoch interval of observation data does not exceed 1 second; data is processed as 1-second intervals.
By satellite PRN (default)
The intermediate CNR binary file generated during execution is an SQLite database that stores the carrier-to-noise ratio for each epoch, each satellite, and each signal type.
- First, compute the average of each signal type over all epochs for each satellite to obtain a table indexed by satellite PRN and signal type.
- Then align the tables from all stations and compute differences to obtain a table indexed by satellite PRN + signal type and station (data file name).
By satellite system
Extract the satellite system from the satellite PRN as a new dimension.
- First, compute the average of each signal type over all satellites and all epochs for each satellite system (equivalent to a weighted average by epoch count per satellite) to obtain a table indexed by satellite system and signal type.
- Then align the tables from all stations and compute differences to obtain a table indexed by satellite system + signal type and station (data file name).
License
MIT
Authors and contributors
Lead Programmer: Sheng Guoliang shengguoliang@sinognss.com
Contributors:
- Yang Fawang yangfawang@sinognss.com
Metadata
Release files for cnrdiff 2.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cnrdiff-2.2.0.tar.gz | 6.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cnrdiff-2.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.3 kB
Release files / cnrdiff-2.2.0.tar.gz
| Download URL | cnrdiff-2.2.0.tar.gz |
|---|---|
| Size | 6.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2b55947fd5eeeb4d347cf51c8c1b012b10d7ccdb2fe924bd32f4faa671c39a16
|
|
BLAKE2b-256 checksum How to use checksums |
cacf04f4ae2cda7fd96507d848dc496b96d02234e1734c50a3ba52b3a075fe72
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logRelease files / cnrdiff-2.2.0-py3-none-any.whl
| Download URL | cnrdiff-2.2.0-py3-none-any.whl |
|---|---|
| Size | 6.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a0ce7bbd2e80e9054ddf9a367fdb95469a712f29254e7f2cb36c7ee3a55866b0
|
|
BLAKE2b-256 checksum How to use checksums |
3a858ff29c19aed8814be25a20983cb8eee1a9bf76dacf862024ac7c474e993b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency log