Commit Graph

48 Commits

Author SHA1 Message Date
Manolis Surligas 96aaf11a30 Improve doppler correction and decimation
This commit adds a hierarchical block that performs Doppler
compensation and resampling.

Rather than using directly the available Doppler correction blocks,
based on the user parameters of the incoming sampling rate and the
desired target sampling rate, it applies proper decimation on the signal
so the frequency shift to be applied to a smaller sampling rate,
reducing significantly the CPU resources required. At the previous
architecture (gr-satnogs 1.x.x) we used seperate blocks for the doppler
correction and the LO digital shift, operating at the device sampling rate.
These two blocks, performing almost the same operation, contributed to a
30% CPU usage of the overall application. Now the LO is compensated by
the Doppler correction block, taking into account at the same time the
Doppler drift.

After the digital LO shift, the Doppler corrected signal is passed through
an Polyphase Arbitrary Resampler, to match exactly the sampling rate
requested by the user.
2019-12-20 13:00:58 +02:00
Manolis Surligas cbc733c25e Integrate libfec as part of the gr-satnogs 2019-12-12 01:46:37 +02:00
Manolis Surligas 2a03fc66bf Drop boost::chrono in favor of std::chrono
The new GNU Radio linkage system seems that has some
issues. There are linkage dependencies that they should
be private on the GNU Radio target.

In addition, find_package(Boost) is also called on the
gnuradio-runtime target. Calling it again in the OOT
module overwrites the existing list of dependencies,
causing many problems.

We are staring a process of dropping Boost and use
the C++11 variants.
2019-12-11 18:15:49 +02:00
Manolis Surligas 073df24112 Convert all blocks from XML to YAML 2019-12-04 19:42:01 +02:00
Manolis Surligas cd5dfc69c9 Updated library and Swig files to GNU Radio 3.8 2019-12-02 21:53:26 +02:00
Manolis Surligas 2cc9184fbc Support both legacy and new PMT messages at the file sink
To allow easier integration to the new architecture the
multi format file sink supports bot legacy and the new
format of the PMT messages. In poth cases, only the PDU
is extracted. Legacy used the PDU as a BLOB, whereas
now the PDU is stored in base64 format inside a
dictionary, which structure is defined through
the gr::satnogs::metadata() class
2019-09-30 19:32:21 +03:00
Manolis Surligas 110ab30d26 Add JSON converter block for the decoders
The decoders produce a PMT message containing several information about
the decoded frame. While this is very convenient for handling data
inside the flowgraph, it is not for third party applications. The JSON
converter block is responsible to serialize all the information
contained in a PMT originating from a decoded frame.

For simple demonstration some metadata were added on the AX.25 decoder.
These metadata are still a WIP and they subjected to changes.
2019-09-30 19:32:21 +03:00
Manolis Surligas 9fe6b6f274 Improvements on the overall structure of the project
* Improve performance of the Golay decoder
* Modernize some CMake modules of GNU Radio
* Re-introduce the CPPUnit automated tests
2019-09-30 19:32:21 +03:00
Manolis Surligas 5291e18032 Bump up version to 1.5.1 2019-01-22 13:25:39 +02:00
Manolis Surligas 1afb2bae18 Bump up version to 1.5.0 2018-11-28 01:14:37 +02:00
Manolis Surligas ab022f1058 Include GrVersion.cmake module so the git version can be extracted
Some distros do not contain the GrVersion.cmake module so the git
version can be applied into the gr-satnogs version reporting script.
This commits adds this module into the project, so the build system can
use it during project configuration.
2018-11-27 16:03:15 +02:00
Manolis Surligas df9395057d Add bpsk_ax25.grc improved BPSK decoder
The new BPSK decoder uses a blind equalizer in par with an LMS based
equalizer. Both of them adapt more quickly in the channel response than
the AGC.
The decoder supports baudrates up to 19200.

Note that the bpsk_ax25.grc deprecates the bpsk_decoder.grc and
bpsk_demod.grc and they will be removed on the next release.
2018-11-24 23:32:50 +02:00
Manolis Surligas 8fbca87084 Remove left over flowgraphs and files 2018-11-24 02:11:51 +02:00
Manolis Surligas 61501694d7 Support arbitrary sampling rates on CW and AFSK1200 2018-11-24 00:26:26 +02:00
Manolis Surligas 79bf73e5a9 Bump up version to 1.4.2 2018-10-27 20:45:05 +03:00
Manolis Surligas 9ccd4cf4fb Use stroll() for proper long long int parsing 2018-09-17 23:26:09 +03:00
Manolis Surligas 75384606b8 Bump up version to 1.4.0 2018-07-30 14:06:00 +03:00
Manolis Surligas 5d326014e4 Bump up version 2018-07-18 12:17:29 +03:00
Manolis Surligas 85219e5d6b Fix CW decoder
* Fix CW decoder
* Link with boost chrono to avoid a linking error in boost 1.67
2018-07-18 12:17:29 +03:00
Manolis Surligas f7d5ef5438 Bump up version to 1.3.0 2018-03-25 17:50:34 +03:00
Manolis Surligas f33f46edb9 Add libfec as external project
The CMake build system will first try to locate libfec in the system. if
it is not available, it will start building the libfec that is part of
the gr-satnogs source code. During the installation libfec is installed
in the system, thus future builds will make use of it and will not
rebuild from source.
2018-03-24 21:43:18 +02:00
Manolis Surligas 02801c9a3f Improve 8b10b decoder performance and add the CCSDS RS decoder 2018-03-24 21:43:18 +02:00
Manolis Surligas e2703d2663 Bump up version to 1.2.6 2018-02-24 00:26:46 +02:00
Manolis Surligas 8598978c55 Bump ap version to 1.2.5 2018-02-08 15:09:47 +02:00
Manolis Surligas 870474c097 Bump version to 1.2.4 2018-02-02 22:51:48 +02:00
Manolis Surligas de05c3f1c4 Several minor improvements
* Improve CI testing
* Fix compilation warnings
* Bump up version
2018-01-21 22:23:22 +02:00
Manolis Surligas fd75575828 Merge branch 'LongHairedHacker/gr-satnogs-noaa-apt-sink' 2018-01-05 16:49:38 +02:00
Sebastian 8acd0fe62e Added libpng++ to dependencies 2017-12-31 14:44:56 +01:00
Manolis Surligas 45ee54fad3 Fix CW decoder GUI option for non-X hosts 2017-11-02 14:03:24 +02:00
Manolis Surligas a1da1a581c Bump version to 1.2.0 2017-11-01 22:23:48 +02:00
Manolis Surligas 9177df0444 Bump version 2017-10-09 16:16:32 +03:00
Kostis Triantayllakis cce9f3d981 Introduce IQ sink block 2017-08-08 17:00:12 +03:00
Manolis Surligas 049c951ac7 Fix CMake GNU Radio requirements 2017-08-03 12:33:41 +03:00
Alexandru Csete bb40020207 Fix gr-digital dependency 2017-05-23 22:58:33 +02:00
George Vardakis d76264adeb Implement NOAA sink block 2017-04-08 21:56:44 +03:00
Manolis Surligas c83e53f9b5 Dev (#67)
* Fix UPSat QT parameters

* Fix missing library versioning on CMake

* Fix segfault on the rigctl message source block destruction
2017-03-23 03:22:08 +02:00
Manolis Surligas 11063b61f2 Fix OGG encoder issues 2017-02-03 01:24:10 +02:00
Corey Shields da4d89f2da waterfall fm_demod script
fm_demod script that also writes waterfall data (credit to surligas, I'm just committing)

Also FFT needs to be added to CMakeLists.txt to build in some conditions.

see also satnogs/gr-satnogs#42
2017-01-26 14:50:59 -05:00
Manolis Surligas 50098ee879 Dev (#53)
* UDP Message source can handle multiple data types

* Add a waterfall sink block

* Fix dependency issues with VOLK

* Add mean and max hold mode to the waterfall sink

* Add mean and max hold mode to the waterfall sink

* Install satnogs_waterfall.gp gnuplot script at
<install_prefix>/share/satnogs/scripts

* Automatically retrieve x and y axis ranges at the satnogs_waterfall.gp
2017-01-22 19:33:36 +02:00
Manolis Surligas d662760adf Redesign of the OOT module block structure 2016-12-04 17:09:10 +02:00
Manolis Surligas 94161d7b24 Change the build system requirements on GNU Radio version and libnova 2016-10-26 20:37:11 +03:00
Manolis Surligas f320d841ab Add supoort to the rigctl message source to work as client
Start also the LEO channelizer. It is not yet functional.
2016-10-22 19:34:09 +03:00
Manolis Surligas 33a27566c8 Improve build system and installation documentation (#33)
The build systen now allows to enable/disable the blocks of the OOT
module that are used for development and debugging purposes.
2016-10-12 02:45:21 +03:00
Manolis Surligas 63863b5ac1 Rpi (#32)
* Fix compilation on Raspbian

* Add rtl-sdr dongle to the RX HW database
2016-10-11 19:39:37 +03:00
Manolis Surligas b218ed282c Improve rigctl support
Now the rigctl message source block can handle properly the commands
that are issued by the Gpredict software.
2016-03-31 19:52:32 +03:00
Manolis Surligas ebd07215d0 Add Morse code debug source block
Now, with the Morse code debug source block the testing of the decoder
can begin.

Add at the examples directory a small flowgraph that connects the debug
source block with the decoder.
2016-01-22 22:10:06 +02:00
Manolis Surligas d307d6ac34 Morse tree traversal is working
Depending the received symbol the tree is traversed towards the leafs.
At each step the corresponding decode-able character is appended at a
string buffer. 

TODOs: 
* Add logic in the decoder to retrieve the decoded words from the tree
* Create a debug source block
2016-01-21 21:33:08 +02:00
Manos Surligas 08002b27cc Create the README and the OOT module structure. 2016-01-07 21:24:51 +02:00