[hamradio-commits] [gnss-sdr] 186/251: Swap I/Q in two bit cpx interleaved file signal source Some adjustments in the example configuration file to improve receiver sensitivity

Carles Fernandez carles_fernandez-guest at moszumanska.debian.org
Wed Sep 2 00:22:50 UTC 2015


This is an automated email from the git hooks/post-receive script.

carles_fernandez-guest pushed a commit to branch master
in repository gnss-sdr.

commit 09273943517390ae1ec6c07faba20f1b874bd4b5
Author: Javier <jarribas at cttc.es>
Date:   Fri Jul 3 15:37:30 2015 +0200

    Swap I/Q in two bit cpx interleaved file signal source
    Some adjustments in the example configuration file to improve receiver
    sensitivity
---
 conf/gnss-sdr_GPS_L1_two_bits_cpx.conf             | 36 ++++++++++++----------
 .../unpack_byte_2bit_cpx_samples.cc                | 32 ++++++++++++++-----
 2 files changed, 44 insertions(+), 24 deletions(-)

diff --git a/conf/gnss-sdr_GPS_L1_two_bits_cpx.conf b/conf/gnss-sdr_GPS_L1_two_bits_cpx.conf
index bcb835f..1e12e4f 100644
--- a/conf/gnss-sdr_GPS_L1_two_bits_cpx.conf
+++ b/conf/gnss-sdr_GPS_L1_two_bits_cpx.conf
@@ -31,7 +31,7 @@ GNSS-SDR.SUPL_CI=0x31b0
 SignalSource.implementation=Two_Bit_Cpx_File_Signal_Source
 
 ;#filename: path to file with the captured GNSS signal samples to be processed
-SignalSource.filename=/datalogger/captures/ajith/test1_two_cpx_sig2_60.dat
+SignalSource.filename=/datalogger/captures/ajith/test1_two_cpx_live.dat
 
 ;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 SignalSource.item_type=byte
@@ -52,7 +52,7 @@ SignalSource.samples=0
 SignalSource.repeat=false
 
 ;#dump: Dump the Signal source data to a file. Disable this option in this version
-SignalSource.dump=true
+SignalSource.dump=false
 
 SignalSource.dump_filename=../data/signal_source.dat
 
@@ -86,7 +86,7 @@ DataTypeAdapter.item_type=gr_complex
 InputFilter.implementation=Freq_Xlating_Fir_Filter
 
 ;#dump: Dump the filtered data to a file.
-InputFilter.dump=true
+InputFilter.dump=false
 
 ;#dump_filename: Log path and filename.
 InputFilter.dump_filename=../data/input_filter.dat
@@ -147,7 +147,7 @@ InputFilter.sampling_frequency=19200000
 ;#The following options are used only in Freq_Xlating_Fir_Filter implementation.
 ;#InputFilter.IF is the intermediate frequency (in Hz) shifted down to zero Hz
 
-InputFilter.IF=-4024000
+InputFilter.IF=4024000
 
 ;# Decimation factor after the frequency tranaslating block
 InputFilter.decimation_factor=6
@@ -179,7 +179,7 @@ Resampler.sample_freq_out=2048000
 
 ;######### CHANNELS GLOBAL CONFIG ############
 ;#count: Number of available GPS satellite channels.
-Channels_GPS.count=8
+Channels_GPS.count=6
 ;#count: Number of available Galileo satellite channels.
 Channels_Galileo.count=0
 ;#in_acquisition: Number of channels simultaneously acquiring for the whole receiver
@@ -195,26 +195,30 @@ Channel.signal=1C
 
 ;######### GPS ACQUISITION CONFIG ############
 
-;#dump: Enable or disable the acquisition internal data file logging [true] or [false] 
+;#dump: Enable or disable the acquisition internal data file logging [true] or [false]
 Acquisition_GPS.dump=false
 ;#filename: Log path and filename
 Acquisition_GPS.dump_filename=./acq_dump.dat
 ;#item_type: Type and resolution for each of the signal samples. Use only gr_complex in this version.
 Acquisition_GPS.item_type=gr_complex
-;#if: Signal intermediate frequency in [Hz] 
+;#if: Signal intermediate frequency in [Hz]
 Acquisition_GPS.if=0
 ;#sampled_ms: Signal block duration for the acquisition signal detection [ms]
 Acquisition_GPS.sampled_ms=1
 ;#implementation: Acquisition algorithm selection for this channel: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
-Acquisition_GPS.implementation=GPS_L1_CA_PCPS_Acquisition
+Acquisition_GPS.implementation=GPS_L1_CA_PCPS_Acquisition_Fine_Doppler
 ;#threshold: Acquisition threshold
-Acquisition_GPS.threshold=0.0075
-;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition] 
-;Acquisition_GPS.pfa=0.01
+Acquisition_GPS.threshold=0.007
+;#pfa: Acquisition false alarm probability. This option overrides the threshold option. Only use with implementations: [GPS_L1_CA_PCPS_Acquisition] or [Galileo_E1_PCPS_Ambiguous_Acquisition]
+;Acquisition_GPS.pfa=0.0001
 ;#doppler_max: Maximum expected Doppler shift [Hz]
 Acquisition_GPS.doppler_max=10000
-;#doppler_max: Doppler step in the grid search [Hz]
+;#doppler_max: Maximum expected Doppler shift [Hz]
+Acquisition_GPS.doppler_min=-10000
+;#doppler_step Doppler step in the grid search [Hz]
 Acquisition_GPS.doppler_step=500
+;#maximum dwells
+Acquisition_GPS.max_dwells=15
 
 ;######### ACQUISITION CHANNELS CONFIG ######
 ;#The following options are specific to each channel and overwrite the generic options 
@@ -231,16 +235,16 @@ Tracking_GPS.item_type=gr_complex
 Tracking_GPS.if=0
 
 ;#dump: Enable or disable the Tracking internal binary data file logging [true] or [false] 
-Tracking_GPS.dump=false
+Tracking_GPS.dump=true
 
 ;#dump_filename: Log path and filename. Notice that the tracking channel will add "x.dat" where x is the channel number.
-Tracking_GPS.dump_filename=../data/epl_tracking_ch_
+Tracking_GPS.dump_filename=./tracking_ch_
 
 ;#pll_bw_hz: PLL loop filter bandwidth [Hz]
-Tracking_GPS.pll_bw_hz=45.0;
+Tracking_GPS.pll_bw_hz=40.0;
 
 ;#dll_bw_hz: DLL loop filter bandwidth [Hz]
-Tracking_GPS.dll_bw_hz=2.0;
+Tracking_GPS.dll_bw_hz=1.5;
 
 ;#fll_bw_hz: FLL loop filter bandwidth [Hz]
 Tracking_GPS.fll_bw_hz=10.0;
diff --git a/src/algorithms/signal_source/gnuradio_blocks/unpack_byte_2bit_cpx_samples.cc b/src/algorithms/signal_source/gnuradio_blocks/unpack_byte_2bit_cpx_samples.cc
index 542357e..617a25b 100644
--- a/src/algorithms/signal_source/gnuradio_blocks/unpack_byte_2bit_cpx_samples.cc
+++ b/src/algorithms/signal_source/gnuradio_blocks/unpack_byte_2bit_cpx_samples.cc
@@ -69,19 +69,35 @@ int unpack_byte_2bit_cpx_samples::work(int noutput_items,
 			//*     Most Significant Nibble  - Sample n
 			//*     Least Significant Nibble - Sample n+1
 			//*     Packing order in Nibble Q1 Q0 I1 I0
+    	//normal
+//            signed char c = in[i];
+//            //Q[n]
+//            sample.two_bit_sample = (c>>6) & 3;
+//            out[n++] = (2*(short)sample.two_bit_sample+1);
+//            //I[n]
+//            sample.two_bit_sample = (c>>4) & 3;
+//            out[n++] = (2*(short)sample.two_bit_sample+1);
+//            //Q[n+1]
+//            sample.two_bit_sample = (c>>2) & 3;
+//            out[n++] = (2*(short)sample.two_bit_sample+1);
+//            //I[n+1]
+//            sample.two_bit_sample = c & 3;
+//            out[n++] = (2*(short)sample.two_bit_sample+1);
+
+    	//I/Q swap
             signed char c = in[i];
-            //Q[n]
-            sample.two_bit_sample = (c>>6) & 3;
-            out[n++] = (short)sample.two_bit_sample;
             //I[n]
             sample.two_bit_sample = (c>>4) & 3;
-            out[n++] = (short)sample.two_bit_sample;
-            //Q[n+1]
-            sample.two_bit_sample = (c>>2) & 3;
-            out[n++] = (short)sample.two_bit_sample;
+            out[n++] = (2*(short)sample.two_bit_sample+1);
+            //Q[n]
+            sample.two_bit_sample = (c>>6) & 3;
+            out[n++] = (2*(short)sample.two_bit_sample+1);
             //I[n+1]
             sample.two_bit_sample = c & 3;
-            out[n++] = (short)sample.two_bit_sample;
+            out[n++] = (2*(short)sample.two_bit_sample+1);
+            //Q[n+1]
+            sample.two_bit_sample = (c>>2) & 3;
+            out[n++] = (2*(short)sample.two_bit_sample+1);
 
         }
     return noutput_items;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/gnss-sdr.git



More information about the pkg-hamradio-commits mailing list