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