mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-11-04 01:03:04 +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:
		@@ -61,7 +61,7 @@ GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga(ConfigurationInterf
 | 
				
			|||||||
    long fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 12500000);
 | 
					    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);
 | 
					    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;
 | 
					    acq_parameters.downsampling_factor = downsampling_factor;
 | 
				
			||||||
    printf("downsampling_factor = %f\n", downsampling_factor);
 | 
					    printf("downsampling_factor = %f\n", downsampling_factor);
 | 
				
			||||||
    fs_in = fs_in/downsampling_factor;
 | 
					    fs_in = fs_in/downsampling_factor;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -276,8 +276,8 @@ fpga_multicorrelator_8sc::fpga_multicorrelator_8sc(int32_t n_correlators,
 | 
				
			|||||||
    //        {
 | 
					    //        {
 | 
				
			||||||
    // other types of multicorrelators (32 registers)
 | 
					    // other types of multicorrelators (32 registers)
 | 
				
			||||||
    d_RESULT_REG_IMAG_BASE_ADDR = 7;
 | 
					    d_RESULT_REG_IMAG_BASE_ADDR = 7;
 | 
				
			||||||
    d_RESULT_REG_DATA_REAL_BASE_ADDR = 6;  // no pilot tracking
 | 
					    //d_RESULT_REG_DATA_REAL_BASE_ADDR = 6;  // no pilot tracking
 | 
				
			||||||
    d_RESULT_REG_DATA_IMAG_BASE_ADDR = 12;
 | 
					    //d_RESULT_REG_DATA_IMAG_BASE_ADDR = 12;
 | 
				
			||||||
    d_SAMPLE_COUNTER_REG_ADDR_LSW = 13;
 | 
					    d_SAMPLE_COUNTER_REG_ADDR_LSW = 13;
 | 
				
			||||||
    d_SAMPLE_COUNTER_REG_ADDR_MSW = 14;
 | 
					    d_SAMPLE_COUNTER_REG_ADDR_MSW = 14;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -688,13 +688,15 @@ void fpga_multicorrelator_8sc::read_tracking_gps_results(void)
 | 
				
			|||||||
    if (d_track_pilot)
 | 
					    if (d_track_pilot)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            //printf("reading pilot !!!\n");
 | 
					            //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)
 | 
					            //            if (readval_real >= d_result_SAT_value) // 0x100000 (21 bits two's complement)
 | 
				
			||||||
            //                {
 | 
					            //                {
 | 
				
			||||||
            //                    readval_real = -2*d_result_SAT_value + readval_real;
 | 
					            //                    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)
 | 
					            //            if (readval_imag >= d_result_SAT_value) // 0x100000 (21 bits two's complement)
 | 
				
			||||||
            //                {
 | 
					            //                {
 | 
				
			||||||
            //                    readval_imag = -2*d_result_SAT_value + readval_imag;
 | 
					            //                    readval_imag = -2*d_result_SAT_value + readval_imag;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user