Implementation of TurboEdit algorithm for GNSS data
Project description
TurboEdit Algorithm Implementation
This project provides a C implementation of the TurboEdit algorithm for detecting potential GPS cycle slips, along with a Python wrapper for identifying and correcting those slips when possible.
📖 Reference
- Original paper: Blewitt, G. (1990) — An Automatic Editing Algorithm for GPS Data (Geophysical Research Letters, Vol. 17, No. 3)
🧱 Requirements
- MinGW-w64 (for building on Windows)
- Python 3.x
- OpenBLAS (included or linked for CBLAS support)
🛠️ Build Instructions
-
Clone this repository.
-
Make sure
libopenblas.dllandcblas.hare available in thelib/andinclude/folders respectively. -
From the project root, run:
run.bat
This will build the shared library and run the example script.
⚙️ C Function Overview
main.c → find_cycle_slips
This is the core C function. It is responsible for detecting potential cycle slips in GPS phase and pseudorange data.
Function Signature
void find_cycle_slips(
double* phase_L1, // e.g., L1 carrier phase
double* phase_L2, // e.g., L2 carrier phase
double* range_L1, // e.g., L1 pseudorange
double* range_L2, // e.g., L2 pseudorange
size_t n_samples // number of data points
);
- It is assumed that all arrays have the same length.
- The function returns a list containing the indices of all detected slips.
Example Usage
int N = 5000;
double phase_L1[N] = {1.0, 2.0, 3.0, ...};
double phase_L2[N] = {5.0, 3.0, 7.0, ...};
double range_L1[N] = {2.0, 5.0, 9.0, ...};
double range_L2[N] = {8.0, 3.0, 6.0, ...};
find_cycle_slips(phase_L1, phase_L2, range_L1, range_L2, N);
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file turboedit-0.1.6.tar.gz.
File metadata
- Download URL: turboedit-0.1.6.tar.gz
- Upload date:
- Size: 12.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff2bc8ef17dd0e41a4b78a61b00414c4eb95230d7321db0ef9fb273b30d3c59b
|
|
| MD5 |
721fbb23662c927e29fe42619fafd9a4
|
|
| BLAKE2b-256 |
afa01acefe34ab153e0681c860c3332a1a8dbb66b6d8d0ccac3c24313b168ee7
|
File details
Details for the file turboedit-0.1.6-py3-none-any.whl.
File metadata
- Download URL: turboedit-0.1.6-py3-none-any.whl
- Upload date:
- Size: 12.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb49f5a8848a22015f92de314a01e8d80a2649a9a76f8377c4e08118415d1146
|
|
| MD5 |
2ca6505c99bb9149ce4648d625e6c9a9
|
|
| BLAKE2b-256 |
f65f8a5b0dbcd92d49e425ce65ea975ae5187d7425f95e0cbf0f3e679e26e154
|