function settings = acquisitionSettings( signalType )

%==============================================================================%
%                                                                              %
%   settings = acquisitionSettings( signalType )                               %
%                                                                              %
%   Initialize constants and acquisition settings                              %
%   David S. De Lorenzo                                                        %
%   17 November 2005                                                           %
%                                                                              %
%==============================================================================%
%                       GPS Software Receiver in Matlab                        %
%     Copyright (c) 2003-2017 David S. De Lorenzo / 2018-2023 Trimble Inc.     %
%==============================================================================%

%--- Initialize the structure --------------------------------------------------
settings.softwareVersionNumber      = '3.4';
if ~(exist('OCTAVE_VERSION','builtin') > 0)
    settings.hostComputerName       = strcat(evalc('!hostname'));
end

%--- Signal type - L1-C/A, L5-Quadrature, WAAS/L5 ------------------------------
settings.signalType                 = signalType;   % text string

%--- Raw signal parameters -----------------------------------------------------
%    These are settings for the 33MB TestDataFile provided with this code.
settings.samplingFreq               = 16.3676e6;    %  [Hz]
settings.intermediateFreq           =  4.1304e6;    %  [Hz]
settings.dataSource                 = 'SiGe';       % name of RF capture device
settings.dataType                   = 'real';       % real or complex samples
settings.dataFormat                 = 'schar';      % for 'fread' statement
settings.msToSkip                   =   0;          %  [ms]       usually 0
settings.extraSamplesToSkip         =   0;          % [samples]   usually 0

%--- Acquisition settings ------------------------------------------------------
%    These are good general default values for L1-C/A.
settings.acq.prnSearchVec           =  1:32;        %  PRN #      usually 1-32
settings.acq.dopplerEstimateVec     =   0;          %  [Hz]       usually 0
settings.acq.dopplerSearchRange     =  10e3;        %  [Hz]       usually 10e3
settings.acq.maxCarrierPhaseError   =  0.25;        % [cycles]    usually 0.25
settings.acq.msToProcessCoherent    =   3;          %  [ms]       usually 1-10
settings.acq.noncoherentBlocks      =   1;          % [blocks]    usually >=1
settings.acq.detectionThresholdCPPR =  2.0;         %  ratio      usually 1.6-2
settings.acq.coherentBlockStartMs   = [0 10];       %  [ms]       usually [0 10]

%--- Switches ------------------------------------------------------------------
settings.acq.plotSwitch             = '2D';         % switch      [no/2D/3D]
settings.acq.plotToJPEG             = true;         % logical     [true/false]

return
%===============================================================================