diff --git a/conf/gnss-sdr_BDS_B1I_byte.conf b/conf/gnss-sdr_BDS_B1I_byte.conf
new file mode 100644
index 000000000..ef3d29f79
--- /dev/null
+++ b/conf/gnss-sdr_BDS_B1I_byte.conf
@@ -0,0 +1,111 @@
+; This is a GNSS-SDR configuration file
+; The configuration API is described at https://gnss-sdr.org/docs/sp-blocks/
+
+; You can define your own receiver and invoke it by doing
+; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
+;
+
+[GNSS-SDR]
+
+;######### GLOBAL OPTIONS ##################
+;internal_fs_sps: Internal signal sampling frequency after the signal conditioning stage [samples per second].
+GNSS-SDR.internal_fs_sps=99375000
+
+;######### CONTROL_THREAD CONFIG ############
+ControlThread.wait_for_flowgraph=false
+
+;######### SIGNAL_SOURCE CONFIG ############
+SignalSource.implementation=File_Signal_Source
+SignalSource.filename=/media/dmiralles/Seagate Backup Plus Drive/GNSS Data/Beidou_B1_IF_signal.bin
+SignalSource.item_type=byte
+SignalSource.sampling_frequency=99375000
+SignalSource.samples=0
+SignalSource.repeat=false
+SignalSource.dump=false
+SignalSource.enable_throttle_control=false
+
+;######### SIGNAL_CONDITIONER CONFIG ############
+SignalConditioner.implementation=Signal_Conditioner
+DataTypeAdapter.implementation=Byte_To_Short
+InputFilter.implementation=Freq_Xlating_Fir_Filter
+InputFilter.input_item_type=short
+InputFilter.output_item_type=gr_complex
+InputFilter.taps_item_type=float
+InputFilter.number_of_taps=5
+InputFilter.number_of_bands=2
+InputFilter.band1_begin=0.0
+InputFilter.band1_end=0.70
+InputFilter.band2_begin=0.80
+InputFilter.band2_end=1.0
+InputFilter.ampl1_begin=1.0
+InputFilter.ampl1_end=1.0
+InputFilter.ampl2_begin=0.0
+InputFilter.ampl2_end=0.0
+InputFilter.band1_error=1.0
+InputFilter.band2_error=1.0
+InputFilter.filter_type=bandpass
+InputFilter.grid_density=16
+InputFilter.sampling_frequency=99375000
+InputFilter.IF=28902000
+Resampler.implementation=Pass_Through
+Resampler.sample_freq_in=99375000
+Resampler.sample_freq_out=99375000
+Resampler.item_type=gr_complex
+
+
+;######### CHANNELS GLOBAL CONFIG ############
+Channels_B1.count=8
+Channels.in_acquisition=1
+Channel.signal=B1
+
+
+;######### ACQUISITION GLOBAL CONFIG ############
+Acquisition_B1.implementation=BEIDOU_B1I_PCPS_Acquisition
+Acquisition_B1.item_type=gr_complex
+Acquisition_B1.coherent_integration_time_ms=1
+Acquisition_B1.threshold=0.00005
+;Acquisition_B1.pfa=0.0000001;
+Acquisition_B1.doppler_max=10000
+Acquisition_B1.doppler_step=100
+Acquisition_B1.dump=true
+Acquisition_B1.dump_filename=./bds_acq
+Acquisition_B1.blocking=false;
+Acquisition_B1.use_CFAR_algorithm=true;
+Acquisition_B1.bit_transition_flag = false;
+
+
+;######### TRACKING GLOBAL CONFIG ############
+Tracking_B1.implementation=BEIDOU_B1I_DLL_PLL_Tracking
+Tracking_B1.item_type=gr_complex
+Tracking_B1.pll_bw_hz=30.0;
+Tracking_B1.dll_bw_hz=3.0;
+Tracking_B1.dump=true;
+Tracking_B1.dump_filename=./epl_tracking_ch_
+
+
+;######### TELEMETRY DECODER GPS CONFIG ############
+TelemetryDecoder_B1.implementation=BEIDOU_B1I_Telemetry_Decoder
+TelemetryDecoder_B1.dump=false
+
+
+;######### OBSERVABLES CONFIG ############
+Observables.implementation=Hybrid_Observables
+Observables.dump=true
+Observables.dump_filename=./observables.dat
+
+
+;######### PVT CONFIG ############
+PVT.implementation=RTKLIB_PVT
+PVT.positioning_mode=Single  ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
+PVT.iono_model=Broadcast ; options: OFF, Broadcast, SBAS, Iono-Free-LC, Estimate_STEC, IONEX
+PVT.trop_model=Saastamoinen ; options: OFF, Saastamoinen, SBAS, Estimate_ZTD, Estimate_ZTD_Grad
+PVT.output_rate_ms=100
+PVT.display_rate_ms=500
+PVT.dump_filename=./PVT
+PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
+PVT.flag_nmea_tty_port=false;
+PVT.nmea_dump_devname=/dev/pts/4
+PVT.flag_rtcm_server=false
+PVT.flag_rtcm_tty_port=false
+PVT.rtcm_dump_devname=/dev/pts/1
+PVT.dump=false
diff --git a/conf/gnss-sdr_GPS_L1_CA_byte.conf b/conf/gnss-sdr_GPS_L1_CA_byte.conf
new file mode 100644
index 000000000..258130315
--- /dev/null
+++ b/conf/gnss-sdr_GPS_L1_CA_byte.conf
@@ -0,0 +1,110 @@
+; This is a GNSS-SDR configuration file
+; The configuration API is described at https://gnss-sdr.org/docs/sp-blocks/
+
+; You can define your own receiver and invoke it by doing
+; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
+;
+
+[GNSS-SDR]
+
+;######### GLOBAL OPTIONS ##################
+;internal_fs_sps: Internal signal sampling frequency after the signal conditioning stage [samples per second].
+GNSS-SDR.internal_fs_sps=99375000
+
+;######### CONTROL_THREAD CONFIG ############
+ControlThread.wait_for_flowgraph=false
+
+;######### SIGNAL_SOURCE CONFIG ############
+SignalSource.implementation=File_Signal_Source
+SignalSource.filename=/media/dmiralles/Seagate Backup Plus Drive/GNSS Data/Beidou_B1_IF_signal.bin
+SignalSource.item_type=byte
+SignalSource.sampling_frequency=99375000
+SignalSource.samples=0
+SignalSource.repeat=false
+SignalSource.dump=false
+SignalSource.enable_throttle_control=false
+
+;######### SIGNAL_CONDITIONER CONFIG ############
+SignalConditioner.implementation=Signal_Conditioner
+DataTypeAdapter.implementation=Byte_To_Short
+InputFilter.implementation=Freq_Xlating_Fir_Filter
+InputFilter.input_item_type=short
+InputFilter.output_item_type=gr_complex
+InputFilter.taps_item_type=float
+InputFilter.number_of_taps=5
+InputFilter.number_of_bands=2
+InputFilter.band1_begin=0.0
+InputFilter.band1_end=0.70
+InputFilter.band2_begin=0.80
+InputFilter.band2_end=1.0
+InputFilter.ampl1_begin=1.0
+InputFilter.ampl1_end=1.0
+InputFilter.ampl2_begin=0.0
+InputFilter.ampl2_end=0.0
+InputFilter.band1_error=1.0
+InputFilter.band2_error=1.0
+InputFilter.filter_type=bandpass
+InputFilter.grid_density=16
+InputFilter.sampling_frequency=99375000
+InputFilter.IF=14580000
+Resampler.implementation=Direct_Resampler
+Resampler.sample_freq_in=99375000
+Resampler.sample_freq_out=99375000
+Resampler.item_type=gr_complex
+
+
+;######### CHANNELS GLOBAL CONFIG ############
+Channels_1C.count=8
+Channels.in_acquisition=1
+Channel.signal=1C
+
+
+;######### ACQUISITION GLOBAL CONFIG ############
+Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
+Acquisition_1C.item_type=gr_complex
+Acquisition_1C.coherent_integration_time_ms=1
+Acquisition_1C.threshold=3.5
+;Acquisition_1C.pfa=0.000001;
+Acquisition_1C.doppler_max=14000
+Acquisition_1C.doppler_step=100
+Acquisition_1C.dump=true
+Acquisition_1C.dump_filename=./gps_acq
+Acquisition_1C.blocking=false;
+Acquisition_1C.use_CFAR_algorithm=false
+
+
+;######### TRACKING GLOBAL CONFIG ############
+Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
+Tracking_1C.item_type=gr_complex
+Tracking_1C.pll_bw_hz=30.0;
+Tracking_1C.dll_bw_hz=3.0;
+Tracking_1C.dump=true;
+Tracking_1C.dump_filename=./epl_tracking_ch_
+
+
+;######### TELEMETRY DECODER GPS CONFIG ############
+TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
+TelemetryDecoder_1C.dump=false
+
+
+;######### OBSERVABLES CONFIG ############
+Observables.implementation=Hybrid_Observables
+Observables.dump=true
+Observables.dump_filename=./observables.dat
+
+
+;######### PVT CONFIG ############
+PVT.implementation=RTKLIB_PVT
+PVT.positioning_mode=Single  ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
+PVT.iono_model=Broadcast ; options: OFF, Broadcast, SBAS, Iono-Free-LC, Estimate_STEC, IONEX
+PVT.trop_model=Saastamoinen ; options: OFF, Saastamoinen, SBAS, Estimate_ZTD, Estimate_ZTD_Grad
+PVT.output_rate_ms=100
+PVT.display_rate_ms=500
+PVT.dump_filename=./PVT
+PVT.nmea_dump_filename=./gnss_sdr_pvt.nmea;
+PVT.flag_nmea_tty_port=false;
+PVT.nmea_dump_devname=/dev/pts/4
+PVT.flag_rtcm_server=false
+PVT.flag_rtcm_tty_port=false
+PVT.rtcm_dump_devname=/dev/pts/1
+PVT.dump=false
diff --git a/src/utils/matlab/dll_pll_veml_plot_sample.m b/src/utils/matlab/dll_pll_veml_plot_sample.m
index 8d4cf62d4..a78ff99a7 100644
--- a/src/utils/matlab/dll_pll_veml_plot_sample.m
+++ b/src/utils/matlab/dll_pll_veml_plot_sample.m
@@ -34,12 +34,12 @@ if ~exist('dll_pll_veml_read_tracking_dump.m', 'file')
     addpath('./libs')
 end
 
-samplingFreq = 25000000;     %[Hz]
+samplingFreq = 99375000;     %[Hz]
 coherent_integration_time_ms = 1; %[ms]
 channels = 8;   % Number of channels
 first_channel = 0;  % Number of the first channel
 
-path = '/home/sergi/gnss/gnss-sdr/install/';  %% CHANGE THIS PATH
+path = '/home/dmiralles/Documents/gnss-sdr/';%#';  %% CHANGE THIS PATH
 
 for N=1:1:channels
     tracking_log_path = [path 'epl_tracking_ch_' num2str(N+first_channel-1) '.dat']; %% CHANGE track_ch_ BY YOUR dump_filename
diff --git a/src/utils/matlab/plot_acq_grid.m b/src/utils/matlab/plot_acq_grid.m
index 86a710e76..b72946a77 100644
--- a/src/utils/matlab/plot_acq_grid.m
+++ b/src/utils/matlab/plot_acq_grid.m
@@ -28,13 +28,13 @@
 
 %%%%%%%%% ?????? CONFIGURE !!! %%%%%%%%%%%%%
 
-path = '/archive/';
-file = 'acq';
+path = '/home/dmiralles/Documents/gnss-sdr/';
+file = 'bds_acq';
 
-sat = 7;
+sat = 32;
 
 channel = 0;
-execution = 1;
+execution = 3;
 % Signal:
 %     1 GPS  L1
 %     2 GPS  L2M
@@ -42,10 +42,11 @@ execution = 1;
 %     4 Gal. E1B
 %     5 Gal. E5
 %     6 Glo. 1G
+%     7 BDS  B1
 
-signal_type = 1;
+signal_type = 7;
 
-%%% True for light grid representation
+%%% True for light acq_grid representation
 lite_view = true;
 
 %%% If lite_view, it sets the number of samples per chip in the graphical representation
@@ -78,21 +79,25 @@ switch(signal_type)
         n_chips = 511;
         system = 'R';
         signal = '1G';
+    case 7
+        n_chips = 2046;
+        system = 'C';
+        signal = 'B1';
 end
 filename = [path file '_' system '_' signal '_ch_' num2str(channel) '_' num2str(execution) '_sat_' num2str(sat) '.mat'];
 load(filename);
-[n_fft n_dop_bins] = size(grid);
-[d_max f_max] = find(grid == max(max(grid)));
+[n_fft n_dop_bins] = size(acq_grid);
+[d_max f_max] = find(acq_grid == max(max(acq_grid)));
 freq = (0 : n_dop_bins - 1) * doppler_step - doppler_max;
 delay = (0 : n_fft - 1) / n_fft * n_chips;
 figure(1)
 if(lite_view == false)
-    surf(freq, delay, grid, 'FaceColor', 'interp', 'LineStyle', 'none')
+    surf(freq, delay, acq_grid, 'FaceColor', 'interp', 'LineStyle', 'none')
     ylim([min(delay) max(delay)])
 else
     delay_interp = (0 : n_samples_per_chip * n_chips - 1) / n_samples_per_chip;
-    grid_interp = spline(delay, grid', delay_interp)';
-    surf(freq, delay_interp, grid_interp, 'FaceColor', 'interp', 'LineStyle', 'none')
+    acq_grid_interp = spline(delay, acq_grid', delay_interp)';
+    surf(freq, delay_interp, acq_grid_interp, 'FaceColor', 'interp', 'LineStyle', 'none')
     ylim([min(delay_interp) max(delay_interp)])
 end
 xlabel('Doppler shift / Hz')
@@ -101,14 +106,14 @@ ylabel('Code delay / chips')
 zlabel('Test statistics')
 figure(2)
 subplot(2,1,1)
-plot(freq, grid(d_max, :))
+plot(freq, acq_grid(d_max, :))
 xlim([min(freq) max(freq)])
 xlabel('Doppler shift / Hz')
 ylabel('Test statistics')
 title(['Fixed code delay to ' num2str((d_max - 1) / n_fft * n_chips) ' chips'])
 subplot(2,1,2)
 normalization = (d_samples_per_code^4) * input_power;
-plot(delay, acq_grid(:, f_max)./normalization)
+plot(delay, acq_acq_grid(:, f_max)./normalization)
 xlim([min(delay) max(delay)])
 xlabel('Code delay / chips')
 ylabel('Test statistics')