From d851dcfbf6047e3d2cdc42c447f442feb33e8791 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sun, 19 Jul 2015 14:04:35 +0200 Subject: [PATCH] adding configuration example --- drivers/gr-gn3s/README.md | 142 ++++++++++++++++++++++++++++++++++---- 1 file changed, 127 insertions(+), 15 deletions(-) diff --git a/drivers/gr-gn3s/README.md b/drivers/gr-gn3s/README.md index 3c4f067b0..4f63a03bb 100644 --- a/drivers/gr-gn3s/README.md +++ b/drivers/gr-gn3s/README.md @@ -8,26 +8,23 @@ More information on the device (not available anymore) can be found at http://ww The driver core is based on Gregory W. Hecker driver available at http://github.com/gps-sdr/gps-sdr. -GR-GN3S is a GNU Radio's compliant signal source block intended to be used either with GNSS-SDR as a signal source or as -standalone signal source block instantiated from a GNU Radio flowgraph from C++ or using Python (also includes a gnuradio-companion interface). +GR-GN3S is a GNU Radio's compliant signal source block intended to be used either with GNSS-SDR as a signal source, or as standalone signal source block instantiated from a GNU Radio flow graph from C++ or using Python (also includes a gnuradio-companion interface). ## Install GNU Radio: -You can install GNU Radio through a .deb package *or* by using pybombs. Please choose only **one** procedure. +You can install GNU Radio through a .deb package *or* by using pybombs. Please choose only **one** of these two procedures. -- In Ubuntu 12.10 and later: +- In Ubuntu 12.10 and later, or Debian Jessie or later, install GNU Radio and its dependencies through a .deb package: ~~~~~~ $ sudo apt-get install gnuradio-dev ~~~~~~ - -- Semi-automatic installation of GNU Radio: +- Semi-automatic installation of GNU Radio using PyBOMBS: Downloading, building and installing [GNU Radio](http://gnuradio.org/redmine/projects/gnuradio/wiki "GNU Radio's Homepage") and all its dependencies is not a simple task. We recommend to use [PyBOMBS](http://gnuradio.org/redmine/projects/pybombs/wiki "Python Build Overlay Managed Bundle System wiki") (Python Build Overlay Managed Bundle System), the GNU Radio install management system that automatically does all the work for you. In a terminal, type: - ~~~~~~ $ git clone git://github.com/pybombs/pybombs $ cd pybombs @@ -56,7 +53,6 @@ cxx = g++ makewidth = 4 ~~~~~~ - Then, you are ready to download and install GNU Radio and all their required dependencies by doing: ~~~~~~ @@ -71,6 +67,7 @@ In case you do not want to use PyBOMBS and prefer to build and install GNU Radio ~~~~~~ $ git clone git://github.com/gnss-sdr/gnss-sdr +$ cd gnss-sdr $ git checkout next ~~~~~~ @@ -79,7 +76,7 @@ $ git checkout next - Go to GR-GN3S root directory and compile the driver: ~~~~~~ -$ cd gnss-sdr/drivers/gr-gn3s +$ cd drivers/gr-gn3s $ cd build $ cmake ../ $ make @@ -97,18 +94,133 @@ $ sudo ldconfig ## Check that the module is usable by gnuradio-companion -Open gnuradio-companion and check the gn3s_source module under the GN3S tab. -In order to gain access to USB ports, gnuradio-companion should be used as root. -In addition, the driver requires access to the GN3S firmware binary file. -It should be available in the same path where the application is called. -GNSS-SDR comes with a pre-compiled custom GN3S firmware available at gnss-sdr/firmware/GN3S_v2/bin/gn3s_firmware.ihx. -Please copy this file to the application path. +Open gnuradio-companion and check the gn3s_source module under the GN3S tab. In order to gain access to USB ports, gnuradio-companion should be used as root. In addition, the driver requires access to the GN3S firmware binary file. It should be available in the same path where the application is called. GNSS-SDR comes with a pre-compiled custom GN3S firmware available at gnss-sdr/firmware/GN3S_v2/bin/gn3s_firmware.ihx. Please copy this file to the application path. ## Build gnss-sdr with the GN3S option enabled: ~~~~~~ +$ cd gnss-sdr/build $ cmake -DENABLE_GN3S=ON ../ $ make $ sudo make install ~~~~~~ +This will enable the *GN3S_Signal_Source* implementation, which is able to read from the GN3S V2 GPS Sampler in real-time. + + +# Using the GN3S V2 GPS Sampler as a signal source with GNSS-SDR + +This is an example of a gnss-sdr configuration file for a GPS L1 C/A receiver using the *GN3S_Signal_Source* implementation: + +~~~~~~ +GNSS-SDR.internal_fs_hz=2727933.33 ; 8183800/3 + +;######### SIGNAL_SOURCE CONFIG ############ +SignalSource.implementation=GN3S_Signal_Source +SignalSource.item_type=gr_complex +SignalSource.sampling_frequency=8183800 +SignalSource.freq=1575420000 +SignalSource.dump=false +SignalSource.dump_filename=../signal_source.dat + +;######### SIGNAL_CONDITIONER CONFIG ############ +SignalConditioner.implementation=Signal_Conditioner + +;######### DATA_TYPE_ADAPTER CONFIG ############ +DataTypeAdapter.implementation=Pass_Through + +;######### INPUT_FILTER CONFIG ############ +InputFilter.implementation=Freq_Xlating_Fir_Filter +InputFilter.dump=false +InputFilter.dump_filename=../data/input_filter.dat +InputFilter.input_item_type=gr_complex +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.45 +InputFilter.band2_begin=0.55 +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=8183800 +InputFilter.IF=38400 +InputFilter.decimation_factor=3 + +;######### RESAMPLER CONFIG ############ +Resampler.implementation=Pass_Through +Resampler.dump=false +Resampler.dump_filename=../data/resampler.dat + + +;######### CHANNELS GLOBAL CONFIG ############ +Channels_1C.count=8 +Channels.in_acquisition=1 +Channel.signal=1C + +;######### ACQUISITION GLOBAL CONFIG ############ +Acquisition_1C.dump=false +Acquisition_1C.dump_filename=./acq_dump.dat +Acquisition_1C.item_type=gr_complex +Acquisition_1C.if=0 +Acquisition_1C.sampled_ms=1 +Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition +Acquisition_1C.threshold=0.008 +Acquisition_1C.doppler_max=10000 +Acquisition_1C.doppler_step=500 + +;######### TRACKING GLOBAL CONFIG ############ +Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking +Tracking_1C.item_type=gr_complex +Tracking_1C.if=0 +Tracking_1C.dump=false +Tracking_1C.dump_filename=../data/epl_tracking_ch_ +Tracking_1C.pll_bw_hz=45.0; +Tracking_1C.dll_bw_hz=2.0; +Tracking_1C.order=3; + +;######### TELEMETRY DECODER GPS CONFIG ############ +TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder +TelemetryDecoder_1C.dump=false +TelemetryDecoder_1C.decimation_factor=1; + +;######### OBSERVABLES CONFIG ############ +Observables.implementation=GPS_L1_CA_Observables +Observables.dump=false. +Observables.dump_filename=./observables.dat + +;######### PVT CONFIG ############ +PVT.implementation=GPS_L1_CA_PVT +PVT.averaging_depth=100 +PVT.flag_averaging=false +PVT.output_rate_ms=10 +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.dump=false + +;######### OUTPUT_FILTER CONFIG ############ +OutputFilter.implementation=Null_Sink_Output_Filter +OutputFilter.filename=data/gnss-sdr.dat +OutputFilter.item_type=gr_complex +~~~~~~ + +Save this configuration in a file, for instance ```my_GN3S_receiver.conf```, copy the file located at ```install\gn3s_firmware.ihx``` to your working directory, and instantiate gnss-sdr by doing: + +~~~~~~ +$ gnss-sdr --config_file=./my_GN3S_receiver.conf +~~~~~~ + + + + +