1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-12-15 20:50:33 +00:00

Solved two bugs:

- a minor bug in the E5A fpga acquisition adapter module: a config parameter was not correctly read.
- a bug in the tracking fpga multicorrelator module: if pilot tracking was enabled then the results of the pilot correlator were not correctly read when using the multicorrelator 3-1 HW Accelerator in the FPGA (used for GPS L5 and Galileo E5A).
This commit is contained in:
Marc Majoral 2018-12-11 14:44:42 +01:00
parent e436aadfd9
commit ae61646270
2 changed files with 7 additions and 5 deletions

View File

@ -61,7 +61,7 @@ GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga(ConfigurationInterf
long fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 12500000);
long fs_in = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
float downsampling_factor = configuration_->property("GNSS-SDR.downsampling_factor", 1.0);
float downsampling_factor = configuration_->property(role + ".downsampling_factor", 1.0);
acq_parameters.downsampling_factor = downsampling_factor;
printf("downsampling_factor = %f\n", downsampling_factor);
fs_in = fs_in/downsampling_factor;

View File

@ -276,8 +276,8 @@ fpga_multicorrelator_8sc::fpga_multicorrelator_8sc(int32_t n_correlators,
// {
// other types of multicorrelators (32 registers)
d_RESULT_REG_IMAG_BASE_ADDR = 7;
d_RESULT_REG_DATA_REAL_BASE_ADDR = 6; // no pilot tracking
d_RESULT_REG_DATA_IMAG_BASE_ADDR = 12;
//d_RESULT_REG_DATA_REAL_BASE_ADDR = 6; // no pilot tracking
//d_RESULT_REG_DATA_IMAG_BASE_ADDR = 12;
d_SAMPLE_COUNTER_REG_ADDR_LSW = 13;
d_SAMPLE_COUNTER_REG_ADDR_MSW = 14;
@ -688,13 +688,15 @@ void fpga_multicorrelator_8sc::read_tracking_gps_results(void)
if (d_track_pilot)
{
//printf("reading pilot !!!\n");
readval_real = d_map_base[d_RESULT_REG_DATA_REAL_BASE_ADDR];
//readval_real = d_map_base[d_RESULT_REG_DATA_REAL_BASE_ADDR];
readval_real = d_map_base[d_RESULT_REG_REAL_BASE_ADDR + d_n_correlators];
// if (readval_real >= d_result_SAT_value) // 0x100000 (21 bits two's complement)
// {
// readval_real = -2*d_result_SAT_value + readval_real;
// }
readval_imag = d_map_base[d_RESULT_REG_DATA_IMAG_BASE_ADDR];
//readval_imag = d_map_base[d_RESULT_REG_DATA_IMAG_BASE_ADDR];
readval_imag = d_map_base[d_RESULT_REG_IMAG_BASE_ADDR + d_n_correlators];
// if (readval_imag >= d_result_SAT_value) // 0x100000 (21 bits two's complement)
// {
// readval_imag = -2*d_result_SAT_value + readval_imag;