mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-10-30 23:03:05 +00:00 
			
		
		
		
	Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into next
This commit is contained in:
		
							
								
								
									
										4
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
								
							| @@ -167,8 +167,8 @@ jobs: | ||||
|         run: sudo apt-get install python3-pip && sudo pip3 install cpplint | ||||
|       - name: run checks | ||||
|         run: "find ./src/ ./utils ./tests -iname *.h -o -iname *.cc | xargs cpplint | ||||
|           --filter=-,+build/class,+build/c++14,+build/deprecated,+build/explicit_make_pair,\ | ||||
|           +build/include_what_you_use,+build/printf_format,+build/storage_class,\ | ||||
|           --filter=-,+build/class,+build/deprecated,+build/explicit_make_pair,\ | ||||
|           +build/forward_decl,+build/printf_format,+build/storage_class,\ | ||||
|           +readability/constructors,+readability/namespace,+readability/newline,\ | ||||
|           +readability/utf8,+runtime/casting,+runtime/explicit,\ | ||||
|           +runtime/indentation_namespace,+runtime/init,+runtime/invalid_increment,\ | ||||
|   | ||||
| @@ -359,7 +359,7 @@ set(GNSSSDR_ABSEIL_MIN_VERSION "20240116") | ||||
| set(GNSSSDR_ARMADILLO_LOCAL_VERSION "14.0.x") | ||||
| set(GNSSSDR_GFLAGS_LOCAL_VERSION "2.2.2") | ||||
| set(GNSSSDR_GLOG_LOCAL_VERSION "0.7.1") | ||||
| set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.27") | ||||
| set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.28") | ||||
| set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "28.2") | ||||
| set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.14") | ||||
| set(GNSSSDR_GTEST_LOCAL_VERSION "1.15.2") | ||||
| @@ -1493,6 +1493,12 @@ if(NOT CMAKE_VERSION VERSION_LESS 3.24 | ||||
|     endif() | ||||
| endif() | ||||
|  | ||||
| # Workaround for Clang 18 | ||||
| if(absl_FOUND AND absl_VERSION AND ("${absl_VERSION}" VERSION_LESS "20240722")) | ||||
|     if((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "17.99")) | ||||
|         add_compile_options(-fclang-abi-compat=17) | ||||
|     endif() | ||||
| endif() | ||||
|  | ||||
| if(NOT absl_FOUND) | ||||
|     set(ENABLE_GLOG_AND_GFLAGS ON) | ||||
| @@ -2415,6 +2421,7 @@ if(NOT MATIO_FOUND OR MATIO_VERSION_STRING VERSION_LESS ${GNSSSDR_MATIO_MIN_VERS | ||||
|                 -DHDF5_USE_STATIC_LIBRARIES=OFF | ||||
|                 -DMATIO_DEFAULT_FILE_VERSION:STRING=7.3 | ||||
|                 -DMATIO_MAT73=ON | ||||
|                 -DMATIO_BUILD_TESTING=OFF | ||||
|                 -DCMAKE_INSTALL_PREFIX=${GNSSSDR_BINARY_DIR}/matio | ||||
|             BUILD_COMMAND ${CMAKE_COMMAND} | ||||
|                 "--build" "${GNSSSDR_BINARY_DIR}/matio" | ||||
| @@ -3268,10 +3275,15 @@ if(ENABLE_AD9361 OR ENABLE_FMCOMMS2 OR ENABLE_PLUTOSDR) | ||||
|         else() | ||||
|             message(FATAL_ERROR "libiio is required for building gnss-sdr with -DENABLE_AD9361=ON.") | ||||
|         endif() | ||||
|     else() | ||||
|         if(ENABLE_AD9361) | ||||
|             set(ENABLE_FPGA ON) | ||||
|         endif() | ||||
|     endif() | ||||
| endif() | ||||
|  | ||||
|  | ||||
|  | ||||
| ################################################################################ | ||||
| # ION GNSS-SDR Metadata Standard https://sdr.ion.org/ (OPTIONAL) | ||||
| ################################################################################ | ||||
| @@ -3327,6 +3339,7 @@ if(ENABLE_ION) | ||||
| endif() | ||||
|  | ||||
|  | ||||
|  | ||||
| ##################################################################### | ||||
| # Check signal sources related to FPGA only. | ||||
| ##################################################################### | ||||
| @@ -3368,6 +3381,7 @@ if(ENABLE_MAX2771) | ||||
|     file(GLOB_RECURSE SPIDEV_FILE "${TARGET_ROOTFS_PATH}/*/spidev.h") | ||||
|     if(EXISTS "${SPIDEV_FILE}") | ||||
|         message(STATUS "SPIdev driver found: ${SPIDEV_FILE}") | ||||
|         set(ENABLE_FPGA ON) | ||||
|     else() | ||||
|         message(STATUS "SPIdev driver not found, its installation is required.") | ||||
|         if(ENABLE_PACKAGING) | ||||
| @@ -3399,6 +3413,7 @@ if(ENABLE_DMA_PROXY) | ||||
|     file(GLOB_RECURSE DMA_PROXY_FILE "${TARGET_ROOTFS_PATH}/*/dma-proxy.ko") | ||||
|     if(EXISTS "${DMA_PROXY_FILE}") | ||||
|         message(STATUS "Found dma-proxy.ko file: ${DMA_PROXY_FILE}") | ||||
|         set(ENABLE_FPGA ON) | ||||
|     else() | ||||
|         if(ENABLE_PACKAGING) | ||||
|             set(ENABLE_DMA_PROXY OFF) | ||||
|   | ||||
							
								
								
									
										10
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								README.md
									
									
									
									
									
								
							| @@ -1070,7 +1070,7 @@ You can use a single configuration file for processing different data files, | ||||
| specifying the file to be processed with the `--signal_source` flag: | ||||
|  | ||||
| ``` | ||||
| $ gnss-sdr --config_file=../conf/my_receiver.conf --signal_source=../data/my_captured_data.dat | ||||
| $ gnss-sdr --config_file=../conf/my_receiver.conf --signal_source=./my_captured_data.dat | ||||
| ``` | ||||
|  | ||||
| This will override the `SignalSource.filename` specified in the configuration | ||||
| @@ -1455,7 +1455,7 @@ SignalSource.port=1234 | ||||
| SignalSource.swap_iq=false | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
| ``` | ||||
|  | ||||
| Example for a dual-frequency receiver: | ||||
| @@ -1549,7 +1549,7 @@ The block can be configured like this: | ||||
| ;#[Freq_Xlating_Fir_Filter] enables FIR filter and a composite frequency translation that shifts IF down to zero Hz. | ||||
| InputFilter.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter.dump=false ; #dump: Dump the filtered data to a file. | ||||
| InputFilter.dump_filename=../data/input_filter.dat ; #dump_filename: Log path and filename. | ||||
| InputFilter.dump_filename=./input_filter.dat ; #dump_filename: Log path and filename. | ||||
| InputFilter.input_item_type=gr_complex | ||||
| InputFilter.output_item_type=gr_complex | ||||
| InputFilter.taps_item_type=float | ||||
| @@ -1602,7 +1602,7 @@ implements a nearest neighbourhood interpolation: | ||||
| ;#[Pass_Through] disables this block | ||||
| Resampler.implementation=Direct_Resampler | ||||
| Resampler.dump=false ; Dumps the resampled data to a file. | ||||
| Resampler.dump_filename=../data/resampler.dat ; log path and filename. | ||||
| Resampler.dump_filename=./resampler.dat ; log path and filename. | ||||
| Resampler.item_type=gr_complex | ||||
| Resampler.sample_freq_in=8000000 ; sample frequency of the input signal | ||||
| Resampler.sample_freq_out=4000000 ; desired sample frequency of the output signal | ||||
| @@ -1830,7 +1830,7 @@ Tracking_1B.dll_filter_order=2 ; DLL loop filter order [1], [2] or [3] | ||||
| Tracking_1B.early_late_space_chips=0.15; | ||||
| Tracking_1B.very_early_late_space_chips=0.6; | ||||
| Tracking_1B.dump=false | ||||
| Tracking_1B.dump_filename=../data/veml_tracking_ch_ | ||||
| Tracking_1B.dump_filename=./veml_tracking_ch_ | ||||
| ``` | ||||
|  | ||||
| More documentation at the | ||||
|   | ||||
| @@ -39,7 +39,7 @@ Acquisition_1C.pfa=0.01 | ||||
| Acquisition_1C.doppler_max=10000 | ||||
| Acquisition_1C.doppler_step=250 | ||||
| Acquisition_1C.dump=false | ||||
| Acquisition_1C.dump_filename=../data/kalman/acq_dump | ||||
| Acquisition_1C.dump_filename=./kalman/acq_dump | ||||
|  | ||||
| ;######### TRACKING GLOBAL CONFIG ############ | ||||
| Tracking_1C.implementation=GPS_L1_CA_Gaussian_Tracking | ||||
| @@ -48,7 +48,7 @@ Tracking_1C.pll_bw_hz=40.0; | ||||
| Tracking_1C.dll_bw_hz=4.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.dump=true | ||||
| Tracking_1C.dump_filename=../data/kalman/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./kalman/epl_tracking_ch_ | ||||
| Tracking_1C.bce_run = true; | ||||
| Tracking_1C.p_transient = 0; | ||||
| Tracking_1C.s_transient = 100; | ||||
|   | ||||
| @@ -34,7 +34,7 @@ DataTypeAdapter.item_type=float | ||||
| ;######### INPUT_FILTER CONFIG ############ | ||||
| InputFilter.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
| InputFilter.input_item_type=float | ||||
| InputFilter.output_item_type=gr_complex | ||||
| InputFilter.taps_item_type=float | ||||
| @@ -64,7 +64,7 @@ Resampler.item_type=gr_complex | ||||
| Resampler.sample_freq_in=80000000 | ||||
| Resampler.sample_freq_out=4000000 | ||||
| Resampler.dump=false | ||||
| Resampler.dump_filename=../data/resampler.dat | ||||
| Resampler.dump_filename=./resampler.dat | ||||
|  | ||||
|  | ||||
| ;######### CHANNELS GLOBAL CONFIG ############ | ||||
| @@ -107,7 +107,7 @@ Tracking_1C.item_type=gr_complex | ||||
| Tracking_1C.pll_bw_hz=20.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER GPS CONFIG ############ | ||||
|   | ||||
| @@ -30,14 +30,14 @@ SignalConditioner.implementation=Signal_Conditioner | ||||
| ;######### DATA_TYPE_ADAPTER CONFIG ############ | ||||
| DataTypeAdapter.implementation=Ishort_To_Complex | ||||
| DataTypeAdapter.dump=false | ||||
| DataTypeAdapter.dump_filename=../data/data_type_adapter.dat | ||||
| DataTypeAdapter.dump_filename=./data_type_adapter.dat | ||||
|  | ||||
| ;######### INPUT_FILTER CONFIG ############ | ||||
| InputFilter.implementation=Pass_Through | ||||
| InputFilter.input_item_type=gr_complex | ||||
| InputFilter.output_item_type=gr_complex | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
|  | ||||
|  | ||||
| ;######### RESAMPLER CONFIG ############ | ||||
| @@ -46,7 +46,7 @@ Resampler.item_type=gr_complex | ||||
| Resampler.sample_freq_in=4000000 | ||||
| Resampler.sample_freq_out=4000000 | ||||
| Resampler.dump=false | ||||
| Resampler.dump_filename=../data/resampler.dat | ||||
| Resampler.dump_filename=./resampler.dat | ||||
|  | ||||
|  | ||||
| ;######### CHANNELS GLOBAL CONFIG ############ | ||||
|   | ||||
| @@ -30,7 +30,7 @@ SignalConditioner.implementation=Signal_Conditioner | ||||
|  | ||||
| DataTypeAdapter.implementation=Ishort_To_Complex | ||||
| DataTypeAdapter.dump=false | ||||
| DataTypeAdapter.dump_filename=../data/DataTypeAdapter.dat | ||||
| DataTypeAdapter.dump_filename=./DataTypeAdapter.dat | ||||
|  | ||||
| InputFilter.implementation=Pass_Through | ||||
| InputFilter.input_item_type=gr_complex | ||||
| @@ -67,7 +67,7 @@ Tracking_1C.pll_bw_hz=40.0; | ||||
| Tracking_1C.dll_bw_hz=4.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_c | ||||
| Tracking_1C.dump_filename=./epl_tracking_c | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER GPS CONFIG ############ | ||||
|   | ||||
| @@ -24,7 +24,7 @@ SignalSource.sampling_frequency=4000000 | ||||
| SignalSource.samples=0 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
| SignalSource.enable_throttle_control=false | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -51,7 +51,7 @@ DataTypeAdapter0.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter0.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter0.dump=false | ||||
| InputFilter0.dump_filename=../data/input_filter.dat | ||||
| InputFilter0.dump_filename=./input_filter.dat | ||||
| InputFilter0.input_item_type=gr_complex | ||||
| InputFilter0.output_item_type=gr_complex | ||||
| InputFilter0.taps_item_type=float | ||||
| @@ -86,7 +86,7 @@ DataTypeAdapter1.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 1 CONFIG ############ | ||||
| InputFilter1.implementation=Pass_Through | ||||
| InputFilter1.dump=false | ||||
| InputFilter1.dump_filename=../data/input_filter.dat | ||||
| InputFilter1.dump_filename=./input_filter.dat | ||||
| InputFilter1.input_item_type=gr_complex | ||||
| InputFilter1.output_item_type=gr_complex | ||||
|  | ||||
| @@ -103,7 +103,7 @@ DataTypeAdapter2.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 2 CONFIG ############ | ||||
| InputFilter2.implementation=Pass_Through | ||||
| InputFilter2.dump=false | ||||
| InputFilter2.dump_filename=../data/input_filter.dat | ||||
| InputFilter2.dump_filename=./input_filter.dat | ||||
| InputFilter2.input_item_type=gr_complex | ||||
| InputFilter2.output_item_type=gr_complex | ||||
|  | ||||
| @@ -153,7 +153,7 @@ Tracking_1C.dll_bw_narrow_hz=2.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.early_late_space_chips=0.5; | ||||
| Tracking_1C.dump=true | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER GPS CONFIG ############ | ||||
|   | ||||
| @@ -50,7 +50,7 @@ DataTypeAdapter0.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter0.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter0.dump=false | ||||
| InputFilter0.dump_filename=../data/input_filter.dat | ||||
| InputFilter0.dump_filename=./input_filter.dat | ||||
| InputFilter0.input_item_type=gr_complex | ||||
| InputFilter0.output_item_type=gr_complex | ||||
| InputFilter0.taps_item_type=float | ||||
| @@ -85,7 +85,7 @@ DataTypeAdapter1.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 1 CONFIG ############ | ||||
| InputFilter1.implementation=Pass_Through | ||||
| InputFilter1.dump=false | ||||
| InputFilter1.dump_filename=../data/input_filter.dat | ||||
| InputFilter1.dump_filename=./input_filter.dat | ||||
| InputFilter1.input_item_type=gr_complex | ||||
| InputFilter1.output_item_type=gr_complex | ||||
|  | ||||
| @@ -102,7 +102,7 @@ DataTypeAdapter2.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 2 CONFIG ############ | ||||
| InputFilter2.implementation=Pass_Through | ||||
| InputFilter2.dump=false | ||||
| InputFilter2.dump_filename=../data/input_filter.dat | ||||
| InputFilter2.dump_filename=./input_filter.dat | ||||
| InputFilter2.input_item_type=gr_complex | ||||
| InputFilter2.output_item_type=gr_complex | ||||
|  | ||||
|   | ||||
| @@ -51,7 +51,7 @@ DataTypeAdapter0.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter0.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter0.dump=false | ||||
| InputFilter0.dump_filename=../data/input_filter.dat | ||||
| InputFilter0.dump_filename=./input_filter.dat | ||||
| InputFilter0.input_item_type=gr_complex | ||||
| InputFilter0.output_item_type=gr_complex | ||||
| InputFilter0.taps_item_type=float | ||||
| @@ -85,7 +85,7 @@ DataTypeAdapter1.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 1 CONFIG ############ | ||||
| InputFilter1.implementation=Pass_Through | ||||
| InputFilter1.dump=false | ||||
| InputFilter1.dump_filename=../data/input_filter.dat | ||||
| InputFilter1.dump_filename=./input_filter.dat | ||||
| InputFilter1.input_item_type=gr_complex | ||||
| InputFilter1.output_item_type=gr_complex | ||||
|  | ||||
| @@ -102,7 +102,7 @@ DataTypeAdapter2.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 2 CONFIG ############ | ||||
| InputFilter2.implementation=Pass_Through | ||||
| InputFilter2.dump=false | ||||
| InputFilter2.dump_filename=../data/input_filter.dat | ||||
| InputFilter2.dump_filename=./input_filter.dat | ||||
| InputFilter2.input_item_type=gr_complex | ||||
| InputFilter2.output_item_type=gr_complex | ||||
|  | ||||
|   | ||||
| @@ -50,7 +50,7 @@ DataTypeAdapter0.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter0.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter0.dump=false | ||||
| InputFilter0.dump_filename=../data/input_filter.dat | ||||
| InputFilter0.dump_filename=./input_filter.dat | ||||
| InputFilter0.input_item_type=gr_complex | ||||
| InputFilter0.output_item_type=gr_complex | ||||
| InputFilter0.taps_item_type=float | ||||
| @@ -85,7 +85,7 @@ DataTypeAdapter1.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 1 CONFIG ############ | ||||
| InputFilter1.implementation=Pass_Through | ||||
| InputFilter1.dump=false | ||||
| InputFilter1.dump_filename=../data/input_filter.dat | ||||
| InputFilter1.dump_filename=./input_filter.dat | ||||
| InputFilter1.input_item_type=gr_complex | ||||
| InputFilter1.output_item_type=gr_complex | ||||
|  | ||||
| @@ -102,7 +102,7 @@ DataTypeAdapter2.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 2 CONFIG ############ | ||||
| InputFilter2.implementation=Pass_Through | ||||
| InputFilter2.dump=false | ||||
| InputFilter2.dump_filename=../data/input_filter.dat | ||||
| InputFilter2.dump_filename=./input_filter.dat | ||||
| InputFilter2.input_item_type=gr_complex | ||||
| InputFilter2.output_item_type=gr_complex | ||||
|  | ||||
|   | ||||
| @@ -50,7 +50,7 @@ DataTypeAdapter0.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter0.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter0.dump=false | ||||
| InputFilter0.dump_filename=../data/input_filter.dat | ||||
| InputFilter0.dump_filename=./input_filter.dat | ||||
| InputFilter0.input_item_type=gr_complex | ||||
| InputFilter0.output_item_type=gr_complex | ||||
| InputFilter0.taps_item_type=float | ||||
| @@ -85,7 +85,7 @@ DataTypeAdapter1.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 1 CONFIG ############ | ||||
| InputFilter1.implementation=Pass_Through | ||||
| InputFilter1.dump=false | ||||
| InputFilter1.dump_filename=../data/input_filter.dat | ||||
| InputFilter1.dump_filename=./input_filter.dat | ||||
| InputFilter1.input_item_type=gr_complex | ||||
| InputFilter1.output_item_type=gr_complex | ||||
|  | ||||
| @@ -102,7 +102,7 @@ DataTypeAdapter2.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 2 CONFIG ############ | ||||
| InputFilter2.implementation=Pass_Through | ||||
| InputFilter2.dump=false | ||||
| InputFilter2.dump_filename=../data/input_filter.dat | ||||
| InputFilter2.dump_filename=./input_filter.dat | ||||
| InputFilter2.input_item_type=gr_complex | ||||
| InputFilter2.output_item_type=gr_complex | ||||
|  | ||||
|   | ||||
| @@ -54,7 +54,7 @@ DataTypeAdapter0.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter0.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter0.dump=false | ||||
| InputFilter0.dump_filename=../data/input_filter.dat | ||||
| InputFilter0.dump_filename=./input_filter.dat | ||||
| InputFilter0.input_item_type=gr_complex | ||||
| InputFilter0.output_item_type=gr_complex | ||||
| InputFilter0.taps_item_type=float | ||||
| @@ -93,7 +93,7 @@ DataTypeAdapter1.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter1.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter1.dump=false | ||||
| InputFilter1.dump_filename=../data/input_filter_ch1.dat | ||||
| InputFilter1.dump_filename=./input_filter_ch1.dat | ||||
| InputFilter1.input_item_type=gr_complex | ||||
| InputFilter1.output_item_type=gr_complex | ||||
| InputFilter1.taps_item_type=float | ||||
| @@ -129,7 +129,7 @@ DataTypeAdapter2.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 2 CONFIG ############ | ||||
| InputFilter2.implementation=Pass_Through | ||||
| InputFilter2.dump=false | ||||
| InputFilter2.dump_filename=../data/input_filter.dat | ||||
| InputFilter2.dump_filename=./input_filter.dat | ||||
| InputFilter2.input_item_type=gr_complex | ||||
| InputFilter2.output_item_type=gr_complex | ||||
|  | ||||
|   | ||||
| @@ -56,7 +56,7 @@ DataTypeAdapter0.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter0.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter0.dump=false | ||||
| InputFilter0.dump_filename=../data/input_filter.dat | ||||
| InputFilter0.dump_filename=./input_filter.dat | ||||
| InputFilter0.input_item_type=gr_complex | ||||
| InputFilter0.output_item_type=gr_complex | ||||
| InputFilter0.taps_item_type=float | ||||
| @@ -95,7 +95,7 @@ DataTypeAdapter1.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter1.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter1.dump=false | ||||
| InputFilter1.dump_filename=../data/input_filter_ch1.dat | ||||
| InputFilter1.dump_filename=./input_filter_ch1.dat | ||||
| InputFilter1.input_item_type=gr_complex | ||||
| InputFilter1.output_item_type=gr_complex | ||||
| InputFilter1.taps_item_type=float | ||||
| @@ -131,7 +131,7 @@ DataTypeAdapter2.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 2 CONFIG ############ | ||||
| InputFilter2.implementation=Pass_Through | ||||
| InputFilter2.dump=false | ||||
| InputFilter2.dump_filename=../data/input_filter.dat | ||||
| InputFilter2.dump_filename=./input_filter.dat | ||||
| InputFilter2.input_item_type=gr_complex | ||||
| InputFilter2.output_item_type=gr_complex | ||||
|  | ||||
| @@ -190,7 +190,7 @@ Acquisition_1C.dump_filename=./acq_dump.dat | ||||
| Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking | ||||
| Tracking_1C.item_type=gr_complex | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
| Tracking_1C.pll_bw_hz=40.0; | ||||
| Tracking_1C.dll_bw_hz=1.5; | ||||
| Tracking_1C.order=3; | ||||
| @@ -215,7 +215,7 @@ Tracking_2S.dll_bw_hz=0.3; | ||||
| Tracking_2S.order=3; | ||||
| Tracking_2S.early_late_space_chips=0.5; | ||||
| Tracking_2S.dump=true | ||||
| Tracking_2S.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_2S.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;# GALILEO E1B | ||||
|   | ||||
| @@ -56,7 +56,7 @@ DataTypeAdapter0.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter0.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter0.dump=false | ||||
| InputFilter0.dump_filename=../data/input_filter_ch0.dat | ||||
| InputFilter0.dump_filename=./input_filter_ch0.dat | ||||
| InputFilter0.input_item_type=gr_complex | ||||
| InputFilter0.output_item_type=gr_complex | ||||
| InputFilter0.taps_item_type=float | ||||
| @@ -95,7 +95,7 @@ DataTypeAdapter1.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter1.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter1.dump=false | ||||
| InputFilter1.dump_filename=../data/input_filter_ch1.dat | ||||
| InputFilter1.dump_filename=./input_filter_ch1.dat | ||||
| InputFilter1.input_item_type=gr_complex | ||||
| InputFilter1.output_item_type=gr_complex | ||||
| InputFilter1.taps_item_type=float | ||||
| @@ -136,7 +136,7 @@ DataTypeAdapter2.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 2 CONFIG ############ | ||||
| InputFilter2.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter2.dump=false | ||||
| InputFilter2.dump_filename=../data/input_filter_ch2.dat | ||||
| InputFilter2.dump_filename=./input_filter_ch2.dat | ||||
| InputFilter2.input_item_type=gr_complex | ||||
| InputFilter2.output_item_type=gr_complex | ||||
| InputFilter2.taps_item_type=float | ||||
| @@ -286,7 +286,7 @@ Tracking_1C.dll_bw_hz=3.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.early_late_space_chips=0.5; | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### GALILEO E1 TRK CONFIG ############ | ||||
| @@ -298,7 +298,7 @@ Tracking_1B.order=3; | ||||
| Tracking_1B.early_late_space_chips=0.15; | ||||
| Tracking_1B.very_early_late_space_chips=0.6; | ||||
| Tracking_1B.dump=false | ||||
| Tracking_1B.dump_filename=../data/veml_tracking_ch_ | ||||
| Tracking_1B.dump_filename=./veml_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### GPS L2C GENERIC TRACKING CONFIG ############ | ||||
|   | ||||
| @@ -56,7 +56,7 @@ DataTypeAdapter0.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter0.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter0.dump=false | ||||
| InputFilter0.dump_filename=../data/input_filter_ch0.dat | ||||
| InputFilter0.dump_filename=./input_filter_ch0.dat | ||||
| InputFilter0.input_item_type=gr_complex | ||||
| InputFilter0.output_item_type=gr_complex | ||||
| InputFilter0.taps_item_type=float | ||||
| @@ -94,7 +94,7 @@ DataTypeAdapter1.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter1.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter1.dump=false | ||||
| InputFilter1.dump_filename=../data/input_filter_ch1.dat | ||||
| InputFilter1.dump_filename=./input_filter_ch1.dat | ||||
| InputFilter1.input_item_type=gr_complex | ||||
| InputFilter1.output_item_type=gr_complex | ||||
| InputFilter1.taps_item_type=float | ||||
| @@ -130,7 +130,7 @@ DataTypeAdapter2.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 2 CONFIG ############ | ||||
| InputFilter2.implementation=Pass_Through | ||||
| InputFilter2.dump=false | ||||
| InputFilter2.dump_filename=../data/input_filter.dat | ||||
| InputFilter2.dump_filename=./input_filter.dat | ||||
| InputFilter2.input_item_type=gr_complex | ||||
| InputFilter2.output_item_type=gr_complex | ||||
|  | ||||
| @@ -212,7 +212,7 @@ Tracking_1C.dll_bw_hz=3.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.early_late_space_chips=0.5; | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### GPS L2C GENERIC TRACKING CONFIG ############ | ||||
|   | ||||
| @@ -30,7 +30,7 @@ SignalConditioner.implementation=Signal_Conditioner | ||||
| ;######### DATA_TYPE_ADAPTER CONFIG ############ | ||||
| DataTypeAdapter.implementation=Ishort_To_Complex | ||||
| DataTypeAdapter.dump=false | ||||
| DataTypeAdapter.dump_filename=../data/data_type_adapter.dat | ||||
| DataTypeAdapter.dump_filename=./data_type_adapter.dat | ||||
|  | ||||
| ;######### INPUT_FILTER CONFIG ############ | ||||
| InputFilter.implementation=Pass_Through | ||||
| @@ -39,7 +39,7 @@ InputFilter.implementation=Pass_Through | ||||
| ;######### RESAMPLER CONFIG ############ | ||||
| Resampler.implementation=Pass_Through | ||||
| Resampler.dump=false | ||||
| Resampler.dump_filename=../data/resampler.dat | ||||
| Resampler.dump_filename=./resampler.dat | ||||
| Resampler.item_type=gr_complex | ||||
|  | ||||
|  | ||||
| @@ -70,7 +70,7 @@ Tracking_1B.order=3; | ||||
| Tracking_1B.early_late_space_chips=0.15; | ||||
| Tracking_1B.very_early_late_space_chips=0.6; | ||||
| Tracking_1B.dump=false | ||||
| Tracking_1B.dump_filename=../data/veml_tracking_ch_ | ||||
| Tracking_1B.dump_filename=./veml_tracking_ch_ | ||||
|  | ||||
| ;######### TELEMETRY DECODER CONFIG ############ | ||||
| TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder | ||||
|   | ||||
| @@ -41,7 +41,7 @@ Resampler.item_type=gr_complex | ||||
| Resampler.sample_freq_in=4000000 | ||||
| Resampler.sample_freq_out=4000000 | ||||
| Resampler.dump=false | ||||
| Resampler.dump_filename=../data/resampler.dat | ||||
| Resampler.dump_filename=./resampler.dat | ||||
|  | ||||
|  | ||||
| ;######### CHANNELS GLOBAL CONFIG ############ | ||||
| @@ -75,7 +75,7 @@ Tracking_1B.early_late_space_chips=0.15; | ||||
| Tracking_1B.very_early_late_space_chips=0.6; | ||||
| Tracking_1B.track_pilot=true | ||||
| Tracking_1B.dump=false | ||||
| Tracking_1B.dump_filename=../data/veml_tracking_ch_ | ||||
| Tracking_1B.dump_filename=./veml_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER CONFIG ############ | ||||
|   | ||||
| @@ -25,7 +25,7 @@ SignalSource.sampling_frequency=20480000 | ||||
| SignalSource.samples=0 ; 0 means the entire file | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
| SignalSource.enable_throttle_control=false | ||||
|  | ||||
|  | ||||
| @@ -62,7 +62,7 @@ InputFilter.sampling_frequency=20480000 | ||||
| InputFilter.IF=5499998.47412109 | ||||
| InputFilter.decimation_factor=8 | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
|  | ||||
|  | ||||
| ;######### RESAMPLER CONFIG ############ | ||||
| @@ -96,7 +96,7 @@ Tracking_1B.order=3; | ||||
| Tracking_1B.early_late_space_chips=0.15; | ||||
| Tracking_1B.very_early_late_space_chips=0.6; | ||||
| Tracking_1B.dump=false | ||||
| Tracking_1B.dump_filename=../data/veml_tracking_ch_ | ||||
| Tracking_1B.dump_filename=./veml_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER CONFIG ############ | ||||
|   | ||||
| @@ -35,7 +35,7 @@ SignalSource.sampling_frequency=50000000 | ||||
| SignalSource.samples=0 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
| SignalSource.enable_throttle_control=false | ||||
|  | ||||
|  | ||||
| @@ -68,13 +68,13 @@ InputFilter.sampling_frequency=50000000 | ||||
| InputFilter.IF=-15345000 | ||||
| InputFilter.decimation_factor=1 | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
|  | ||||
|  | ||||
| ;######### RESAMPLER CONFIG ############ | ||||
| Resampler.implementation=Pass_Through | ||||
| Resampler.dump=false | ||||
| Resampler.dump_filename=../data/resampler.dat | ||||
| Resampler.dump_filename=./resampler.dat | ||||
|  | ||||
|  | ||||
| ;######### CHANNELS GLOBAL CONFIG ############ | ||||
|   | ||||
| @@ -81,7 +81,7 @@ Acquisition_1B.doppler_max=5000 | ||||
| Acquisition_1B.doppler_step=125 | ||||
| Acquisition_1B.bit_transition_flag=true | ||||
| Acquisition_1B.dump=false | ||||
| Acquisition_1B.dump_filename=../data/acq_dump.dat | ||||
| Acquisition_1B.dump_filename=./acq_dump.dat | ||||
|  | ||||
|  | ||||
| ;######### TRACKING GPS CONFIG ############ | ||||
| @@ -91,7 +91,7 @@ Tracking_1C.pll_bw_hz=30.0; | ||||
| Tracking_1C.dll_bw_hz=2.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TRACKING GALILEO CONFIG ############ | ||||
| @@ -109,7 +109,7 @@ Tracking_1B.very_early_late_space_chips=0.6; | ||||
| Tracking_1B.early_late_space_narrow_chips=0.06; | ||||
| Tracking_1B.very_early_late_space_narrow_chips=0.25; | ||||
| Tracking_1B.dump=false | ||||
| Tracking_1B.dump_filename=../data/veml_tracking_ch_ | ||||
| Tracking_1B.dump_filename=./veml_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER GPS CONFIG ############ | ||||
|   | ||||
| @@ -25,7 +25,7 @@ SignalSource.sampling_frequency=16368000 | ||||
| SignalSource.samples=0 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
| SignalSource.enable_throttle_control=false | ||||
|  | ||||
|  | ||||
| @@ -39,7 +39,7 @@ DataTypeAdapter.item_type=gr_complex | ||||
| ;######### INPUT_FILTER CONFIG ############ | ||||
| InputFilter.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
|  | ||||
| InputFilter.input_item_type=gr_complex | ||||
| InputFilter.output_item_type=gr_complex | ||||
| @@ -110,7 +110,7 @@ Acquisition_1B.doppler_max=5000 | ||||
| Acquisition_1B.doppler_step=125 | ||||
| Acquisition_1B.bit_transition_flag=true | ||||
| Acquisition_1B.dump=false | ||||
| Acquisition_1B.dump_filename=../data/acq_dump.dat | ||||
| Acquisition_1B.dump_filename=./acq_dump.dat | ||||
|  | ||||
|  | ||||
| ;######### TRACKING GPS CONFIG ############ | ||||
| @@ -120,7 +120,7 @@ Tracking_1C.pll_bw_hz=40.0; | ||||
| Tracking_1C.dll_bw_hz=2.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
| ;######### TRACKING GALILEO CONFIG ############ | ||||
| Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking | ||||
| @@ -137,7 +137,7 @@ Tracking_1B.very_early_late_space_chips=0.6; | ||||
| Tracking_1B.early_late_space_narrow_chips=0.15; | ||||
| Tracking_1B.very_early_late_space_narrow_chips=0.30; | ||||
| Tracking_1B.dump=false | ||||
| Tracking_1B.dump_filename=../data/veml_tracking_ch_ | ||||
| Tracking_1B.dump_filename=./veml_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER GPS CONFIG ############ | ||||
|   | ||||
| @@ -11,7 +11,7 @@ GNSS-SDR.num_sources=2 | ||||
|  | ||||
| ;######### SIGNAL_SOURCE CONFIG ############ | ||||
| SignalSource0.implementation=File_Signal_Source | ||||
| SignalSource0.filename=../data/NT1065_L1_20160923_fs6625e6_if60e3_schar.bin ; <- PUT YOUR FILE HERE | ||||
| SignalSource0.filename=./NT1065_L1_20160923_fs6625e6_if60e3_schar.bin ; <- PUT YOUR FILE HERE | ||||
| SignalSource0.item_type=ibyte | ||||
| SignalSource0.sampling_frequency=6625000 | ||||
| SignalSource0.samples=0 | ||||
| @@ -19,7 +19,7 @@ SignalSource0.dump=false; | ||||
| SignalSource0.dump_filename=/archive/signal_glonass.bin | ||||
|  | ||||
| SignalSource1.implementation=File_Signal_Source | ||||
| SignalSource1.filename=../data/NT1065_GLONASS_L1_20160923_fs6625e6_if0e3_schar.bin ; <- PUT YOUR FILE HERE | ||||
| SignalSource1.filename=./NT1065_GLONASS_L1_20160923_fs6625e6_if0e3_schar.bin ; <- PUT YOUR FILE HERE | ||||
| SignalSource1.item_type=ibyte | ||||
| SignalSource1.sampling_frequency=6625000 | ||||
| SignalSource1.samples=0 | ||||
|   | ||||
| @@ -23,7 +23,7 @@ SignalSource.repeat=false | ||||
| SignalSource.sample_type=iq | ||||
| SignalSource.seconds_to_skip=0 | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
| SignalSource.enable_throttle_control=false | ||||
|  | ||||
|  | ||||
| @@ -69,7 +69,7 @@ Acquisition_1R.tong_max_dwells=20 | ||||
| Tracking_1R.implementation=GLONASS_L1_CA_DLL_PLL_C_Aid_Tracking | ||||
| Tracking_1R.item_type=cshort | ||||
| Tracking_1R.dump=false | ||||
| Tracking_1R.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1R.dump_filename=./epl_tracking_ch_ | ||||
| Tracking_1R.pll_bw_hz=40.0; | ||||
| Tracking_1R.dll_bw_hz=4.0; | ||||
| Tracking_1R.order=3; | ||||
|   | ||||
| @@ -35,7 +35,7 @@ InputFilter.implementation=Pass_Through | ||||
| InputFilter.input_item_type=gr_complex | ||||
| InputFilter.output_item_type=gr_complex | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
|  | ||||
|  | ||||
| ;######### RESAMPLER CONFIG ############ | ||||
| @@ -44,7 +44,7 @@ Resampler.item_type=gr_complex | ||||
| Resampler.sample_freq_in=20000000 | ||||
| Resampler.sample_freq_out=20000000 | ||||
| Resampler.dump=false | ||||
| Resampler.dump_filename=../data/resampler.dat | ||||
| Resampler.dump_filename=./resampler.dat | ||||
|  | ||||
|  | ||||
| ;######### CHANNELS GLOBAL CONFIG ############ | ||||
| @@ -113,7 +113,7 @@ Tracking_1C.dll_bw_hz=2.0; | ||||
| Tracking_1C.dll_bw_narrow_hz=1.5; | ||||
| Tracking_1C.order=2; | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TRACKING GALILEO CONFIG ############ | ||||
| @@ -125,7 +125,7 @@ Tracking_1B.order=3; | ||||
| Tracking_1B.early_late_space_chips=0.15; | ||||
| Tracking_1B.very_early_late_space_chips=0.6; | ||||
| Tracking_1B.dump=false | ||||
| Tracking_1B.dump_filename=../data/veml_tracking_ch_ | ||||
| Tracking_1B.dump_filename=./veml_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER GPS CONFIG ############ | ||||
|   | ||||
| @@ -22,7 +22,7 @@ SignalSource.sampling_frequency=4000000 | ||||
| SignalSource.samples=0 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
| SignalSource.enable_throttle_control=false | ||||
|  | ||||
|  | ||||
| @@ -32,12 +32,12 @@ SignalConditioner.implementation=Signal_Conditioner | ||||
| ;######### DATA_TYPE_ADAPTER CONFIG ############ | ||||
| DataTypeAdapter.implementation=Ibyte_To_Complex | ||||
| DataTypeAdapter.dump=false | ||||
| DataTypeAdapter.dump_filename=../data/DataTypeAdapter.dat | ||||
| DataTypeAdapter.dump_filename=./DataTypeAdapter.dat | ||||
|  | ||||
| ;######### INPUT_FILTER CONFIG ############ | ||||
| InputFilter.implementation=Pass_Through | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
| InputFilter.input_item_type=gr_complex | ||||
| InputFilter.output_item_type=gr_complex | ||||
|  | ||||
| @@ -106,14 +106,14 @@ Tracking_1C.order=3; | ||||
| Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking | ||||
| Tracking_1B.item_type=gr_complex | ||||
| Tracking_1B.dump=false | ||||
| Tracking_1B.dump_filename=../data/veml_tracking_ch_ | ||||
| Tracking_1B.dump_filename=./veml_tracking_ch_ | ||||
| Tracking_1B.pll_bw_hz=15.0; | ||||
| Tracking_1B.dll_bw_hz=2.0; | ||||
| Tracking_1B.order=3; | ||||
| Tracking_1B.early_late_space_chips=0.15; | ||||
| Tracking_1B.very_early_late_space_chips=0.6; | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER GPS CONFIG ############ | ||||
|   | ||||
| @@ -85,7 +85,7 @@ Tracking_1C.dll_bw_hz=2.0; | ||||
| Tracking_1C.dll_bw_narrow_hz=2.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.dump=true | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TRACKING GALILEO CONFIG ############ | ||||
| @@ -98,7 +98,7 @@ Tracking_1B.order=3; | ||||
| Tracking_1B.early_late_space_chips=0.15; | ||||
| Tracking_1B.very_early_late_space_chips=0.6; | ||||
| Tracking_1B.dump=false | ||||
| Tracking_1B.dump_filename=../data/veml_tracking_ch_ | ||||
| Tracking_1B.dump_filename=./veml_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER GPS CONFIG ############ | ||||
|   | ||||
| @@ -56,7 +56,7 @@ InputFilter.output_item_type=gr_complex | ||||
| Resampler.implementation=Pass_Through | ||||
| Resampler.item_type=gr_complex | ||||
| Resampler.dump=false | ||||
| Resampler.dump_filename=../data/resampler.dat | ||||
| Resampler.dump_filename=./resampler.dat | ||||
|  | ||||
|  | ||||
| ;######### CHANNELS GLOBAL CONFIG ############ | ||||
| @@ -111,7 +111,7 @@ Tracking_1C.pll_bw_hz=50.0; | ||||
| Tracking_1C.dll_bw_hz=5.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TRACKING GALILEO CONFIG ############ | ||||
| @@ -123,7 +123,7 @@ Tracking_1B.order=3; | ||||
| Tracking_1B.early_late_space_chips=0.15; | ||||
| Tracking_1B.very_early_late_space_chips=0.6; | ||||
| Tracking_1B.dump=false | ||||
| Tracking_1B.dump_filename=../data/veml_tracking_ch_ | ||||
| Tracking_1B.dump_filename=./veml_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER GPS CONFIG ############ | ||||
|   | ||||
| @@ -57,7 +57,7 @@ DataTypeAdapter0.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter0.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter0.dump=false | ||||
| InputFilter0.dump_filename=../data/input_filter_ch0.dat | ||||
| InputFilter0.dump_filename=./input_filter_ch0.dat | ||||
| InputFilter0.input_item_type=gr_complex | ||||
| InputFilter0.output_item_type=gr_complex | ||||
| InputFilter0.taps_item_type=float | ||||
| @@ -96,7 +96,7 @@ DataTypeAdapter1.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 1 CONFIG ############ | ||||
| InputFilter1.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter1.dump=false | ||||
| InputFilter1.dump_filename=../data/input_filter_ch1.dat | ||||
| InputFilter1.dump_filename=./input_filter_ch1.dat | ||||
| InputFilter1.input_item_type=gr_complex | ||||
| InputFilter1.output_item_type=gr_complex | ||||
| InputFilter1.taps_item_type=float | ||||
| @@ -135,7 +135,7 @@ DataTypeAdapter2.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 2 CONFIG ############ | ||||
| InputFilter2.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter2.dump=false | ||||
| InputFilter2.dump_filename=../data/input_filter_ch2.dat | ||||
| InputFilter2.dump_filename=./input_filter_ch2.dat | ||||
| InputFilter2.input_item_type=gr_complex | ||||
| InputFilter2.output_item_type=gr_complex | ||||
| InputFilter2.taps_item_type=float | ||||
| @@ -294,7 +294,7 @@ Tracking_1C.dll_bw_hz=2.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.early_late_space_chips=0.5; | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
| ;######### GALILEO E1 TRK CONFIG ############ | ||||
| Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking | ||||
| @@ -305,7 +305,7 @@ Tracking_1B.order=3; | ||||
| Tracking_1B.early_late_space_chips=0.15; | ||||
| Tracking_1B.very_early_late_space_chips=0.6; | ||||
| Tracking_1B.dump=false | ||||
| Tracking_1B.dump_filename=../data/veml_tracking_ch_ | ||||
| Tracking_1B.dump_filename=./veml_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### GPS L2C GENERIC TRACKING CONFIG ############ | ||||
|   | ||||
| @@ -45,7 +45,7 @@ DataTypeAdapter0.implementation=Ishort_To_Complex | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter0.implementation=Pass_Through | ||||
| InputFilter0.dump=false | ||||
| InputFilter0.dump_filename=../data/input_filter.dat | ||||
| InputFilter0.dump_filename=./input_filter.dat | ||||
| InputFilter0.input_item_type=gr_complex | ||||
| InputFilter0.output_item_type=gr_complex | ||||
|  | ||||
| @@ -54,7 +54,7 @@ InputFilter0.output_item_type=gr_complex | ||||
| ;######### RESAMPLER 1 CONFIG ############ | ||||
| Resampler1.implementation=Pass_Through | ||||
| Resampler1.dump=false | ||||
| Resampler1.dump_filename=../data/resampler.dat | ||||
| Resampler1.dump_filename=./resampler.dat | ||||
| Resampler1.item_type=gr_complex | ||||
| Resampler1.sample_freq_in=4000000 | ||||
| Resampler1.sample_freq_out=4000000 | ||||
| @@ -73,7 +73,7 @@ InputFilter1.dump=false | ||||
| ;######### RESAMPLER 1 CONFIG ############ | ||||
| Resampler1.implementation=Pass_Through | ||||
| Resampler1.dump=false | ||||
| Resampler1.dump_filename=../data/resampler.dat. | ||||
| Resampler1.dump_filename=./resampler.dat. | ||||
| Resampler1.item_type=gr_complex | ||||
| Resampler1.sample_freq_in=4000000 | ||||
| Resampler1.sample_freq_out=4000000 | ||||
| @@ -126,7 +126,7 @@ Tracking_1C.pll_bw_hz=45.0; | ||||
| Tracking_1C.dll_bw_hz=4.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TRACKING GALILEO CONFIG ############ | ||||
| @@ -138,7 +138,7 @@ Tracking_1B.order=3; | ||||
| Tracking_1B.early_late_space_chips=0.15; | ||||
| Tracking_1B.very_early_late_space_chips=0.6; | ||||
| Tracking_1B.dump=false | ||||
| Tracking_1B.dump_filename=../data/veml_tracking_ch_ | ||||
| Tracking_1B.dump_filename=./veml_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER GPS CONFIG ############ | ||||
|   | ||||
| @@ -48,7 +48,7 @@ DataTypeAdapter0.item_type=float | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter0.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter0.dump=false | ||||
| InputFilter0.dump_filename=../data/input_filter.dat | ||||
| InputFilter0.dump_filename=./input_filter.dat | ||||
| InputFilter0.input_item_type=float | ||||
| InputFilter0.output_item_type=gr_complex | ||||
| InputFilter0.taps_item_type=float | ||||
| @@ -83,7 +83,7 @@ DataTypeAdapter1.item_type=float | ||||
| ;######### INPUT_FILTER 1 CONFIG ############ | ||||
| InputFilter1.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter1.dump=false | ||||
| InputFilter1.dump_filename=../data/input_filter.dat | ||||
| InputFilter1.dump_filename=./input_filter.dat | ||||
| InputFilter1.input_item_type=float | ||||
| InputFilter1.output_item_type=gr_complex | ||||
| InputFilter1.taps_item_type=float | ||||
| @@ -184,7 +184,7 @@ Tracking_1C.pll_bw_hz=45.0; | ||||
| Tracking_1C.dll_bw_hz=2.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TRACKING GALILEO CONFIG ############ | ||||
| @@ -196,7 +196,7 @@ Tracking_1B.order=3; | ||||
| Tracking_1B.early_late_space_chips=0.15; | ||||
| Tracking_1B.very_early_late_space_chips=0.6; | ||||
| Tracking_1B.dump=false | ||||
| Tracking_1B.dump_filename=../data/veml_tracking_ch_ | ||||
| Tracking_1B.dump_filename=./veml_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER GPS CONFIG ############ | ||||
|   | ||||
| @@ -39,7 +39,7 @@ SignalSource.sampling_frequency=20480000 | ||||
| SignalSource.samples=0 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
| SignalSource.enable_throttle_control=false | ||||
|  | ||||
|  | ||||
| @@ -53,7 +53,7 @@ DataTypeAdapter.item_type=float | ||||
| ;######### INPUT_FILTER CONFIG ############ | ||||
| InputFilter.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
| InputFilter.input_item_type=float | ||||
| InputFilter.output_item_type=gr_complex | ||||
| InputFilter.taps_item_type=float | ||||
| @@ -80,7 +80,7 @@ InputFilter.decimation_factor=8 | ||||
| ;######### RESAMPLER CONFIG ############ | ||||
| Resampler.implementation=Pass_Through | ||||
| Resampler.dump=false | ||||
| Resampler.dump_filename=../data/resampler.dat | ||||
| Resampler.dump_filename=./resampler.dat | ||||
| Resampler.item_type=gr_complex | ||||
|  | ||||
|  | ||||
| @@ -120,7 +120,7 @@ Tracking_1C.pll_bw_hz=45.0; | ||||
| Tracking_1C.dll_bw_hz=2.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
| ;######### GPS L2C GENERIC TRACKING CONFIG ############ | ||||
| Tracking_2S.implementation=GPS_L2_M_DLL_PLL_Tracking | ||||
| @@ -130,7 +130,7 @@ Tracking_2S.dll_bw_hz=0.4; | ||||
| Tracking_2S.order=2; | ||||
| Tracking_2S.early_late_space_chips=0.5; | ||||
| Tracking_2S.dump=true | ||||
| Tracking_2S.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_2S.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER GPS CONFIG ############ | ||||
|   | ||||
| @@ -37,7 +37,7 @@ SignalSource.repeat=false | ||||
| ;#dump: Dump the Signal source data to a file. Disable this option in this version | ||||
| SignalSource.dump=false | ||||
|  | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
|  | ||||
|  | ||||
| ;#enable_throttle_control: Enabling this option tells the signal source to keep the delay between samples in post processing. | ||||
| @@ -72,7 +72,7 @@ InputFilter.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter.dump=false | ||||
|  | ||||
| ;#dump_filename: Log path and filename. | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
|  | ||||
| ;#The following options are used in the filter design of Fir_Filter and Freq_Xlating_Fir_Filter implementation. | ||||
| ;#These options are based on parameters of gnuradio's function: gr_remez. | ||||
| @@ -169,7 +169,7 @@ Tracking_1C.implementation=GPS_L1_CA_Gaussian_Tracking | ||||
| Tracking_1C.item_type=gr_complex | ||||
| Tracking_1C.if=0 | ||||
| Tracking_1C.dump=true | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
| Tracking_1C.pll_bw_hz=15.0; | ||||
| Tracking_1C.dll_bw_hz=2.0; | ||||
| Tracking_1C.order=3; | ||||
|   | ||||
| @@ -22,7 +22,7 @@ SignalSource.sampling_frequency=20480000 | ||||
| SignalSource.samples=0 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
| SignalSource.enable_throttle_control=false | ||||
|  | ||||
|  | ||||
| @@ -56,7 +56,7 @@ InputFilter.sampling_frequency=20480000 | ||||
| InputFilter.IF=5499998.47412109 | ||||
| InputFilter.decimation_factor=8 | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
|  | ||||
|  | ||||
| ;######### RESAMPLER CONFIG ############ | ||||
| @@ -129,7 +129,7 @@ Tracking_1C.dll_bw_hz=2.0; | ||||
| Tracking_1C.dll_bw_narrow_hz=1.5; | ||||
| Tracking_1C.order=2; | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TRACKING GALILEO CONFIG ############ | ||||
| @@ -141,7 +141,7 @@ Tracking_1B.order=3; | ||||
| Tracking_1B.early_late_space_chips=0.15; | ||||
| Tracking_1B.very_early_late_space_chips=0.6; | ||||
| Tracking_1B.dump=false | ||||
| Tracking_1B.dump_filename=../data/veml_tracking_ch_ | ||||
| Tracking_1B.dump_filename=./veml_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER GPS CONFIG ############ | ||||
|   | ||||
| @@ -85,7 +85,7 @@ SignalSource.repeat=false | ||||
| ;#dump: Dump the Signal source data to a file. | ||||
| SignalSource.dump=false | ||||
|  | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
|  | ||||
| ;######### SIGNAL_CONDITIONER CONFIG ############ | ||||
| ;## It holds blocks to change data type, filter and resample input data. | ||||
| @@ -102,7 +102,7 @@ DataTypeAdapter.implementation=Pass_Through | ||||
| ;#dump: Dump the filtered data to a file. | ||||
| DataTypeAdapter.dump=false | ||||
| ;#dump_filename: Log path and filename. | ||||
| DataTypeAdapter.dump_filename=../data/data_type_adapter.dat | ||||
| DataTypeAdapter.dump_filename=./data_type_adapter.dat | ||||
|  | ||||
| ;######### INPUT_FILTER CONFIG ############ | ||||
| ;## Filter the input data. Can be combined with frequency translation for IF signals | ||||
| @@ -176,7 +176,7 @@ InputFilter.decimation_factor=1 | ||||
| InputFilter.dump=false | ||||
|  | ||||
| ;#dump_filename: Log path and filename. | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
|  | ||||
| ;######### RESAMPLER CONFIG ############ | ||||
| ;## Resamples the input data. | ||||
|   | ||||
| @@ -21,7 +21,7 @@ SignalSource.item_type=gr_complex | ||||
| SignalSource.samples=250000000 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
| SignalSource.enable_throttle_control=false | ||||
|  | ||||
|  | ||||
| @@ -51,7 +51,7 @@ Acquisition_1C.dump_filename=./acq_dump.dat | ||||
| Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking_GPU | ||||
| Tracking_1C.item_type=gr_complex | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
| Tracking_1C.pll_bw_hz=45.0; | ||||
| Tracking_1C.dll_bw_hz=2.0; | ||||
| Tracking_1C.order=3; | ||||
|   | ||||
| @@ -54,7 +54,7 @@ SignalSource.sampling_frequency=20480000 | ||||
| SignalSource.samples=0 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
| SignalSource.enable_throttle_control=false | ||||
|  | ||||
|  | ||||
| @@ -68,7 +68,7 @@ DataTypeAdapter.item_type=float | ||||
| ;######### INPUT_FILTER CONFIG ############ | ||||
| InputFilter.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
| InputFilter.input_item_type=float | ||||
| InputFilter.output_item_type=gr_complex | ||||
| InputFilter.taps_item_type=float | ||||
| @@ -94,7 +94,7 @@ InputFilter.decimation_factor=8 | ||||
| ;######### RESAMPLER CONFIG ############ | ||||
| Resampler.implementation=Pass_Through | ||||
| Resampler.dump=false | ||||
| Resampler.dump_filename=../data/resampler.dat | ||||
| Resampler.dump_filename=./resampler.dat | ||||
| Resampler.item_type=gr_complex | ||||
|  | ||||
|  | ||||
| @@ -123,7 +123,7 @@ Tracking_1C.pll_bw_hz=45.0; | ||||
| Tracking_1C.dll_bw_hz=2.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER GPS CONFIG ############ | ||||
|   | ||||
| @@ -49,7 +49,7 @@ InputFilter.Pfa=0.001 | ||||
| InputFilter.input_item_type=gr_complex | ||||
| InputFilter.output_item_type=gr_complex | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
|  | ||||
| ;######### CHANNELS GLOBAL CONFIG ############ | ||||
| Channels_1C.count=8 | ||||
| @@ -80,7 +80,7 @@ Tracking_1C.dll_bw_narrow_hz=1.5; | ||||
| Tracking_1C.fll_bw_hz=2.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.dump=true | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER GPS CONFIG ############ | ||||
|   | ||||
| @@ -36,7 +36,7 @@ SignalSource.sampling_frequency=19200000 | ||||
| SignalSource.samples=0 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
| SignalSource.enable_throttle_control=false | ||||
|  | ||||
|  | ||||
| @@ -70,13 +70,13 @@ InputFilter.sampling_frequency=19200000 | ||||
| InputFilter.IF=4024000 | ||||
| InputFilter.decimation_factor=6 | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
|  | ||||
|  | ||||
| ;######### RESAMPLER CONFIG ############ | ||||
| Resampler.implementation=Pass_Through | ||||
| Resampler.dump=false | ||||
| Resampler.dump_filename=../data/resampler.dat | ||||
| Resampler.dump_filename=./resampler.dat | ||||
| Resampler.item_type=gr_complex | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -31,7 +31,7 @@ SignalSource.gain_rx2=64 | ||||
| SignalSource.samples=0 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
| SignalSource.enable_dds_lo=false | ||||
| SignalSource.freq_rf_tx_hz=1260000000 | ||||
| SignalSource.freq_dds_tx_hz=1000 | ||||
|   | ||||
| @@ -41,7 +41,7 @@ SignalSource.subdevice=A:0 | ||||
| SignalSource.samples=0 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
|  | ||||
|  | ||||
| ;######### SIGNAL_CONDITIONER CONFIG ############ | ||||
| @@ -73,7 +73,7 @@ InputFilter.grid_density=16 | ||||
| InputFilter.sampling_frequency=4000000 | ||||
| InputFilter.IF=0 | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
|  | ||||
|  | ||||
| ;######### RESAMPLER CONFIG ############ | ||||
| @@ -82,7 +82,7 @@ Resampler.item_type=gr_complex | ||||
| Resampler.sample_freq_in=4000000 | ||||
| Resampler.sample_freq_out=4000000 | ||||
| Resampler.dump=false | ||||
| Resampler.dump_filename=../data/resampler.dat | ||||
| Resampler.dump_filename=./resampler.dat | ||||
|  | ||||
|  | ||||
| ;######### CHANNELS GLOBAL CONFIG ############ | ||||
|   | ||||
| @@ -40,7 +40,7 @@ SignalSource.subdevice=A:0 | ||||
| SignalSource.samples=0 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
|  | ||||
|  | ||||
| ;######### SIGNAL_CONDITIONER CONFIG ############ | ||||
|   | ||||
| @@ -53,7 +53,7 @@ InputFilter.band2_error=1.0 | ||||
| InputFilter.filter_type=bandpass | ||||
| InputFilter.grid_density=16 | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
|  | ||||
| ;######### RESAMPLER CONFIG ############ | ||||
| Resampler.implementation=Pass_Through | ||||
|   | ||||
| @@ -41,7 +41,7 @@ SignalSource.gain_rx1=64 | ||||
| SignalSource.samples=0 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
|  | ||||
| ;######### SIGNAL_CONDITIONER CONFIG ############ | ||||
| SignalConditioner.implementation=Signal_Conditioner | ||||
| @@ -52,7 +52,7 @@ DataTypeAdapter.implementation=Pass_Through | ||||
| ;######### INPUT_FILTER CONFIG ############ | ||||
| InputFilter.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
| InputFilter.input_item_type=gr_complex | ||||
| InputFilter.output_item_type=gr_complex | ||||
| InputFilter.taps_item_type=float | ||||
|   | ||||
| @@ -43,7 +43,7 @@ SignalSource.AGC_enabled = false | ||||
| SignalSource.samples=0 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
| SignalSource.address=127.0.0.1 | ||||
| SignalSource.port=1234 | ||||
| SignalSource.swap_iq=false | ||||
| @@ -58,7 +58,7 @@ DataTypeAdapter.implementation=Pass_Through | ||||
| ;######### INPUT_FILTER CONFIG ############ | ||||
| InputFilter.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
| InputFilter.input_item_type=gr_complex | ||||
| InputFilter.output_item_type=gr_complex | ||||
| InputFilter.taps_item_type=float | ||||
|   | ||||
| @@ -44,7 +44,7 @@ SignalSource.AGC_enabled = false | ||||
| SignalSource.samples=0 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
|  | ||||
| ;# Please note that the new RTL-SDR Blog V3 dongles ship a < 1 PPM | ||||
| ;# temperature compensated oscillator (TCXO), which is well suited for GNSS | ||||
| @@ -68,7 +68,7 @@ DataTypeAdapter.implementation=Pass_Through | ||||
| ;######### INPUT_FILTER CONFIG ############ | ||||
| InputFilter.implementation=Freq_Xlating_Fir_Filter | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
| InputFilter.input_item_type=gr_complex | ||||
| InputFilter.output_item_type=gr_complex | ||||
| InputFilter.taps_item_type=float | ||||
|   | ||||
| @@ -39,7 +39,7 @@ SignalSource.subdevice=A:0 | ||||
| SignalSource.samples=0 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
|  | ||||
|  | ||||
| ;######### SIGNAL_CONDITIONER CONFIG ############ | ||||
| @@ -73,13 +73,13 @@ InputFilter.sampling_frequency=20000000 | ||||
| InputFilter.IF=-1600000 | ||||
| InputFilter.decimation_factor=1 | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
|  | ||||
|  | ||||
| ;######### RESAMPLER CONFIG ############ | ||||
| Resampler.implementation=Pass_Through | ||||
| Resampler.dump=false | ||||
| Resampler.dump_filename=../data/resampler.dat | ||||
| Resampler.dump_filename=./resampler.dat | ||||
| Resampler.item_type=gr_complex | ||||
| Resampler.sample_freq_in=2000000 | ||||
| Resampler.sample_freq_out=2000000 | ||||
|   | ||||
| @@ -42,7 +42,7 @@ SignalSource.subdevice=A:0 | ||||
| SignalSource.samples=0 | ||||
| SignalSource.repeat=false | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
|  | ||||
|  | ||||
| ;######### SIGNAL_CONDITIONER CONFIG ############ | ||||
| @@ -79,12 +79,12 @@ InputFilter.sampling_frequency=4000000 | ||||
| InputFilter.IF=0 | ||||
|  | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
|  | ||||
| ;######### RESAMPLER CONFIG ############ | ||||
| Resampler.implementation=Pass_Through | ||||
| Resampler.dump=false | ||||
| Resampler.dump_filename=../data/resampler.dat | ||||
| Resampler.dump_filename=./resampler.dat | ||||
| Resampler.item_type=gr_complex | ||||
| Resampler.sample_freq_in=4000000 | ||||
| Resampler.sample_freq_out=4000000 | ||||
|   | ||||
| @@ -27,7 +27,7 @@ SignalSource.gain=50 | ||||
| SignalSource.subdevice=A:0 | ||||
| SignalSource.samples=0 | ||||
| SignalSource.dump=false | ||||
| SignalSource.dump_filename=../data/signal_source.dat | ||||
| SignalSource.dump_filename=./signal_source.dat | ||||
|  | ||||
|  | ||||
| ;######### SIGNAL_CONDITIONER CONFIG ############ | ||||
| @@ -62,7 +62,7 @@ Tracking_1B.order=3; | ||||
| Tracking_1B.early_late_space_chips=0.15; | ||||
| Tracking_1B.very_early_late_space_chips=0.6; | ||||
| Tracking_1B.dump=false | ||||
| Tracking_1B.dump_filename=../data/veml_tracking_ch_ | ||||
| Tracking_1B.dump_filename=./veml_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER CONFIG ############ | ||||
|   | ||||
| @@ -54,7 +54,7 @@ InputFilter0.tw=500000 | ||||
| InputFilter0.IF=-22902000 | ||||
| InputFilter0.sampling_frequency=56000000 | ||||
| InputFilter0.dump=false | ||||
| InputFilter0.dump_filename=../data/input_filter.dat | ||||
| InputFilter0.dump_filename=./input_filter.dat | ||||
|  | ||||
| ;######### INPUT_FILTER CONFIG ############ | ||||
| InputFilter1.implementation=Freq_Xlating_Fir_Filter | ||||
| @@ -68,7 +68,7 @@ InputFilter1.tw=500000 | ||||
| InputFilter1.IF=-8580000 | ||||
| InputFilter1.sampling_frequency=56000000 | ||||
| InputFilter1.dump=false | ||||
| InputFilter1.dump_filename=../data/input_filter.dat | ||||
| InputFilter1.dump_filename=./input_filter.dat | ||||
|  | ||||
| ;######### INPUT_FILTER CONFIG ############ | ||||
| InputFilter2.implementation=Freq_Xlating_Fir_Filter | ||||
| @@ -82,7 +82,7 @@ InputFilter2.tw=500000 | ||||
| InputFilter2.IF=18000000 | ||||
| InputFilter2.sampling_frequency=56000000 | ||||
| InputFilter2.dump=false | ||||
| InputFilter2.dump_filename=../data/input_filter.dat | ||||
| InputFilter2.dump_filename=./input_filter.dat | ||||
|  | ||||
| ;######### RESAMPLER CONFIG ############ | ||||
| Resampler0.implementation=Pass_Through | ||||
|   | ||||
| @@ -55,7 +55,7 @@ InputFilter0.tw=1000000 | ||||
| InputFilter0.IF=-6322000 | ||||
| InputFilter0.sampling_frequency=20000000 | ||||
| InputFilter0.dump=false | ||||
| InputFilter0.dump_filename=../data/input_filter.dat | ||||
| InputFilter0.dump_filename=./input_filter.dat | ||||
|  | ||||
| ;######### INPUT_FILTER CONFIG ############ | ||||
| InputFilter1.implementation=Freq_Xlating_Fir_Filter | ||||
| @@ -70,7 +70,7 @@ InputFilter1.tw=1000000 | ||||
| InputFilter1.IF=8000000 | ||||
| InputFilter1.sampling_frequency=20000000 | ||||
| InputFilter1.dump=false | ||||
| InputFilter1.dump_filename=../data/input_filter.dat | ||||
| InputFilter1.dump_filename=./input_filter.dat | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -59,7 +59,7 @@ DataTypeAdapter0.item_type=gr_complex | ||||
| ;######### INPUT_FILTER 0 CONFIG ############ | ||||
| InputFilter0.implementation=Pass_Through | ||||
| InputFilter0.dump=false | ||||
| InputFilter0.dump_filename=../data/input_filter.dat | ||||
| InputFilter0.dump_filename=./input_filter.dat | ||||
| InputFilter0.input_item_type=gr_complex | ||||
| InputFilter0.output_item_type=gr_complex | ||||
|  | ||||
| @@ -74,7 +74,7 @@ SignalConditioner1.implementation=Pass_Through | ||||
| ;######### INPUT_FILTER 1 CONFIG ############ | ||||
| InputFilter1.implementation=Pass_Through | ||||
| InputFilter1.dump=false | ||||
| InputFilter1.dump_filename=../data/input_filter.dat | ||||
| InputFilter1.dump_filename=./input_filter.dat | ||||
| InputFilter1.input_item_type=gr_complex | ||||
| InputFilter1.output_item_type=gr_complex | ||||
|  | ||||
|   | ||||
| @@ -68,13 +68,13 @@ InputFilter.grid_density=16 | ||||
| InputFilter.sampling_frequency=4000000 | ||||
| InputFilter.IF=0 | ||||
| InputFilter.dump=false | ||||
| InputFilter.dump_filename=../data/input_filter.dat | ||||
| InputFilter.dump_filename=./input_filter.dat | ||||
|  | ||||
|  | ||||
| ;######### RESAMPLER CONFIG ############ | ||||
| Resampler.implementation=Pass_Through | ||||
| Resampler.dump=false | ||||
| Resampler.dump_filename=../data/resampler.dat | ||||
| Resampler.dump_filename=./resampler.dat | ||||
|  | ||||
|  | ||||
| ;######### CHANNELS GLOBAL CONFIG ############ | ||||
| @@ -113,7 +113,7 @@ Tracking_1C.pll_bw_hz=45.0; | ||||
| Tracking_1C.dll_bw_hz=3.0; | ||||
| Tracking_1C.order=3; | ||||
| Tracking_1C.dump=false | ||||
| Tracking_1C.dump_filename=../data/epl_tracking_ch_ | ||||
| Tracking_1C.dump_filename=./epl_tracking_ch_ | ||||
|  | ||||
|  | ||||
| ;######### TELEMETRY DECODER GPS CONFIG ############ | ||||
|   | ||||
| @@ -53,6 +53,10 @@ All notable changes to GNSS-SDR will be documented in this file. | ||||
| - Added new | ||||
|   [`Cshort_To_Gr_Complex`](https://gnss-sdr.org/docs/sp-blocks/data-type-adapter/#implementation-cshort_to_gr_complex) | ||||
|   Data Type Adapter implementation. | ||||
| - The | ||||
|   [Osmosdr_Signal_Source](https://gnss-sdr.org/docs/sp-blocks/signal-source/#implementation-osmosdr_signal_source) | ||||
|   has gained two new optional configuration parameters: `iq_balance_mode` and | ||||
|   `dc_offset_mode`, both of which are set to Automatic by default. | ||||
|  | ||||
| ### Improvements in Portability: | ||||
|  | ||||
| @@ -121,6 +125,8 @@ All notable changes to GNSS-SDR will be documented in this file. | ||||
|   - The empty `build` and `data` folders have been removed. Users can create a | ||||
|     building folder using `mkdir build` or by having CMake handle it: | ||||
|     `cmake -S . -B build`. | ||||
|   - All default names for dump or input files starting with `../data/<filename>` | ||||
|     have been changed to `./<filename>`. | ||||
|  | ||||
| See the definitions of concepts and metrics at | ||||
| https://gnss-sdr.org/design-forces/ | ||||
|   | ||||
| @@ -212,7 +212,7 @@ and we will be happy to upload it to the server. | ||||
| You can use a single configuration file for processing | ||||
| different data files, specifying the file to be processed with the <tt>--signal_source</tt> flag: | ||||
| \verbatim | ||||
| $ gnss-sdr --config_file=../conf/my_receiver.conf --signal_source=../data/my_captured_data.dat | ||||
| $ gnss-sdr --config_file=../conf/my_receiver.conf --signal_source=./my_captured_data.dat | ||||
| \endverbatim | ||||
| This will override the <tt>SignalSource.filename</tt> specified in the configuration file. | ||||
|  | ||||
|   | ||||
| @@ -319,9 +319,13 @@ Kml_Printer::~Kml_Printer() | ||||
|         { | ||||
|             std::cerr << e.what() << '\n'; | ||||
|         } | ||||
|     errorlib::error_code ec; | ||||
|     if (!fs::remove(fs::path(tmp_file_str), ec)) | ||||
|         { | ||||
|             LOG(INFO) << "Error deleting temporary file"; | ||||
|         } | ||||
|     if (!positions_printed) | ||||
|         { | ||||
|             errorlib::error_code ec; | ||||
|             if (!fs::remove(fs::path(kml_filename), ec)) | ||||
|                 { | ||||
|                     LOG(INFO) << "Error deleting temporary KML file"; | ||||
|   | ||||
| @@ -57,7 +57,7 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition( | ||||
|       dump_(configuration_->property(role + ".dump", false)) | ||||
| { | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_filename("../data/acquisition.dat"); | ||||
|     const std::string default_dump_filename("./acquisition.dat"); | ||||
|     item_type_ = configuration_->property(role_ + ".item_type", default_item_type); | ||||
|     int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000); | ||||
|     fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|   | ||||
| @@ -81,7 +81,6 @@ GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga( | ||||
|     int32_t tmp2; | ||||
|     int32_t local_code; | ||||
|     int32_t fft_data; | ||||
|  | ||||
|     for (uint32_t PRN = 1; PRN <= GALILEO_E1_NUMBER_OF_CODES; PRN++) | ||||
|         { | ||||
|             bool cboc = false;  // cboc is set to 0 when using the FPGA | ||||
| @@ -100,16 +99,14 @@ GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga( | ||||
|                         cboc, PRN, fs_in_, 0, false); | ||||
|                 } | ||||
|  | ||||
|             for (uint32_t s = code_length; s < 2 * code_length; s++) | ||||
|             if (acq_parameters_.enable_zero_padding) | ||||
|                 { | ||||
|                     code[s] = code[s - code_length]; | ||||
|                     // Duplicate the code sequence | ||||
|                     std::copy(code.begin(), code.begin() + code_length, code.begin() + code_length); | ||||
|                 } | ||||
|  | ||||
|             // fill in zero padding | ||||
|             for (uint32_t s = 2 * code_length; s < nsamples_total; s++) | ||||
|                 { | ||||
|                     code[s] = std::complex<float>(0.0, 0.0); | ||||
|                 } | ||||
|             // Fill in zero padding for the rest | ||||
|             std::fill(code.begin() + (acq_parameters_.enable_zero_padding ? 2 * code_length : code_length), code.end(), std::complex<float>(0.0, 0.0)); | ||||
|  | ||||
|             std::copy_n(code.data(), nsamples_total, fft_if->get_inbuf());                            // copy to FFT buffer | ||||
|             fft_if->execute();                                                                        // Run the FFT of local code | ||||
|   | ||||
| @@ -48,7 +48,7 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition | ||||
|       dump_(configuration_->property(role + ".dump", false)) | ||||
| { | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_filename("../data/acquisition.dat"); | ||||
|     const std::string default_dump_filename("./acquisition.dat"); | ||||
|     item_type_ = configuration_->property(role_ + ".item_type", default_item_type); | ||||
|     int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000); | ||||
|     fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|   | ||||
| @@ -57,7 +57,7 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui | ||||
|       dump_(configuration_->property(role + ".dump", false)) | ||||
| { | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_filename("../data/acquisition.dat"); | ||||
|     const std::string default_dump_filename("./acquisition.dat"); | ||||
|     item_type_ = configuration_->property(role + ".item_type", default_item_type); | ||||
|     int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000); | ||||
|     fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|   | ||||
| @@ -59,7 +59,7 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition( | ||||
|       dump_(configuration_->property(role + ".dump", false)) | ||||
| { | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_filename("../data/acquisition.dat"); | ||||
|     const std::string default_dump_filename("./acquisition.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
|   | ||||
| @@ -66,7 +66,7 @@ GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf( | ||||
|       dump_(configuration_->property(role + ".dump", false)) | ||||
| { | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_filename("../data/acquisition.dat"); | ||||
|     const std::string default_dump_filename("./acquisition.dat"); | ||||
|     item_type_ = configuration_->property(role_ + ".item_type", default_item_type); | ||||
|     dump_filename_ = configuration_->property(role_ + ".dump_filename", default_dump_filename); | ||||
|     int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 32000000); | ||||
|   | ||||
| @@ -107,16 +107,14 @@ GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga( | ||||
|  | ||||
|             galileo_e5_a_code_gen_complex_sampled(code, PRN, signal_, fs_in_, 0); | ||||
|  | ||||
|             for (uint32_t s = code_length; s < 2 * code_length; s++) | ||||
|             if (acq_parameters_.enable_zero_padding) | ||||
|                 { | ||||
|                     code[s] = code[s - code_length]; | ||||
|                     // Duplicate the code sequence | ||||
|                     std::copy(code.begin(), code.begin() + code_length, code.begin() + code_length); | ||||
|                 } | ||||
|  | ||||
|             // fill in zero padding | ||||
|             for (uint32_t s = 2 * code_length; s < nsamples_total; s++) | ||||
|                 { | ||||
|                     code[s] = std::complex<float>(0.0, 0.0); | ||||
|                 } | ||||
|             // Fill in zero padding for the rest | ||||
|             std::fill(code.begin() + (acq_parameters_.enable_zero_padding ? 2 * code_length : code_length), code.end(), std::complex<float>(0.0, 0.0)); | ||||
|  | ||||
|             std::copy_n(code.data(), nsamples_total, fft_if->get_inbuf());                            // copy to FFT buffer | ||||
|             fft_if->execute();                                                                        // Run the FFT of local code | ||||
|   | ||||
| @@ -106,16 +106,14 @@ GalileoE5bPcpsAcquisitionFpga::GalileoE5bPcpsAcquisitionFpga(const Configuration | ||||
|  | ||||
|             galileo_e5_b_code_gen_complex_sampled(code, PRN, signal_, fs_in_, 0); | ||||
|  | ||||
|             for (uint32_t s = code_length; s < 2 * code_length; s++) | ||||
|             if (acq_parameters_.enable_zero_padding) | ||||
|                 { | ||||
|                     code[s] = code[s - code_length]; | ||||
|                     // Duplicate the code sequence | ||||
|                     std::copy(code.begin(), code.begin() + code_length, code.begin() + code_length); | ||||
|                 } | ||||
|  | ||||
|             // fill in zero padding | ||||
|             for (uint32_t s = 2 * code_length; s < nsamples_total; s++) | ||||
|                 { | ||||
|                     code[s] = std::complex<float>(0.0, 0.0); | ||||
|                 } | ||||
|             // Fill in zero padding for the rest | ||||
|             std::fill(code.begin() + (acq_parameters_.enable_zero_padding ? 2 * code_length : code_length), code.end(), std::complex<float>(0.0, 0.0)); | ||||
|  | ||||
|             std::copy_n(code.data(), nsamples_total, fft_if->get_inbuf());                            // copy to FFT buffer | ||||
|             fft_if->execute();                                                                        // Run the FFT of local code | ||||
|   | ||||
| @@ -87,16 +87,14 @@ GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga( | ||||
|         { | ||||
|             gps_l1_ca_code_gen_complex_sampled(code, PRN, fs_in_, 0);  // generate PRN code | ||||
|  | ||||
|             for (uint32_t s = code_length; s < 2 * code_length; s++) | ||||
|             if (acq_parameters_.enable_zero_padding) | ||||
|                 { | ||||
|                     code[s] = code[s - code_length]; | ||||
|                     // Duplicate the code sequence | ||||
|                     std::copy(code.begin(), code.begin() + code_length, code.begin() + code_length); | ||||
|                 } | ||||
|  | ||||
|             // fill in zero padding | ||||
|             for (uint32_t s = 2 * code_length; s < nsamples_total; s++) | ||||
|                 { | ||||
|                     code[s] = std::complex<float>(0.0, 0.0); | ||||
|                 } | ||||
|             // Fill in zero padding for the rest | ||||
|             std::fill(code.begin() + (acq_parameters_.enable_zero_padding ? 2 * code_length : code_length), code.end(), std::complex<float>(0.0, 0.0)); | ||||
|  | ||||
|             std::copy_n(code.data(), nsamples_total, fft_if->get_inbuf());                            // copy to FFT buffer | ||||
|             fft_if->execute();                                                                        // Run the FFT of local code | ||||
|   | ||||
| @@ -87,11 +87,16 @@ GpsL2MPcpsAcquisitionFpga::GpsL2MPcpsAcquisitionFpga( | ||||
|     for (unsigned int PRN = 1; PRN <= NUM_PRNs; PRN++) | ||||
|         { | ||||
|             gps_l2c_m_code_gen_complex_sampled(code, PRN, fs_in_); | ||||
|             // fill in zero padding | ||||
|             for (unsigned int s = code_length; s < nsamples_total; s++) | ||||
|  | ||||
|             if (acq_parameters_.enable_zero_padding) | ||||
|                 { | ||||
|                     code[s] = std::complex<float>(0.0, 0.0); | ||||
|                     // Duplicate the code sequence | ||||
|                     std::copy(code.begin(), code.begin() + code_length, code.begin() + code_length); | ||||
|                 } | ||||
|  | ||||
|             // Fill in zero padding for the rest | ||||
|             std::fill(code.begin() + (acq_parameters_.enable_zero_padding ? 2 * code_length : code_length), code.end(), std::complex<float>(0.0, 0.0)); | ||||
|  | ||||
|             std::copy_n(code.data(), nsamples_total, fft_if->get_inbuf());                            // copy to FFT buffer | ||||
|             fft_if->execute();                                                                        // Run the FFT of local code | ||||
|             volk_32fc_conjugate_32fc(fft_codes_padded.data(), fft_if->get_outbuf(), nsamples_total);  // conjugate values | ||||
|   | ||||
| @@ -88,16 +88,15 @@ GpsL5iPcpsAcquisitionFpga::GpsL5iPcpsAcquisitionFpga( | ||||
|         { | ||||
|             gps_l5i_code_gen_complex_sampled(code, PRN, fs_in_); | ||||
|  | ||||
|             for (uint32_t s = code_length; s < 2 * code_length; s++) | ||||
|             if (acq_parameters_.enable_zero_padding) | ||||
|                 { | ||||
|                     code[s] = code[s - code_length]; | ||||
|                     // Duplicate the code sequence | ||||
|                     std::copy(code.begin(), code.begin() + code_length, code.begin() + code_length); | ||||
|                 } | ||||
|  | ||||
|             for (uint32_t s = 2 * code_length; s < nsamples_total; s++) | ||||
|                 { | ||||
|                     // fill in zero padding | ||||
|                     code[s] = std::complex<float>(0.0, 0.0); | ||||
|                 } | ||||
|             // Fill in zero padding for the rest | ||||
|             std::fill(code.begin() + (acq_parameters_.enable_zero_padding ? 2 * code_length : code_length), code.end(), std::complex<float>(0.0, 0.0)); | ||||
|  | ||||
|             std::copy_n(code.data(), nsamples_total, fft_if->get_inbuf());                            // copy to FFT buffer | ||||
|             fft_if->execute();                                                                        // Run the FFT of local code | ||||
|             volk_32fc_conjugate_32fc(fft_codes_padded.data(), fft_if->get_outbuf(), nsamples_total);  // conjugate values | ||||
|   | ||||
| @@ -591,7 +591,7 @@ int galileo_e5a_noncoherentIQ_acquisition_caf_cc::general_work(int noutput_items | ||||
|                                 std::stringstream filename; | ||||
|                                 std::streamsize n = sizeof(float) * (d_fft_size);  // noncomplex file write | ||||
|                                 filename.str(""); | ||||
|                                 filename << "../data/test_statistics_E5a_sat_" | ||||
|                                 filename << "./test_statistics_E5a_sat_" | ||||
|                                          << d_gnss_synchro->PRN << "_doppler_" << doppler << ".dat"; | ||||
|                                 d_dump_file.open(filename.str().c_str(), std::ios::out | std::ios::binary); | ||||
|                                 if (d_sampled_ms > 1)  // If integration time > 1 code | ||||
| @@ -694,7 +694,7 @@ int galileo_e5a_noncoherentIQ_acquisition_caf_cc::general_work(int noutput_items | ||||
|                                 std::stringstream filename; | ||||
|                                 std::streamsize n = sizeof(float) * (d_num_doppler_bins);  // noncomplex file write | ||||
|                                 filename.str(""); | ||||
|                                 filename << "../data/test_statistics_E5a_sat_" << d_gnss_synchro->PRN << "_CAF.dat"; | ||||
|                                 filename << "./test_statistics_E5a_sat_" << d_gnss_synchro->PRN << "_CAF.dat"; | ||||
|                                 d_dump_file.open(filename.str().c_str(), std::ios::out | std::ios::binary); | ||||
|                                 d_dump_file.write(reinterpret_cast<char *>(d_CAF_vector.data()), n); | ||||
|                                 d_dump_file.close(); | ||||
|   | ||||
| @@ -336,7 +336,7 @@ int galileo_pcps_8ms_acquisition_cc::general_work(int noutput_items, | ||||
|                                 std::stringstream filename; | ||||
|                                 std::streamsize n = 2 * sizeof(float) * (d_fft_size);  // complex file write | ||||
|                                 filename.str(""); | ||||
|                                 filename << "../data/test_statistics_" << d_gnss_synchro->System | ||||
|                                 filename << "./test_statistics_" << d_gnss_synchro->System | ||||
|                                          << "_" << d_gnss_synchro->Signal[0] << d_gnss_synchro->Signal[1] << "_sat_" | ||||
|                                          << d_gnss_synchro->PRN << "_doppler_" << doppler << ".dat"; | ||||
|                                 d_dump_file.open(filename.str().c_str(), std::ios::out | std::ios::binary); | ||||
|   | ||||
| @@ -263,7 +263,7 @@ float pcps_assisted_acquisition_cc::search_maximum() | ||||
|             std::stringstream filename; | ||||
|             std::streamsize n = 2 * sizeof(float) * (d_fft_size);  // complex file write | ||||
|             filename.str(""); | ||||
|             filename << "../data/test_statistics_" << d_gnss_synchro->System | ||||
|             filename << "./test_statistics_" << d_gnss_synchro->System | ||||
|                      << "_" << d_gnss_synchro->Signal[0] << d_gnss_synchro->Signal[1] << "_sat_" | ||||
|                      << d_gnss_synchro->PRN << "_doppler_" << d_gnss_synchro->Acq_doppler_hz << ".dat"; | ||||
|             d_dump_file.open(filename.str().c_str(), std::ios::out | std::ios::binary); | ||||
|   | ||||
| @@ -352,7 +352,7 @@ int pcps_cccwsr_acquisition_cc::general_work(int noutput_items, | ||||
|                                 std::stringstream filename; | ||||
|                                 std::streamsize n = 2 * sizeof(float) * (d_fft_size);  // complex file write | ||||
|                                 filename.str(""); | ||||
|                                 filename << "../data/test_statistics_" << d_gnss_synchro->System | ||||
|                                 filename << "./test_statistics_" << d_gnss_synchro->System | ||||
|                                          << "_" << d_gnss_synchro->Signal[0] << d_gnss_synchro->Signal[1] << "_sat_" | ||||
|                                          << d_gnss_synchro->PRN << "_doppler_" << doppler << ".dat"; | ||||
|                                 d_dump_file.open(filename.str().c_str(), std::ios::out | std::ios::binary); | ||||
|   | ||||
| @@ -429,7 +429,7 @@ void pcps_opencl_acquisition_cc::acquisition_core_volk() | ||||
|                     std::stringstream filename; | ||||
|                     std::streamsize n = 2 * sizeof(float) * (d_fft_size);  // complex file write | ||||
|                     filename.str(""); | ||||
|                     filename << "../data/test_statistics_" << d_gnss_synchro->System | ||||
|                     filename << "./test_statistics_" << d_gnss_synchro->System | ||||
|                              << "_" << d_gnss_synchro->Signal[0] << d_gnss_synchro->Signal[1] << "_sat_" | ||||
|                              << d_gnss_synchro->PRN << "_doppler_" << doppler << ".dat"; | ||||
|                     d_dump_file.open(filename.str().c_str(), std::ios::out | std::ios::binary); | ||||
| @@ -590,7 +590,7 @@ void pcps_opencl_acquisition_cc::acquisition_core_opencl() | ||||
|                     std::stringstream filename; | ||||
|                     std::streamsize n = 2 * sizeof(float) * (d_fft_size);  // complex file write | ||||
|                     filename.str(""); | ||||
|                     filename << "../data/test_statistics_" << d_gnss_synchro->System | ||||
|                     filename << "./test_statistics_" << d_gnss_synchro->System | ||||
|                              << "_" << d_gnss_synchro->Signal[0] << d_gnss_synchro->Signal[1] << "_sat_" | ||||
|                              << d_gnss_synchro->PRN << "_doppler_" << doppler << ".dat"; | ||||
|                     d_dump_file.open(filename.str().c_str(), std::ios::out | std::ios::binary); | ||||
|   | ||||
| @@ -436,7 +436,7 @@ int pcps_quicksync_acquisition_cc::general_work(int noutput_items, | ||||
|                                 std::stringstream filename; | ||||
|                                 std::streamsize n = sizeof(float) * (d_fft_size);  // complex file write | ||||
|                                 filename.str(""); | ||||
|                                 filename << "../data/test_statistics_" << d_gnss_synchro->System | ||||
|                                 filename << "./test_statistics_" << d_gnss_synchro->System | ||||
|                                          << "_" << d_gnss_synchro->Signal[0] << d_gnss_synchro->Signal[1] << "_sat_" | ||||
|                                          << d_gnss_synchro->PRN << "_doppler_" << doppler << ".dat"; | ||||
|                                 d_dump_file.open(filename.str().c_str(), std::ios::out | std::ios::binary); | ||||
|   | ||||
| @@ -342,7 +342,7 @@ int pcps_tong_acquisition_cc::general_work(int noutput_items, | ||||
|                                 std::stringstream filename; | ||||
|                                 std::streamsize n = 2 * sizeof(float) * (d_fft_size);  // complex file write | ||||
|                                 filename.str(""); | ||||
|                                 filename << "../data/test_statistics_" << d_gnss_synchro->System | ||||
|                                 filename << "./test_statistics_" << d_gnss_synchro->System | ||||
|                                          << "_" << d_gnss_synchro->Signal[0] << d_gnss_synchro->Signal[1] << "_sat_" | ||||
|                                          << d_gnss_synchro->PRN << "_doppler_" << doppler << ".dat"; | ||||
|                                 d_dump_file.open(filename.str().c_str(), std::ios::out | std::ios::binary); | ||||
|   | ||||
| @@ -46,9 +46,11 @@ void Acq_Conf_Fpga::SetFromConfiguration(const ConfigurationInterface *configura | ||||
|     // code length in samples | ||||
|     code_length = static_cast<uint32_t>(std::round(static_cast<double>(fs_in) / (chip_rate / code_length_chips))); | ||||
|  | ||||
|     enable_zero_padding = configuration->property(role + ".enable_zero_padding", true); | ||||
|  | ||||
|     // The FPGA can only use FFT lengths that are a power of two. | ||||
|     float nbits = ceilf(log2f(static_cast<float>(code_length) * 2.0F)); | ||||
|     samples_per_code = pow(2, nbits); | ||||
|     float factor = enable_zero_padding ? 2.0F : 1.0F; | ||||
|     samples_per_code = pow(2, ceilf(log2f(static_cast<float>(code_length) * factor))); | ||||
|  | ||||
|     // repeat satellite | ||||
|     repeat_satellite = configuration->property(role + ".repeat_satellite", false); | ||||
|   | ||||
| @@ -57,6 +57,7 @@ public: | ||||
|     uint32_t samples_per_code{1U}; | ||||
|     uint32_t code_length{16000U}; | ||||
|     bool make_2_steps{false}; | ||||
|     bool enable_zero_padding{true}; | ||||
|     bool repeat_satellite{false}; | ||||
|  | ||||
| private: | ||||
|   | ||||
| @@ -35,7 +35,7 @@ ByteToShort::ByteToShort(const ConfigurationInterface* configuration, | ||||
| { | ||||
|     const std::string default_input_item_type("byte"); | ||||
|     const std::string default_output_item_type("short"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|     const std::string default_dump_filename("./data_type_adapter.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
|   | ||||
| @@ -32,7 +32,7 @@ CshortToGrComplex::CshortToGrComplex(const ConfigurationInterface* configuration | ||||
|                                 out_streams_(out_streams), | ||||
|                                 dump_(configuration->property(role_ + ".dump", false)) | ||||
| { | ||||
|     const std::string default_dump_filename("../data/data_type_adapter.dat"); | ||||
|     const std::string default_dump_filename("./data_type_adapter.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
|   | ||||
| @@ -37,7 +37,7 @@ IbyteToCbyte::IbyteToCbyte(const ConfigurationInterface* configuration, | ||||
| { | ||||
|     const std::string default_input_item_type("byte"); | ||||
|     const std::string default_output_item_type("lv_8sc_t"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|     const std::string default_dump_filename("./data_type_adapter.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
|   | ||||
| @@ -34,7 +34,7 @@ IbyteToComplex::IbyteToComplex(const ConfigurationInterface* configuration, cons | ||||
| { | ||||
|     const std::string default_input_item_type("byte"); | ||||
|     const std::string default_output_item_type("gr_complex"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|     const std::string default_dump_filename("./data_type_adapter.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
|   | ||||
| @@ -36,7 +36,7 @@ IbyteToCshort::IbyteToCshort(const ConfigurationInterface* configuration, | ||||
| { | ||||
|     const std::string default_input_item_type("byte"); | ||||
|     const std::string default_output_item_type("cshort"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|     const std::string default_dump_filename("./data_type_adapter.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
|   | ||||
| @@ -34,7 +34,7 @@ IshortToComplex::IshortToComplex(const ConfigurationInterface* configuration, | ||||
| { | ||||
|     const std::string default_input_item_type("short"); | ||||
|     const std::string default_output_item_type("gr_complex"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|     const std::string default_dump_filename("./data_type_adapter.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
|   | ||||
| @@ -36,7 +36,7 @@ IshortToCshort::IshortToCshort(const ConfigurationInterface* configuration, | ||||
| { | ||||
|     const std::string default_input_item_type("short"); | ||||
|     const std::string default_output_item_type("cshort"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|     const std::string default_dump_filename("./data_type_adapter.dat"); | ||||
|  | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|  | ||||
|   | ||||
| @@ -34,7 +34,7 @@ BeamformerFilter::BeamformerFilter( | ||||
|       dump_(configuration->property(role + ".dump", false)) | ||||
| { | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_file("./data/input_filter.dat"); | ||||
|     const std::string default_dump_file("./input_filter.dat"); | ||||
|     item_type_ = configuration->property(role + ".item_type", default_item_type); | ||||
|     dump_filename_ = configuration->property(role + ".dump_filename", default_dump_file); | ||||
|     DLOG(INFO) << "role " << role_; | ||||
|   | ||||
| @@ -142,7 +142,7 @@ void FirFilter::init() | ||||
|     const std::string default_input_item_type("gr_complex"); | ||||
|     const std::string default_output_item_type("gr_complex"); | ||||
|     const std::string default_taps_item_type("float"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|     const std::string default_dump_filename("./input_filter.dat"); | ||||
|     const std::string default_filter_type("bandpass"); | ||||
|     const std::vector<double> default_bands = {0.0, 0.4, 0.6, 1.0}; | ||||
|     const std::vector<double> default_ampl = {1.0, 1.0, 0.0, 0.0}; | ||||
|   | ||||
| @@ -41,7 +41,7 @@ FreqXlatingFirFilter::FreqXlatingFirFilter(const ConfigurationInterface* configu | ||||
|     const std::string default_input_item_type("gr_complex"); | ||||
|     const std::string default_output_item_type("gr_complex"); | ||||
|     const std::string default_taps_item_type("float"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|     const std::string default_dump_filename("./input_filter.dat"); | ||||
|     const double default_intermediate_freq = 0.0; | ||||
|     const double default_sampling_freq = 4000000.0; | ||||
|     const int default_number_of_taps = 6; | ||||
|   | ||||
| @@ -36,7 +36,7 @@ NotchFilter::NotchFilter(const ConfigurationInterface* configuration, | ||||
|       dump_(configuration->property(role + ".dump", false)) | ||||
| { | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_file("./data/input_filter.dat"); | ||||
|     const std::string default_dump_file("./input_filter.dat"); | ||||
|     const float default_pfa = 0.001; | ||||
|     const float default_p_c_factor = 0.9; | ||||
|     const int default_length_ = 32; | ||||
|   | ||||
| @@ -37,7 +37,7 @@ NotchFilterLite::NotchFilterLite(const ConfigurationInterface* configuration, | ||||
|       dump_(configuration->property(role + ".dump", false)) | ||||
| { | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_file("./data/input_filter.dat"); | ||||
|     const std::string default_dump_file("./input_filter.dat"); | ||||
|     const float default_p_c_factor = 0.9; | ||||
|     const float default_pfa = 0.001; | ||||
|     const float default_samp_freq = 4000000; | ||||
|   | ||||
| @@ -39,7 +39,7 @@ PulseBlankingFilter::PulseBlankingFilter(const ConfigurationInterface* configura | ||||
|       out_streams_(out_streams) | ||||
| { | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_filename("../data/input_filter.dat"); | ||||
|     const std::string default_dump_filename("./input_filter.dat"); | ||||
|     const float default_pfa_ = 0.04; | ||||
|     const float pfa = configuration->property(role_ + ".pfa", default_pfa_); | ||||
|     const int default_length_ = 32; | ||||
|   | ||||
| @@ -43,7 +43,7 @@ DirectResamplerConditioner::DirectResamplerConditioner( | ||||
|       dump_(configuration->property(role + ".dump", false)) | ||||
| { | ||||
|     const std::string default_item_type("short"); | ||||
|     const std::string default_dump_file("./data/signal_conditioner.dat"); | ||||
|     const std::string default_dump_file("./resampler.dat"); | ||||
|     const double fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 2048000.0); | ||||
|     const double fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     item_type_ = configuration->property(role + ".item_type", default_item_type); | ||||
|   | ||||
| @@ -39,7 +39,7 @@ MmseResamplerConditioner::MmseResamplerConditioner( | ||||
|       dump_(configuration->property(role + ".dump", false)) | ||||
| { | ||||
|     const std::string default_item_type("gr_complex"); | ||||
|     const std::string default_dump_file("./data/signal_conditioner.dat"); | ||||
|     const std::string default_dump_file("./resampler.dat"); | ||||
|     const double fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 2048000.0); | ||||
|     const double fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated); | ||||
|     item_type_ = configuration->property(role + ".item_type", default_item_type); | ||||
|   | ||||
| @@ -35,7 +35,7 @@ FifoSignalSource::FifoSignalSource(ConfigurationInterface const* configuration, | ||||
|     [[maybe_unused]] Concurrent_Queue<pmt::pmt_t>* queue) | ||||
|     : SignalSourceBase(configuration, role, "Fifo_Signal_Source"s), | ||||
|       item_size_(sizeof(gr_complex)),  // currenty output item size is always gr_complex | ||||
|       fifo_reader_(FifoReader::make(configuration->property(role + ".filename", "../data/example_capture.dat"s), | ||||
|       fifo_reader_(FifoReader::make(configuration->property(role + ".filename", "./example_capture.dat"s), | ||||
|           configuration->property(role + ".sample_type", "ishort"s))), | ||||
|       dump_(configuration->property(role + ".dump", false)), | ||||
|       dump_filename_(configuration->property(role + ".dump_filename", "./data/signal_source.dat"s)) | ||||
|   | ||||
| @@ -48,8 +48,8 @@ FileSourceBase::FileSourceBase(ConfigurationInterface const* configuration, std: | ||||
|     : SignalSourceBase(configuration, role, std::move(impl)), | ||||
|       queue_(queue), | ||||
|       role_(role), | ||||
|       filename_(configuration->property(role_ + ".filename"s, "../data/example_capture.dat"s)), | ||||
|       dump_filename_(configuration->property(role_ + ".dump_filename"s, "../data/my_capture.dat"s)), | ||||
|       filename_(configuration->property(role_ + ".filename"s, "./example_capture.dat"s)), | ||||
|       dump_filename_(configuration->property(role_ + ".dump_filename"s, "./my_capture.dat"s)), | ||||
|       item_type_(configuration->property(role_ + ".item_type"s, std::move(default_item_type))), | ||||
|       item_size_(0), | ||||
|       header_size_(configuration->property(role_ + ".header_size"s, uint64_t(0))), | ||||
|   | ||||
| @@ -34,7 +34,7 @@ FileTimestampSignalSource::FileTimestampSignalSource(const ConfigurationInterfac | ||||
|     unsigned int out_streams, | ||||
|     Concurrent_Queue<pmt::pmt_t>* queue) | ||||
|     : FileSourceBase(configuration, role, "File_Timestamp_Signal_Source"s, queue, "byte"s), | ||||
|       timestamp_file_(configuration->property(role + ".timestamp_filename"s, "../data/example_capture_timestamp.dat"s)), | ||||
|       timestamp_file_(configuration->property(role + ".timestamp_filename"s, "./example_capture_timestamp.dat"s)), | ||||
|       timestamp_clock_offset_ms_(configuration->property(role + ".timestamp_clock_offset_ms"s, 0.0)) | ||||
| { | ||||
|     if (in_streams > 0) | ||||
|   | ||||
| @@ -61,7 +61,7 @@ IONGSMSSignalSource::IONGSMSSignalSource(const ConfigurationInterface* configura | ||||
|     Concurrent_Queue<pmt::pmt_t>* queue) | ||||
|     : SignalSourceBase(configuration, role, "ION_GSMS_Signal_Source"s), | ||||
|       stream_ids_(parse_comma_list(configuration->property(role + ".streams"s, ""s))), | ||||
|       metadata_filepath_(configuration->property(role + ".metadata_filename"s, "../data/example_capture_metadata.sdrx"s)), | ||||
|       metadata_filepath_(configuration->property(role + ".metadata_filename"s, "./example_capture_metadata.sdrx"s)), | ||||
|       in_streams_(in_streams), | ||||
|       out_streams_(out_streams) | ||||
| { | ||||
|   | ||||
| @@ -86,6 +86,23 @@ OsmosdrSignalSource::OsmosdrSignalSource(const ConfigurationInterface* configura | ||||
|             std::cout << "PLL Frequency tune error: " << osmosdr_source_->get_center_freq() - freq_ << " [Hz]...\n"; | ||||
|             LOG(INFO) << "PLL Frequency tune error: " << osmosdr_source_->get_center_freq() - freq_ << " [Hz]...\n"; | ||||
|  | ||||
|             // Set IQ balance and DC offset modes | ||||
|             // iq balance correction mode: 0 = Off, 1 = Manual, 2 = Automatic | ||||
|             // dc offset correction mode: 0 = Off, 1 = Manual, 2 = Automatic | ||||
|             int iq_balance_mode = configuration->property(role + ".iq_balance_mode", 2); | ||||
|             if (iq_balance_mode < 0 || iq_balance_mode > 2) | ||||
|                 { | ||||
|                     iq_balance_mode = 2; | ||||
|                 } | ||||
|             int dc_offset_mode = configuration->property(role + ".dc_offset_mode", 2); | ||||
|             if (dc_offset_mode < 0 || dc_offset_mode > 2) | ||||
|                 { | ||||
|                     dc_offset_mode = 2; | ||||
|                 } | ||||
|  | ||||
|             osmosdr_source_->set_iq_balance_mode(iq_balance_mode); | ||||
|             osmosdr_source_->set_dc_offset_mode(dc_offset_mode); | ||||
|  | ||||
|             // 4. set rx gain | ||||
|             if (this->AGC_enabled_ == true) | ||||
|                 { | ||||
| @@ -128,10 +145,9 @@ OsmosdrSignalSource::OsmosdrSignalSource(const ConfigurationInterface* configura | ||||
|             if (if_bw_ > 0.0) | ||||
|                 { | ||||
|                     osmosdr_source_->set_bandwidth(if_bw_, 0); | ||||
|                     // Get actual bandwidth | ||||
|                     std::cout << "Actual Bandwidth: " << osmosdr_source_->get_bandwidth(0) << " [Hz]...\n"; | ||||
|                 } | ||||
|  | ||||
|             // Get actual bandwidth | ||||
|             std::cout << "Actual Bandwidth: " << osmosdr_source_->get_bandwidth(0) << " [Hz]...\n"; | ||||
|         } | ||||
|     else | ||||
|         { | ||||
|   | ||||
| @@ -54,8 +54,8 @@ SpirGSS6450FileSignalSource::SpirGSS6450FileSignalSource(const ConfigurationInte | ||||
|       enable_throttle_control_(configuration->property(role + ".enable_throttle_control", false)), | ||||
|       endian_swap_(configuration->property(role + ".endian", false)) | ||||
| { | ||||
|     const std::string default_filename("../data/my_capture.dat"); | ||||
|     const std::string default_dump_filename("../data/my_capture_dump.dat"); | ||||
|     const std::string default_filename("./my_capture.dat"); | ||||
|     const std::string default_dump_filename("./my_capture_dump.dat"); | ||||
|     filename_ = configuration->property(role + ".filename", default_filename); | ||||
|     dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename); | ||||
|  | ||||
|   | ||||
| @@ -229,7 +229,7 @@ public: | ||||
|     { | ||||
|     } | ||||
|     const uint32_t tag_id; | ||||
|     uint32_t static id_counter; | ||||
|     static uint32_t id_counter; | ||||
|     uint32_t TOW; | ||||
|     uint32_t WN; | ||||
|     uint32_t PRNa; | ||||
|   | ||||
| @@ -112,7 +112,7 @@ endif() | ||||
| add_benchmark(benchmark_atan2 Gnuradio::runtime) | ||||
| add_benchmark(benchmark_copy) | ||||
| add_benchmark(benchmark_crypto core_libs Boost::headers ${EXTRA_BENCHMARK_DEPENDENCIES}) | ||||
| add_benchmark(benchmark_osnma core_libs Boost::headers ${EXTRA_BENCHMARK_DEPENDENCIES}) | ||||
| # add_benchmark(benchmark_osnma core_libs Boost::headers ${EXTRA_BENCHMARK_DEPENDENCIES}) | ||||
| add_benchmark(benchmark_detector core_system_parameters ${EXTRA_BENCHMARK_DEPENDENCIES}) | ||||
| add_benchmark(benchmark_preamble core_system_parameters ${EXTRA_BENCHMARK_DEPENDENCIES}) | ||||
| add_benchmark(benchmark_reed_solomon core_system_parameters ${EXTRA_BENCHMARK_DEPENDENCIES}) | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user
	 Carles Fernandez
					Carles Fernandez