1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2025-12-07 00:58:06 +00:00
Commit Graph

1474 Commits

Author SHA1 Message Date
Cillian O'Driscoll
eb4b8ed385 Bugfix: setting pfa in gps l1 ca pcps acq 2015-12-23 18:58:17 +00:00
Cillian O'Driscoll
eb3007c725 Numerous fixes/updates to prs codeless tracking
Including:

1) Closing prs loops
2) Better accounting for accumulation interval
3) Splitting subcarrier phase into fractional and integer components
2015-12-23 18:57:43 +00:00
Cillian O'Driscoll
baf3f9b8c6 Fixes for pcps acquisition when using double block 2015-12-23 18:51:30 +00:00
Cillian O'Driscoll
a1188d37b7 Updates to two_bit_packed_file_signal_source
1) Now always generates a stream of int8, either real or interleaved
complex
2) Fixed a bug in computing the time to skip
2015-12-23 18:49:47 +00:00
Cillian O'Driscoll
f6e0490bca Fixed comments to reflect previous commit 2015-12-23 18:47:17 +00:00
Cillian O'Driscoll
96127d8fe5 Bugfix: big endian items in unpact_2bit_samples 2015-12-23 18:44:38 +00:00
Cillian O'Driscoll
eea1c41072 Bugfixes in code and subcarrier resamplers 2015-12-23 18:42:47 +00:00
Cillian O'Driscoll
a92775e829 Enable Rinex o/p even when no valid nav solution
In hybrid_pvt
2015-12-23 18:41:47 +00:00
Cillian O'Driscoll
9ff223e18d First cut off PRS codeless tracking
Still buggy. Just a check in to save state.
2015-12-03 14:45:51 +00:00
Cillian O'Driscoll
3a29d35a34 Merge branch 'codeless' into prs_codeless 2015-12-03 09:50:41 +00:00
Cillian O'Driscoll
713a789166 Fixing rebase errors 2015-12-03 09:41:20 +00:00
Cillian O'Driscoll
0a74a58737 Updated E1 PRS VEML dump read utility 2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
0be72bd105 Bugfix: computation of prs subcarrier Doppler
Was using the OS carrier Doppler, not the PRS.
2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
249ed32e7e Added check for code lock in prs DE
Now we start with a realtively wideband DLL then pull in to narrowband
DLL tracking.
2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
7d7a991bf7 Bugfix: was not using PRS divergence filter
Was using the OS filter twice, with poor results.
2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
03a2de9f08 Added initiall and final divergence bandwidths
For VEML tracking with Subcarrier Aiding (SA) we start with a reasonably
large uncertainty in the code/subcarrier divergence due to the side-peak
ambiguity problem. However, once we have pulled in, we expect the
dynamics of the divergence to be low. So the final bandwidth can be very
small.
2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
6eaad8f8a3 Split prs code phase into int and fract parts
Applied to the VEML tracking. Previous commit was DE tracking only.
2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
9d2739935d Split PRS code phase into int and frac parts 2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
5b8cc60540 Changed DPE to use cosine local replica
Previously used a BOC local replica (square wave). This approach gives
a marginal gain of ~ 0.7 dB in C/N0
2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
1b0dadd91f Fix for CN0 estimator 2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
ec78ba5243 Modified DPE to use prompt and early subcarriers 2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
c96bbaba01 First draft of DPE for PRS
Note this operates as a DPE but actually generates a full BOC
subcarrier. The next step will make it possible to actually generate the
local replica subcarrier as a cosine wave.
2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
283d4fa9e5 Added matlab utils for e1 prs tracking 2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
32b2ebd666 Added matlab utils for double estimator tracking 2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
36a53eda3d Fixed gps l1 ca tracking dump Matlab reader 2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
727b8b2558 First cut off subcarrier aided PRS tracking
Failing horribly for now, committing here to not lose the effort.
2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
57549a090a Added Bump Jumping to PRS VEML tracking 2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
21f4de8ea3 Experiment to resolve prs code doppler bias
Not fully resolved yet. Thinking it may be due to a numerical precision
issue.
2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
4460a440e0 Added PRS VEML tracking
For now this ignores the very early and very late correlators. Plan on
implementing:
1) Bump jumping
2) sliding subcarrier

approaches.
2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
926029de54 Fixed a bug in code doppler computation PRS DE 2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
3d4f3704f6 Added fxpt64_to_double 2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
0efbff494e Deleted artefact from experimental branch 2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
36a4129b1a Added handling of PREAMBLE and RXTIME_SET messages
In the PRS Double Estimator tracking strategy.
2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
ef5c79b074 Assorted improvements to PRS tracking 2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
fe33f9e0e2 Use PRS to determine code rollover boundary 2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
e8248d449d Improved error checking in gnss_message 2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
74f89361f0 This is required to build the last commit 2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
06af9c8663 Added message port observables->channel
This allows the observables to send messages back to the tracking
channels, for example when system time has been received by at least one
channel, it can then be broadcast back to all other channels.

This is useful in long code tracking, so that we don't have to receive a
TOW on every single channel before we start tracking.
2015-12-03 09:35:34 +00:00
Cillian O'Driscoll
b466cb9454 Fixed bug in checking channel index 2015-12-03 09:34:45 +00:00
Cillian O'Driscoll
748de8ae22 Logging rather than throwing errors 2015-12-03 09:34:45 +00:00
Cillian O'Driscoll
dedee14381 Logging rather than throwing errors in gnss_message 2015-12-03 09:34:45 +00:00
Cillian O'Driscoll
4cf9fc0fa2 Bugfix in gps dll/fll/pll: added set_relative_rate 2015-12-03 09:34:45 +00:00
Cillian O'Driscoll
8e52e54386 Added extra settings for DE/PRS
Including initial/final bandwidths and setting loop orders from config.
2015-12-03 09:34:45 +00:00
Cillian O'Driscoll
d3511a0091 Closed the loop of PRS Double Estimator tracking 2015-12-03 09:34:45 +00:00
Cillian O'Driscoll
b2838cb688 Remove some debug output from e1 prs de tracking 2015-12-03 09:34:45 +00:00
Cillian O'Driscoll
d9ab90d5a0 Added a Galileo E1 PRS DE tracking strategy
Note that in this version the PRS is not tracked, we simply generate all
the required correlator outputs based on the E1 OS tracking parameters.

The next stage will be to close the loop for the E1A signal.
2015-12-03 09:34:45 +00:00
Cillian O'Driscoll
9f40189f39 Bugfix for Spirent PRS code generator
Not sure about this one. From my understanding of the Spirent knowledge
base description of the way in which the PRS code is generated, the
first PRS code chip for PRN 1 should be the same as the second p-code
chip for PRN 1, but it appears that in fact what is generated is the
last chip of the week. In other words the offset is -1 not +1.

With this modification I can successfully process E1 PRS data for both
even and odd numbered PRNs
2015-12-03 09:34:45 +00:00
Cillian O'Driscoll
1abd31d764 Fixed a bug in p code generation
Added test to catch it in future.
2015-12-03 09:34:45 +00:00
Cillian O'Driscoll
bb4e01907c Added get_code_length to LongCodeInterface 2015-12-03 09:34:45 +00:00
Cillian O'Driscoll
3f71c68756 Added long_code_interface and spirent prs utils
The idea behind the long code interface is to allow us to configure a
PRS receiver to use different codes depending on how the data is
generated. Different simulators may generate the PRS code in different
ways and we want to be able to plug and play without having separate
tracking strategies for each.
2015-12-03 09:34:45 +00:00