mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-10-31 15:23:04 +00:00 
			
		
		
		
	set the default sampling frequency of the HW source to 12.5 Msps and the default bandpass bandwidth to 12.5 MHz + other minor changes
This commit is contained in:
		| @@ -45,6 +45,8 @@ | |||||||
| #include <cstring>  // for memcpy | #include <cstring>  // for memcpy | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #define QUANT_BITS_LOCAL_CODE 10 | ||||||
|  |  | ||||||
| GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga( | GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga( | ||||||
|     ConfigurationInterface* configuration, |     ConfigurationInterface* configuration, | ||||||
|     const std::string& role, |     const std::string& role, | ||||||
| @@ -94,7 +96,7 @@ GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga( | |||||||
|     acq_parameters.device_name = device_name; |     acq_parameters.device_name = device_name; | ||||||
|     acq_parameters.samples_per_ms = nsamples_total / sampled_ms; |     acq_parameters.samples_per_ms = nsamples_total / sampled_ms; | ||||||
|     acq_parameters.samples_per_code = nsamples_total; |     acq_parameters.samples_per_code = nsamples_total; | ||||||
|     acq_parameters.excludelimit = static_cast<uint32_t>(std::round(static_cast<double>(fs_in) / GALILEO_E1_CODE_CHIP_RATE_HZ)); |     acq_parameters.excludelimit = static_cast<unsigned int>(1 + ceil((1.0 / GALILEO_E1_CODE_CHIP_RATE_HZ) * static_cast<float>(fs_in))); | ||||||
|  |  | ||||||
|     // compute all the GALILEO E1 PRN Codes (this is done only once in the class constructor in order to avoid re-computing the PRN codes every time |     // compute all the GALILEO E1 PRN Codes (this is done only once in the class constructor in order to avoid re-computing the PRN codes every time | ||||||
|     // a channel is assigned) |     // a channel is assigned) | ||||||
| @@ -152,8 +154,8 @@ GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga( | |||||||
|                 } |                 } | ||||||
|             for (uint32_t i = 0; i < nsamples_total; i++)  // map the FFT to the dynamic range of the fixed point values an copy to buffer containing all FFTs |             for (uint32_t i = 0; i < nsamples_total; i++)  // map the FFT to the dynamic range of the fixed point values an copy to buffer containing all FFTs | ||||||
|                 { |                 { | ||||||
|                     d_all_fft_codes_[i + nsamples_total * (PRN - 1)] = lv_16sc_t(static_cast<int32_t>(floor(fft_codes_padded[i].real() * (pow(2, 9) - 1) / max)), |                     d_all_fft_codes_[i + nsamples_total * (PRN - 1)] = lv_16sc_t(static_cast<int32_t>(floor(fft_codes_padded[i].real() * (pow(2, QUANT_BITS_LOCAL_CODE - 1) - 1) / max)), | ||||||
|                         static_cast<int32_t>(floor(fft_codes_padded[i].imag() * (pow(2, 9) - 1) / max))); |                         static_cast<int32_t>(floor(fft_codes_padded[i].imag() * (pow(2, QUANT_BITS_LOCAL_CODE - 1) - 1) / max))); | ||||||
|                 } |                 } | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @@ -164,7 +166,7 @@ GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga( | |||||||
|     acq_parameters.make_2_steps = configuration_->property(role + ".make_two_steps", false); |     acq_parameters.make_2_steps = configuration_->property(role + ".make_two_steps", false); | ||||||
|  |  | ||||||
|     // reference for the FPGA FFT-IFFT attenuation factor |     // reference for the FPGA FFT-IFFT attenuation factor | ||||||
|     acq_parameters.total_block_exp = configuration_->property(role + ".total_block_exp", 14); |     acq_parameters.total_block_exp = configuration_->property(role + ".total_block_exp", 12); | ||||||
|  |  | ||||||
|     acquisition_fpga_ = pcps_make_acquisition_fpga(acq_parameters); |     acquisition_fpga_ = pcps_make_acquisition_fpga(acq_parameters); | ||||||
|     DLOG(INFO) << "acquisition(" << acquisition_fpga_->unique_id() << ")"; |     DLOG(INFO) << "acquisition(" << acquisition_fpga_->unique_id() << ")"; | ||||||
|   | |||||||
| @@ -44,6 +44,7 @@ | |||||||
| #include <complex>  // for complex | #include <complex>  // for complex | ||||||
| #include <cstring>  // for strcpy, memcpy | #include <cstring>  // for strcpy, memcpy | ||||||
|  |  | ||||||
|  | #define QUANT_BITS_LOCAL_CODE 10 | ||||||
|  |  | ||||||
| GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga(ConfigurationInterface* configuration, | GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga(ConfigurationInterface* configuration, | ||||||
|     const std::string& role, |     const std::string& role, | ||||||
| @@ -95,7 +96,7 @@ GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga(ConfigurationInterf | |||||||
|     acq_parameters.samples_per_ms = nsamples_total / sampled_ms; |     acq_parameters.samples_per_ms = nsamples_total / sampled_ms; | ||||||
|     acq_parameters.samples_per_code = nsamples_total; |     acq_parameters.samples_per_code = nsamples_total; | ||||||
|  |  | ||||||
|     acq_parameters.excludelimit = static_cast<uint32_t>(ceil((1.0 / GALILEO_E5A_CODE_CHIP_RATE_HZ) * static_cast<float>(acq_parameters.fs_in))); |     acq_parameters.excludelimit = static_cast<unsigned int>(1 + ceil((1.0 / GALILEO_E5A_CODE_CHIP_RATE_HZ) * static_cast<float>(fs_in))); | ||||||
|  |  | ||||||
|     // compute all the GALILEO E5 PRN Codes (this is done only once in the class constructor in order to avoid re-computing the PRN codes every time |     // compute all the GALILEO E5 PRN Codes (this is done only once in the class constructor in order to avoid re-computing the PRN codes every time | ||||||
|     // a channel is assigned) |     // a channel is assigned) | ||||||
| @@ -153,15 +154,15 @@ GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga(ConfigurationInterf | |||||||
|                 } |                 } | ||||||
|             for (uint32_t i = 0; i < nsamples_total; i++)  // map the FFT to the dynamic range of the fixed point values an copy to buffer containing all FFTs |             for (uint32_t i = 0; i < nsamples_total; i++)  // map the FFT to the dynamic range of the fixed point values an copy to buffer containing all FFTs | ||||||
|                 { |                 { | ||||||
|                     d_all_fft_codes_[i + nsamples_total * (PRN - 1)] = lv_16sc_t(static_cast<int32_t>(floor(fft_codes_padded[i].real() * (pow(2, 9) - 1) / max)), |                     d_all_fft_codes_[i + nsamples_total * (PRN - 1)] = lv_16sc_t(static_cast<int32_t>(floor(fft_codes_padded[i].real() * (pow(2, QUANT_BITS_LOCAL_CODE - 1) - 1) / max)), | ||||||
|                         static_cast<int32_t>(floor(fft_codes_padded[i].imag() * (pow(2, 9) - 1) / max))); |                         static_cast<int32_t>(floor(fft_codes_padded[i].imag() * (pow(2, QUANT_BITS_LOCAL_CODE - 1) - 1) / max))); | ||||||
|                 } |                 } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|     acq_parameters.all_fft_codes = d_all_fft_codes_; |     acq_parameters.all_fft_codes = d_all_fft_codes_; | ||||||
|  |  | ||||||
|     // reference for the FPGA FFT-IFFT attenuation factor |     // reference for the FPGA FFT-IFFT attenuation factor | ||||||
|     acq_parameters.total_block_exp = configuration_->property(role + ".total_block_exp", 14); |     acq_parameters.total_block_exp = configuration_->property(role + ".total_block_exp", 13); | ||||||
|  |  | ||||||
|     acq_parameters.num_doppler_bins_step2 = configuration_->property(role + ".second_nbins", 4); |     acq_parameters.num_doppler_bins_step2 = configuration_->property(role + ".second_nbins", 4); | ||||||
|     acq_parameters.doppler_step2 = configuration_->property(role + ".second_doppler_step", 125.0); |     acq_parameters.doppler_step2 = configuration_->property(role + ".second_doppler_step", 125.0); | ||||||
|   | |||||||
| @@ -49,6 +49,7 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
| #define NUM_PRNs 32 | #define NUM_PRNs 32 | ||||||
|  | #define QUANT_BITS_LOCAL_CODE 10 | ||||||
|  |  | ||||||
|  |  | ||||||
| GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga( | GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga( | ||||||
| @@ -91,7 +92,7 @@ GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga( | |||||||
|     acq_parameters.device_name = device_name; |     acq_parameters.device_name = device_name; | ||||||
|     acq_parameters.samples_per_ms = nsamples_total / sampled_ms; |     acq_parameters.samples_per_ms = nsamples_total / sampled_ms; | ||||||
|     acq_parameters.samples_per_code = nsamples_total; |     acq_parameters.samples_per_code = nsamples_total; | ||||||
|     acq_parameters.excludelimit = static_cast<uint32_t>(std::round(static_cast<double>(fs_in) / GPS_L1_CA_CODE_RATE_HZ)); |     acq_parameters.excludelimit = static_cast<unsigned int>(1 + ceil(GPS_L1_CA_CHIP_PERIOD * static_cast<float>(fs_in))); | ||||||
|  |  | ||||||
|     // compute all the GPS L1 PRN Codes (this is done only once upon the class constructor in order to avoid re-computing the PRN codes every time |     // compute all the GPS L1 PRN Codes (this is done only once upon the class constructor in order to avoid re-computing the PRN codes every time | ||||||
|     // a channel is assigned) |     // a channel is assigned) | ||||||
| @@ -134,8 +135,8 @@ GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga( | |||||||
|                 } |                 } | ||||||
|             for (uint32_t i = 0; i < nsamples_total; i++)  // map the FFT to the dynamic range of the fixed point values an copy to buffer containing all FFTs |             for (uint32_t i = 0; i < nsamples_total; i++)  // map the FFT to the dynamic range of the fixed point values an copy to buffer containing all FFTs | ||||||
|                 { |                 { | ||||||
|                     d_all_fft_codes_[i + nsamples_total * (PRN - 1)] = lv_16sc_t(static_cast<int32_t>(floor(fft_codes_padded[i].real() * (pow(2, 9) - 1) / max)), |                     d_all_fft_codes_[i + nsamples_total * (PRN - 1)] = lv_16sc_t(static_cast<int32_t>(floor(fft_codes_padded[i].real() * (pow(2, QUANT_BITS_LOCAL_CODE - 1) - 1) / max)), | ||||||
|                         static_cast<int32_t>(floor(fft_codes_padded[i].imag() * (pow(2, 9) - 1) / max))); |                         static_cast<int32_t>(floor(fft_codes_padded[i].imag() * (pow(2, QUANT_BITS_LOCAL_CODE - 1) - 1) / max))); | ||||||
|                 } |                 } | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @@ -143,7 +144,7 @@ GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga( | |||||||
|     acq_parameters.all_fft_codes = d_all_fft_codes_; |     acq_parameters.all_fft_codes = d_all_fft_codes_; | ||||||
|  |  | ||||||
|     // reference for the FPGA FFT-IFFT attenuation factor |     // reference for the FPGA FFT-IFFT attenuation factor | ||||||
|     acq_parameters.total_block_exp = configuration_->property(role + ".total_block_exp", 14); |     acq_parameters.total_block_exp = configuration_->property(role + ".total_block_exp", 10); | ||||||
|  |  | ||||||
|     acq_parameters.num_doppler_bins_step2 = configuration_->property(role + ".second_nbins", 4); |     acq_parameters.num_doppler_bins_step2 = configuration_->property(role + ".second_nbins", 4); | ||||||
|     acq_parameters.doppler_step2 = configuration_->property(role + ".second_doppler_step", 125.0); |     acq_parameters.doppler_step2 = configuration_->property(role + ".second_doppler_step", 125.0); | ||||||
|   | |||||||
| @@ -48,6 +48,7 @@ | |||||||
| #include <cstring>  // for memcpy | #include <cstring>  // for memcpy | ||||||
|  |  | ||||||
| #define NUM_PRNs 32 | #define NUM_PRNs 32 | ||||||
|  | #define QUANT_BITS_LOCAL_CODE 10 | ||||||
|  |  | ||||||
|  |  | ||||||
| GpsL5iPcpsAcquisitionFpga::GpsL5iPcpsAcquisitionFpga( | GpsL5iPcpsAcquisitionFpga::GpsL5iPcpsAcquisitionFpga( | ||||||
| @@ -93,7 +94,7 @@ GpsL5iPcpsAcquisitionFpga::GpsL5iPcpsAcquisitionFpga( | |||||||
|     acq_parameters.samples_per_ms = nsamples_total / sampled_ms; |     acq_parameters.samples_per_ms = nsamples_total / sampled_ms; | ||||||
|     acq_parameters.samples_per_code = nsamples_total; |     acq_parameters.samples_per_code = nsamples_total; | ||||||
|  |  | ||||||
|     acq_parameters.excludelimit = static_cast<uint32_t>(ceil((1.0 / GPS_L5I_CODE_RATE_HZ) * static_cast<float>(acq_parameters.fs_in))); |     acq_parameters.excludelimit = static_cast<unsigned int>(1 + ceil((1.0 / GPS_L5I_CODE_RATE_HZ) * static_cast<float>(fs_in))); | ||||||
|  |  | ||||||
|     // compute all the GPS L5 PRN Codes (this is done only once upon the class constructor in order to avoid re-computing the PRN codes every time |     // compute all the GPS L5 PRN Codes (this is done only once upon the class constructor in order to avoid re-computing the PRN codes every time | ||||||
|     // a channel is assigned) |     // a channel is assigned) | ||||||
| @@ -135,15 +136,15 @@ GpsL5iPcpsAcquisitionFpga::GpsL5iPcpsAcquisitionFpga( | |||||||
|                 } |                 } | ||||||
|             for (uint32_t i = 0; i < nsamples_total; i++)  // map the FFT to the dynamic range of the fixed point values an copy to buffer containing all FFTs |             for (uint32_t i = 0; i < nsamples_total; i++)  // map the FFT to the dynamic range of the fixed point values an copy to buffer containing all FFTs | ||||||
|                 { |                 { | ||||||
|                     d_all_fft_codes_[i + nsamples_total * (PRN - 1)] = lv_16sc_t(static_cast<int32_t>(floor(fft_codes_padded[i].real() * (pow(2, 9) - 1) / max)), |                     d_all_fft_codes_[i + nsamples_total * (PRN - 1)] = lv_16sc_t(static_cast<int32_t>(floor(fft_codes_padded[i].real() * (pow(2, QUANT_BITS_LOCAL_CODE - 1) - 1) / max)), | ||||||
|                         static_cast<int32_t>(floor(fft_codes_padded[i].imag() * (pow(2, 9) - 1) / max))); |                         static_cast<int32_t>(floor(fft_codes_padded[i].imag() * (pow(2, QUANT_BITS_LOCAL_CODE - 1) - 1) / max))); | ||||||
|                 } |                 } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|     acq_parameters.all_fft_codes = d_all_fft_codes_; |     acq_parameters.all_fft_codes = d_all_fft_codes_; | ||||||
|  |  | ||||||
|     // reference for the FPGA FFT-IFFT attenuation factor |     // reference for the FPGA FFT-IFFT attenuation factor | ||||||
|     acq_parameters.total_block_exp = configuration_->property(role + ".total_block_exp", 14); |     acq_parameters.total_block_exp = configuration_->property(role + ".total_block_exp", 12); | ||||||
|  |  | ||||||
|     acq_parameters.num_doppler_bins_step2 = configuration_->property(role + ".second_nbins", 4); |     acq_parameters.num_doppler_bins_step2 = configuration_->property(role + ".second_nbins", 4); | ||||||
|     acq_parameters.doppler_step2 = configuration_->property(role + ".second_doppler_step", 125.0); |     acq_parameters.doppler_step2 = configuration_->property(role + ".second_doppler_step", 125.0); | ||||||
|   | |||||||
| @@ -308,26 +308,7 @@ void pcps_acquisition_fpga::set_active(bool active) | |||||||
|         } |         } | ||||||
|  |  | ||||||
|  |  | ||||||
|     //    if (d_test_statistics > d_threshold) |  | ||||||
|     //        { |  | ||||||
|     //            //            if (!d_make_2_steps) |  | ||||||
|     //            //                { |  | ||||||
|     //            d_active = false; |  | ||||||
|     //            send_positive_acquisition(); |  | ||||||
|     //            d_state = 0;  // Positive acquisition |  | ||||||
|     //                          //                } |  | ||||||
|     //                          //            else |  | ||||||
|     //                          //                { |  | ||||||
|     //                          //                    d_doppler_center_step_two = static_cast<float>(d_gnss_synchro->Acq_doppler_hz); |  | ||||||
|     //                          //                    acquisition_core(d_num_doppler_bins_step2, d_doppler_step2, d_doppler_center_step_two - static_cast<float>(floor(d_num_doppler_bins_step2 / 2.0)) * d_doppler_step2); |  | ||||||
|     //                          //                } |  | ||||||
|     //        } |  | ||||||
|     //    else |  | ||||||
|     //        { |  | ||||||
|     //            d_state = 0; |  | ||||||
|     //            d_active = false; |  | ||||||
|     //            send_negative_acquisition(); |  | ||||||
|     //        } |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -46,7 +46,6 @@ | |||||||
|  |  | ||||||
| // FPGA register parameters | // FPGA register parameters | ||||||
| #define PAGE_SIZE 0x10000  // default page size for the multicorrelator memory map | #define PAGE_SIZE 0x10000  // default page size for the multicorrelator memory map | ||||||
| //#define MAX_PHASE_STEP_RAD 0.999999999534339  // 1 - pow(2,-31); |  | ||||||
| #define RESET_ACQUISITION 2                  // command to reset the multicorrelator | #define RESET_ACQUISITION 2                  // command to reset the multicorrelator | ||||||
| #define LAUNCH_ACQUISITION 1                 // command to launch the multicorrelator | #define LAUNCH_ACQUISITION 1                 // command to launch the multicorrelator | ||||||
| #define TEST_REG_SANITY_CHECK 0x55AA         // value to check the presence of the test register (to detect the hw) | #define TEST_REG_SANITY_CHECK 0x55AA         // value to check the presence of the test register (to detect the hw) | ||||||
| @@ -54,10 +53,6 @@ | |||||||
| #define MEM_LOCAL_CODE_WR_ENABLE 0x0C000000  // command to enable the ENA and WR pins of the internal memory of the multicorrelator | #define MEM_LOCAL_CODE_WR_ENABLE 0x0C000000  // command to enable the ENA and WR pins of the internal memory of the multicorrelator | ||||||
| #define POW_2_2 4                            // 2^2 (used for the conversion of floating point numbers to integers) | #define POW_2_2 4                            // 2^2 (used for the conversion of floating point numbers to integers) | ||||||
| #define POW_2_29 536870912                   // 2^29 (used for the conversion of floating point numbers to integers) | #define POW_2_29 536870912                   // 2^29 (used for the conversion of floating point numbers to integers) | ||||||
| #define SELECT_LSB 0x00FF                    // value to select the least significant byte |  | ||||||
| #define SELECT_MSB 0XFF00                    // value to select the most significant byte |  | ||||||
| #define SELECT_16_BITS 0xFFFF                // value to select 16 bits |  | ||||||
| #define SHL_8_BITS 256                       // value used to shift a value 8 bits to the left |  | ||||||
| #define SELECT_LSBits 0x000003FF             // Select the 10 LSbits out of a 20-bit word | #define SELECT_LSBits 0x000003FF             // Select the 10 LSbits out of a 20-bit word | ||||||
| #define SELECT_MSBbits 0x000FFC00            // Select the 10 MSbits out of a 20-bit word | #define SELECT_MSBbits 0x000FFC00            // Select the 10 MSbits out of a 20-bit word | ||||||
| #define SELECT_ALL_CODE_BITS 0x000FFFFF      // Select a 20 bit word | #define SELECT_ALL_CODE_BITS 0x000FFFFF      // Select a 20 bit word | ||||||
| @@ -292,33 +287,6 @@ void Fpga_Acquisition::configure_acquisition() | |||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| //<<<<<<< HEAD |  | ||||||
| //void fpga_acquisition::read_acquisition_results(uint32_t *max_index, |  | ||||||
| //======= |  | ||||||
| //void Fpga_Acquisition::set_phase_step(uint32_t doppler_index) |  | ||||||
| //{ |  | ||||||
| //    float phase_step_rad_real; |  | ||||||
| //    float phase_step_rad_int_temp; |  | ||||||
| //    int32_t phase_step_rad_int; |  | ||||||
| //    int32_t doppler = -static_cast<int32_t>(d_doppler_max) + d_doppler_step * doppler_index; |  | ||||||
| //    float phase_step_rad = GPS_TWO_PI * (doppler) / static_cast<float>(d_fs_in); |  | ||||||
| //    // The doppler step can never be outside the range -pi to +pi, otherwise there would be aliasing |  | ||||||
| //    // The FPGA expects phase_step_rad between -1 (-pi) to +1 (+pi) |  | ||||||
| //    // The FPGA also expects the phase to be negative since it produces cos(x) -j*sin(x) |  | ||||||
| //    // while the gnss-sdr software (volk_gnsssdr_s32f_sincos_32fc) generates cos(x) + j*sin(x) |  | ||||||
| //    phase_step_rad_real = phase_step_rad / (GPS_TWO_PI / 2); |  | ||||||
| //    // avoid saturation of the fixed point representation in the fpga |  | ||||||
| //    // (only the positive value can saturate due to the 2's complement representation) |  | ||||||
| //    if (phase_step_rad_real >= 1.0) |  | ||||||
| //        { |  | ||||||
| //            phase_step_rad_real = MAX_PHASE_STEP_RAD; |  | ||||||
| //        } |  | ||||||
| //    phase_step_rad_int_temp = phase_step_rad_real * POW_2_2;                          // * 2^2 |  | ||||||
| //    phase_step_rad_int = static_cast<int32_t>(phase_step_rad_int_temp * (POW_2_29));  // * 2^29 (in total it makes x2^31 in two steps to avoid the warnings |  | ||||||
| //    d_map_base[3] = phase_step_rad_int; |  | ||||||
| //} |  | ||||||
| //>>>>>>> b409f1c15efdd3c80fde680f4b5b966a1c18467b |  | ||||||
|  |  | ||||||
| void Fpga_Acquisition::read_acquisition_results(uint32_t *max_index, | void Fpga_Acquisition::read_acquisition_results(uint32_t *max_index, | ||||||
|     float *firstpeak, float *secondpeak, uint64_t *initial_sample, float *power_sum, uint32_t *doppler_index, uint32_t *total_blk_exp) |     float *firstpeak, float *secondpeak, uint64_t *initial_sample, float *power_sum, uint32_t *doppler_index, uint32_t *total_blk_exp) | ||||||
| { | { | ||||||
|   | |||||||
| @@ -53,10 +53,10 @@ Ad9361FpgaSignalSource::Ad9361FpgaSignalSource(ConfigurationInterface* configura | |||||||
|     std::string default_item_type = "gr_complex"; |     std::string default_item_type = "gr_complex"; | ||||||
|     std::string default_dump_file = "./data/signal_source.dat"; |     std::string default_dump_file = "./data/signal_source.dat"; | ||||||
|     freq_ = configuration->property(role + ".freq", GPS_L1_FREQ_HZ); |     freq_ = configuration->property(role + ".freq", GPS_L1_FREQ_HZ); | ||||||
|     sample_rate_ = configuration->property(role + ".sampling_frequency", 2600000); |     sample_rate_ = configuration->property(role + ".sampling_frequency", 12500000); | ||||||
|     bandwidth_ = configuration->property(role + ".bandwidth", 2000000); |     bandwidth_ = configuration->property(role + ".bandwidth", 12500000); | ||||||
|     rx1_en_ = configuration->property(role + ".rx1_enable", true); |     rx1_en_ = configuration->property(role + ".rx1_enable", true); | ||||||
|     rx2_en_ = configuration->property(role + ".rx2_enable", false); |     rx2_en_ = configuration->property(role + ".rx2_enable", true); | ||||||
|     buffer_size_ = configuration->property(role + ".buffer_size", 0xA0000); |     buffer_size_ = configuration->property(role + ".buffer_size", 0xA0000); | ||||||
|     quadrature_ = configuration->property(role + ".quadrature", true); |     quadrature_ = configuration->property(role + ".quadrature", true); | ||||||
|     rf_dc_ = configuration->property(role + ".rf_dc", true); |     rf_dc_ = configuration->property(role + ".rf_dc", true); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Marc Majoral
					Marc Majoral