Commit Graph

29 Commits

Author SHA1 Message Date
Manolis Surligas a92eb283ff Add the QB50 deframer block
The block is able to separate WOD AX.25 frames from normal ones.
2016-07-27 17:38:49 +03:00
Manolis Surligas 1c30dfe145 Add AX.25 decoder with legacy support for the hardware radios 2016-07-02 00:18:44 +03:00
Manolis Surligas 92843c43c9 Add AX.25 encoder that supports the legacy hardware radios
The new encoder now supports NRZI and G3RUH scrambling that makes it
compatible with most of the FSK9600 modems.

Remove also some unneeded blocks.
2016-06-30 23:39:16 +03:00
Manolis Surligas 6ed86dbae5 Add new debug message source that can accept raw bytes 2016-06-02 17:06:40 +03:00
George Vardakis 455e19e466 Added hex and binary output sink 2016-05-13 15:57:33 +03:00
Manolis Surligas c28c82c873 Add coarse doppler shift correction block 2016-05-11 21:17:58 +03:00
Manolis Surligas 652c257b01 Add UDP PMT message sink block 2016-04-29 02:21:00 +03:00
Manolis Surligas 10d4519bcb Implement the whitening and de-whitening process for the UPSAT
The data whitening and de-whitening mechanism is implemented using
lookup tables for fast processing times. The implementation is quite
generic and modular supporting user defined polynomial masks and seeds.
The lookup table is created during the initialization without any
runtime overhead.
2016-04-11 21:26:57 +03:00
Manolis Surligas 228fd37014 Implement the UPSAT FSK encoder block.
Fix also a small bug at the UPSAT FSK decoder block.
2016-04-06 21:27:46 +03:00
Manolis Surligas 6ae7614af2 Start the FSK frame acquisition block of the UPSAT.
After managing to successfully receive raw bytes from the TI devboard
with the CC1120, its now time to pack them into a frame by searching for
the preamble and synchronizing with the known byte sync word.
2016-04-02 23:02:38 +03:00
George Vardakis 1e4d1e1846 Changed license, removed .orig files and changed free method in udp_msg_source 2016-04-02 17:25:40 +03:00
George Vardakis 138a00b2b2 Merge branch 'next' of https://github.com/satnogs/gr-satnogs into next 2016-04-01 19:48:24 +03:00
George Vardakis 7321707c61 Finished adding block json_to_ecss_src 2016-04-01 19:44:40 +03:00
Manolis Surligas 5ac7fa4759 Merge branch 'next' of https://github.com/satnogs/gr-satnogs into next
# Conflicts:
#	grc/CMakeLists.txt
#	include/satnogs/CMakeLists.txt
#	lib/CMakeLists.txt
#	swig/satnogs_swig.i
2016-03-29 22:59:36 +03:00
Manolis Surligas 4c72875f88 Add frame encoder block 2016-03-28 18:24:50 +03:00
Manolis Surligas e242624312 Create doppler shift correction block 2016-03-28 18:09:16 +03:00
Manolis Surligas 4e1be5ee44 Add a TCP rigctl message command accepter block.
The purpose of this block is to grab rigctl compatible commands from the
gr-satnogs client software and use the set_freq command in order to
compensate the doppler shift effect.
2016-03-21 03:50:42 +02:00
Manolis Surligas 73e2c8d9ca Start integrating telemetry and telecommands methods 2016-03-16 01:54:13 +02:00
Manolis Surligas 0e0a3e0c08 Finish the AX.25 decoder and add a UDP message source block
The AX.25 decoder is now decoding the received frames.
Also, the module now provides a UDP message source block. This block
will be responsible to receive UDP packets and transform them into PMT
messages for further processing in the GNU Radio flowgraph. As the
communication with the satnogs-client will be done in the same host, we
do not have to care about packet loss.

Furthermore, the module now provides and a debug message  source block
for easy debugging.
2016-03-08 23:19:17 +02:00
Manolis Surligas 75289e11d5 Add AX.25 frame encoding support 2016-03-02 19:59:18 +02:00
Manolis Surligas 07ff0054ef Matched filter for the FSK/AFSK demodulation
FSK demodulation can be implemented pretty well either using envelopes
or matched filters. For now the matched filters seems to be a better
candidate. However, some normalization issues should be solved.
2016-02-19 23:38:40 +02:00
Manolis Surligas 27c597a874 Started the AFSK decoder.
The clock recovery mechanism of GNU Radio is considered
an overkill for the needs of AFSK. So the afsk_decoder
will focus on a frequency domain approach.
2016-02-09 18:59:40 +02:00
Manolis Surligas f8b847077e CW signal to Morse Symbol decoding block
The CW symbol decoder block takes as input the power of the processed
signal and tries to identify the dot and dash symbols. It produces
asynchronous messages containing the decoded symbols. The output
messages can be directly used by the Morse code decoder block, in order
to retrieve the clear text message.

There are some few thing that need to be done for the block to be fully
operational.
2016-01-27 22:57:53 +02:00
Manolis Surligas 5d4884cf0d Add a generic clear text message sink.
For now the generic clear text message sink just prints the decoded
clear text messages in the stdout. In the future and depending the needs
of the project, the clear text messages can be forwarded at other
services on the same host or via the network.

Also the debug message source block now supports injection of artificial
errors, for more robust decoding of the Morse decoder block.
2016-01-24 21:43:17 +02: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
Manolis Surligas ca49f81761 Add morse decoder block.
The morse decoder is not yet functional. The decoding is performed
using a binary tree. Left child, corresponds to a received dot whereas
right to a received dash.
2016-01-19 19:35:37 +02:00
Manolis Surligas b4dd0f1e14 Add matched filter implementation for CW noise reduction
* The matched filter makes use of VOLK
* The examples directory contains a simple flowgraph that demonstrates
the performance of the matched filter
2016-01-17 23:59:05 +02:00
Manos Surligas 08002b27cc Create the README and the OOT module structure. 2016-01-07 21:24:51 +02:00