Commit Graph

99 Commits

Author SHA1 Message Date
Sebastian c0740f1f61 First version that renders images
Dropped split parameter
2019-07-30 20:32:16 +02:00
Sebastian 71be84ac85 Added module
Added sync detection to module
2019-07-30 20:32:16 +02:00
Manolis Surligas 767e4e3d38 Redesign of the AX.25 decoder
This commits introduces a significant redesign of the AX.25 decoding
block. Due to the poor AX.25 sync flag, the decoders exhibited too many
false alarms. To deal with this problem, we introduced the quadrature
demod filter block, that tried to measure the SNR based on the running
variance of the signal. The problem with that was that the user should
have to fine tune two parameters, the one related with the amplitude of
the incoming signal and the second one related with the window that the
calculations should take place. This solution worked until now, but we
can always increase the performance.

The new AX.25 decoder stores the bitstream in a queue and always tries
to exlpoit possible valid frames in the queue. If now sync flags have
been encountered, the queue is flushed. After a valid frame extraction,
bits corresponding to this frame are also deleted from the queue.

This technique requires more memory and CPU, but it increases a lot the
decoding performance.
2019-07-18 16:39:26 +03:00
Manolis Surligas 553898f61b Improve CW decoding
* Introduce the hysteresis option, in order the CW demodulator to adjust
properly the plateau length based on the WPM and any filtering that can
be used before

* Instead for a frame per word, now the CW decoder waits for 10 long
spaces before it commits a frame. With this way many words are placed on
the same frame telemetry decoding is easier
2019-01-06 20:14:32 +02:00
Manolis Surligas b234f76e55 Add documentation for the frame acquisition block 2018-12-03 12:15:58 +02:00
Manolis Surligas 4ec333f5e6 Improve the generic frame acquisition
* Add CRC-16-IBM supported by CC11xx products
* Check CRC for frame validity
* Extract variable frame length
* Tested with Reaktor-Hello-World in-orbit frame
2018-12-03 01:42:14 +02:00
Manolis Surligas 4bcd9c8aaa Start the implementation of a generic frame synchronizer
The generic frame synchronizer will be able to adapt in a variety of
common framing schemes used by popular modems.
2018-12-02 00:48:14 +02:00
Manolis Surligas e91611f452 Implement Golay (24, 12, 8) encoder/decoder 2018-11-30 15:08:17 +02:00
Manolis Surligas 40aaeece1c Implement a shift register with dynamic size
std::bitset can be used only with compile time known size. Most of the flowgraphs take the shift register size as a parameter through the GRC so it cannot be used. This commit implements a shift register using the std::deque that supports arbitrary number of memory stages
2018-11-29 02:41:36 +02:00
Manolis Surligas 8fbca87084 Remove left over flowgraphs and files 2018-11-24 02:11:51 +02:00
Manolis Surligas 63218b157b Add LRPT decoding flowgraph 2018-11-24 00:25:32 +02:00
Manolis Surligas 854becb15d Add LRPT decoder
Currently it performs only convolutional decoding
2018-11-24 00:25:32 +02:00
Manolis Surligas dcadfe9ab1 Add convolutional deinterleaver 2018-11-24 00:25:32 +02:00
Manolis Surligas 62fb14e3d1 Extract the coded LRPT CADU 2018-11-24 00:25:32 +02:00
Manolis Surligas a344bc498b Start the LRPT sync block 2018-11-24 00:25:32 +02:00
Manolis Surligas a797d9bb7b Use AX.25 address field to reduce false alarms 2018-03-24 23:59:56 +02:00
Manolis Surligas 5aae0a1b49 Add block for parsing the FOX slow speed telemetry frames 2018-03-24 21:43:19 +02:00
Manolis Surligas 02801c9a3f Improve 8b10b decoder performance and add the CCSDS RS decoder 2018-03-24 21:43:18 +02:00
Thanos Gkiolias 699acdf53e Complete 8b10b decoder
*Export data bytes and erasures in message port
2018-03-24 21:43:18 +02:00
Nikos Karamolegkos c2d20fbead Introduce 8b10b Decoder 2018-03-24 21:43:18 +02:00
Manolis Surligas c1677c8104 Change the quadrature demod filter to sync block
Seems that there is a probleb with general blocks and the history, so
the filter cannot act as valve. However, it produces zeros, in the
presence of noise.
2018-03-24 21:43:18 +02:00
Manolis Surligas 0d5b295969 Add a quadrature demod filter
This is an attempt to cut the signal free period after the quadrature
demodulation block. The idea seems that works, but there still an issue
with the samples not passing correctly from the valve.
2018-03-24 21:43:18 +02:00
Manolis Surligas 2fb1bfadfc Fix AX.25 encoder/decoder
* Force the left over scrambled bits into the LFSR to be transmitted
* Refactor the decoding process
2018-03-20 20:40:13 +02:00
Manolis Surligas 14ad8ad879 Fix NOAA issue caused by bad GRC regeneration 2018-02-24 00:19:40 +02:00
Manolis Surligas 0287bc6657 Remove obsolete match filtering block 2018-02-02 22:39:49 +02:00
George Vardakis eabd2c89f2 Remove split option and increase height size in APT sink block 2018-02-02 18:07:21 +02:00
Nikos Karamolegkos 12a2aa0090 Add minimum frame length on the morse decoder 2018-02-01 21:59:45 +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 2de1d91fae Improve the CW decoder flowgraph 2017-11-01 22:04:56 +02:00
Manolis Surligas 5d7af423a8 Window number to dot duration should be sufficient enough 2017-11-01 22:04:56 +02:00
Manolis Surligas 52efa4c8bd Finish the CW encoder
The CW encoder is a debug block that can be used to check the
performance of the CW decoder of gr-satnogs module under different RF
conditions. It can also serve as a perfect debug tool for sattelite
missions.
2017-11-01 22:04:56 +02:00
Manolis Surligas 9b9f8c92ad Simpify CW decoder 2017-11-01 22:04:56 +02:00
Manolis Surligas 5d9fc19e3b Simplify CW decoding 2017-11-01 22:04:56 +02:00
Manolis Surligas ca1b8b1242 Output messages in text files
* Add support for saving the messages on a text file
* Add timestamp support for each message in ISO 8601 format
2017-11-01 22:04:56 +02:00
Manolis Surligas e114eb0cd0 Remove CW matched filter block
CW decoding using match filtering is pretty much useless in LEO.
The information about the tone frequency is very rare and carrier
oscillations during the satellite pass reduce significantly the
performance.

The new next CW decoder is based on the autocorrelation of the received
signal.
2017-11-01 22:04:56 +02:00
Manolis Surligas 7b8ef57d37 Add FSK9600 AX.25 decoder 2017-09-20 17:54:02 +03:00
Kostis Triantayllakis cce9f3d981 Introduce IQ sink block 2017-08-08 17:00:12 +03:00
Nikos Karamolegkos bca58383b7 Add sink block for saving the frame to file
Supported file types txt, bin, hex
2017-07-30 13:25:55 +03:00
George Vardakis 162b435d74 Fix synchronization bug 2017-07-19 20:34:58 +03:00
Manolis Surligas f1ff356193 Support fixed packet length frames on the FSK decoder 2017-04-15 02:41:47 +03:00
Manolis Surligas a8d0eae736 Add support for arbitraty descrambling polynomials on the FSK receiver 2017-04-15 01:23:47 +03:00
George Vardakis bb2401356a Add option for rotating image 2017-04-10 18:03:00 +03:00
George Vardakis d4fbd62c03 Remove output of byte file 2017-04-10 15:23:19 +03:00
George Vardakis 401e8f5248 Add documentation and synchronization option 2017-04-10 00:19:57 +03:00
George Vardakis 3b30b6b78e Add split image functionality 2017-04-09 17:20:02 +03:00
George Vardakis d76264adeb Implement NOAA sink block 2017-04-08 21:56:44 +03:00
Manolis Surligas 165423d64c Ogg source (#70)
* Start Ogg source block

* Add OGG audio source block

The number of output streams for this block should match the number of
audio streams contained inside the ogg file. If there is a mismatch an
appropriate exception is thrown.
2017-04-01 16:21:15 +03:00
Manolis Surligas 11063b61f2 Fix OGG encoder issues 2017-02-03 01:24:10 +02:00
George Vardakis 639c372a22 Implement ogg encoder block 2017-02-02 21:05:02 +02: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