mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-15 04:30:33 +00:00
Adding missing factor in CN0 estimator
This commit is contained in:
parent
dddf6dedb3
commit
8b77576166
@ -60,11 +60,12 @@
|
|||||||
*
|
*
|
||||||
* The SNR value is converted to CN0 [dB-Hz], taking to account the coherent integration time, using the following formula:
|
* The SNR value is converted to CN0 [dB-Hz], taking to account the coherent integration time, using the following formula:
|
||||||
* \f{equation}
|
* \f{equation}
|
||||||
* CN0_{dB}=10*log(\hat{\rho})-10*log(T_{int}),
|
* CN0_{dB}=10*log(\hat{\rho})-10*log(2*T_{int}),
|
||||||
* \f}
|
* \f}
|
||||||
* where \f$T_{int}\f$ is the coherent integration time, in seconds.
|
* where \f$T_{int}\f$ is the coherent integration time, in seconds.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
float cn0_svn_estimator(const gr_complex* Prompt_buffer, int length, float coh_integration_time_s)
|
float cn0_svn_estimator(const gr_complex* Prompt_buffer, int length, float coh_integration_time_s)
|
||||||
{
|
{
|
||||||
float SNR = 0.0;
|
float SNR = 0.0;
|
||||||
@ -80,7 +81,7 @@ float cn0_svn_estimator(const gr_complex* Prompt_buffer, int length, float coh_i
|
|||||||
Psig = Psig * Psig;
|
Psig = Psig * Psig;
|
||||||
Ptot /= static_cast<float>(length);
|
Ptot /= static_cast<float>(length);
|
||||||
SNR = Psig / (Ptot - Psig);
|
SNR = Psig / (Ptot - Psig);
|
||||||
SNR_dB_Hz = 10.0 * std::log10(SNR) - 10.0 * std::log10(coh_integration_time_s);
|
SNR_dB_Hz = 10.0 * std::log10(SNR) - 10.0 * std::log10(2.0 * coh_integration_time_s);
|
||||||
return SNR_dB_Hz;
|
return SNR_dB_Hz;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user