mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-11-16 07:07:18 +00:00
First version of Galileo E1 DLL PLL Very Early Minus Late Tracking. Added some functions in Matlab to analyze the results.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@234 64b25241-fba3-4117-9849-534c7e92360d
This commit is contained in:
@@ -3,11 +3,12 @@
|
||||
* \brief Implementation of a library with a set of code tracking
|
||||
* and carrier tracking discriminators that is used by the tracking algorithms.
|
||||
* \author Javier Arribas, 2011. jarribas(at)cttc.es
|
||||
* Luis Esteve, 2012. luis(at)epsilon-formacion.com
|
||||
*
|
||||
*
|
||||
* -------------------------------------------------------------------------
|
||||
*
|
||||
* Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors)
|
||||
* Copyright (C) 2010-2012 (see AUTHORS file for a list of contributors)
|
||||
*
|
||||
* GNSS-SDR is a software defined Global Navigation
|
||||
* Satellite Systems receiver
|
||||
@@ -91,8 +92,8 @@ float pll_cloop_two_quadrant_atan(gr_complex prompt_s1)
|
||||
* \f{equation}
|
||||
* error=\frac{E-L}{E+L},
|
||||
* \f}
|
||||
* where \f$E=\sqrt{I_{ES}^2,Q_{ES}^2}\f$ is the Early correlator output absolute value and
|
||||
* \f$L=\sqrt{I_{LS}^2,Q_{LS}^2}\f$ is the Late correlator output absolute value. The output is in [chips].
|
||||
* where \f$E=\sqrt{I_{ES}^2+Q_{ES}^2}\f$ is the Early correlator output absolute value and
|
||||
* \f$L=\sqrt{I_{LS}^2+Q_{LS}^2}\f$ is the Late correlator output absolute value. The output is in [chips].
|
||||
*/
|
||||
float dll_nc_e_minus_l_normalized(gr_complex early_s1, gr_complex late_s1)
|
||||
{
|
||||
@@ -101,3 +102,19 @@ float dll_nc_e_minus_l_normalized(gr_complex early_s1, gr_complex late_s1)
|
||||
P_late = std::abs(late_s1);
|
||||
return (P_early - P_late) / ((P_early + P_late));
|
||||
}
|
||||
|
||||
/*
|
||||
* DLL Noncoherent Very Early Minus Late Power (VEMLP) normalized discriminator:
|
||||
* \f{equation}
|
||||
* error=\frac{E-L}{E+L},
|
||||
* \f}
|
||||
* where \f$E=\sqrt{I_{VE}^2+Q_{VE}^2+I_{E}^2+Q_{E}^2}\f$ and
|
||||
* \f$L=\sqrt{I_{VL}^2+Q_{VL}^2+I_{L}^2+Q_{L}^2}\f$ . The output is in [chips].
|
||||
*/
|
||||
float dll_nc_vemlp_normalized(gr_complex very_early_s1, gr_complex early_s1, gr_complex late_s1, gr_complex very_late_s1)
|
||||
{
|
||||
float P_early, P_late;
|
||||
P_early = std::sqrt(std::norm(very_early_s1)+std::norm(early_s1));
|
||||
P_late = std::sqrt(std::norm(very_late_s1)+std::norm(late_s1));
|
||||
return (P_early - P_late) / ((P_early + P_late));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user