Commit Graph

483 Commits

Author SHA1 Message Date
Ilias Daradimos e932339c9e Update README.md 2019-09-30 18:47:46 +03:00
Ilias Daradimos 86495bbb5a Update README.md 2019-09-30 18:47:46 +03:00
Manolis Surligas 33ec1d6b50 Improve FSK/MSK flowgraphs sensitivity 2019-09-30 18:47:46 +03:00
Manolis Surligas 89d4184393 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-09-30 18:47:46 +03:00
Manolis Surligas 23b819feb9 Add a DC blocker and remove filter gain at AFSK 2019-09-30 18:47:46 +03:00
Manolis Surligas 5015a11697 Manually remove the vector param
Manually remove the vector param from the moving average
block in the affected flowgraphs, for compatibility
with the GNU Radio 3.7.10
2019-09-30 18:47:46 +03:00
Manolis Surligas 907f64fd8b Add VCO-based frequency correction
This commit includes a blind frequency correction mechanism for FM
signals. It uses the information of the angle difference between two
concecutive samples and a VCO to continuously compenstate any frequency
offset. To avoid intermodulations, a low pass filter is used trying to
pass only the DC component that is needed.
2019-09-30 18:47:46 +03:00
Manolis Surligas 18bfad3277 Remove AX.25 address field check 2019-09-30 18:47:46 +03:00
Manolis Surligas a6dbc22d43 Improve sensitivity of FSK/MSK flowgraphs 2019-09-30 18:47:46 +03:00
Manolis Surligas a8745dd6a4 Increase CW sensitivity
* Switch from amplitude based approach to auto-correlation
* Limit the bandwidth of the PLL using a low pass filter
* Reject noise of the PLL using a very steep low pass after it
2019-09-30 18:47:46 +03:00
Manolis Surligas 67ea02a248 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-09-30 18:47:46 +03:00
Manolis Surligas 5291e18032 Bump up version to 1.5.1 2019-01-22 13:25:39 +02:00
Manolis Surligas 0d21c5942f Fix BPSK issue on low baudrates 2018-12-21 17:32:11 +02:00
Manolis Surligas c77ca2fe98 Add decoding flowgraph for the Reaktor-Hello-World satellite 2018-12-03 12:18:48 +02:00
Manolis Surligas b234f76e55 Add documentation for the frame acquisition block 2018-12-03 12:15:58 +02:00
Alexandru Csete db08d31f53 Fix compiler warning when printing uint64_t 2018-12-03 02:14:58 +02:00
Alexandru Csete 512260ac88 Remove unneeded link references to gnuradio libs
These are already included with ${GNURADIO_ALL_LIBRARIES}.
2018-12-03 02:14: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 10f27c045e Remove obsolete libnova dependency 2018-12-02 00:51:46 +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
Ansgar Schmidt 2122b531ae Adding debian/ubuntu install requirements
Signed-off-by: Ansgar Schmidt <ansgar.schmidt@gmx.net>
2018-12-01 21:42:06 +00:00
Manolis Surligas e91611f452 Implement Golay (24, 12, 8) encoder/decoder 2018-11-30 15:08:17 +02:00
Ansgar Schmidt a84d80ada6 Fixing missing step in Installation description
Signed-off-by: Ansgar Schmidt <ansgar.schmidt@gmx.net>
2018-11-30 11:18:44 +00: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 1afb2bae18 Bump up version to 1.5.0 2018-11-28 01:14:37 +02:00
Manolis Surligas 1bc575cc25 Complete redesign of the BPSK decoder
This commit implements a new approach for the BPSK AX.25 decoding. It
seems that the GNU Radio equalizers (both CMA and LMS) are not ideal for
bursty transmissions. After they loose 'lock', they tend to converge
quite slow again.

The equalizing problem is again solved using an AGC2 block. However, the
placement of this block is quite critical. In older versions the AGC was
placed several steps after resampling and filtering. This resulted to
poor equalization and noise increase. Now the AGC is placed as early as
possible when the signal has a large span.
2018-11-27 16:55:59 +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 5605165cb8 Invert AFSK1200 filter gain 2018-11-25 23:43:42 +02:00
Corey Shields 3b6006c27a remove audio_gain from remaining gr scripts 2018-11-24 22:00:23 -05: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 39bf8524c4 Add support for the X3x0 USRP series 2018-11-24 00:48:07 +02:00
Manolis Surligas 40a645f355 Fix boost `common_factor` deprecation warning 2018-11-24 00:43:21 +02:00
Patrick Dohmen 255277f773 Add missing parameter "udp_IP"
Added the missing parameter "udp_IP" to get the UDP sink working.

Fixes issue #131
2018-11-24 00:26:26 +02:00
Manolis Surligas 61501694d7 Support arbitrary sampling rates on CW and AFSK1200 2018-11-24 00:26:26 +02:00
Manolis Surligas 58d6a32ad0 Improve DUV decoder
* Support arbtrary sampling rate
* Add UDP sink for the decoded frames
2018-11-24 00:25:32 +02:00
Manolis Surligas d824b95369 Fix LO offset correction 2018-11-24 00:25:32 +02:00
Manolis Surligas a93b0081e7 Fix doppler correction
* Fix doppler correction
* Add new METEOR decoder producing telemetry frames
2018-11-24 00:25:32 +02:00
Manolis Surligas c8b4bc88c9 Fix waterfall signal source 2018-11-24 00:25:32 +02:00
Manolis Surligas 8562a3b0af Fix missing variable 2018-11-24 00:25:32 +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 f7e67d0ae3 Add parametric FSK and MSK AX.25 decoders 2018-11-24 00:25:32 +02:00
Manolis Surligas 79bf73e5a9 Bump up version to 1.4.2 2018-10-27 20:45:05 +03:00
Manolis Surligas e7797003f7 Fix formatting 2018-10-27 20:44:41 +03:00
Patrick Dohmen 108f60c1e6 Fix spacecraft identification
The ```fox_id``` consists of three bits.
To mask these three bits a value of 0x7 is neccessary.

Added additional spacecraft identifiers.

Signed-off-by: Patrick Dohmen <dl4pd@darc.de>
2018-10-25 08:35:17 +02:00
Manolis Surligas 9ccd4cf4fb Use stroll() for proper long long int parsing 2018-09-17 23:26:09 +03:00