Commit Graph

200 Commits

Author SHA1 Message Date
Manolis Surligas 62cdbf7e51 NOAA sink fix
* Remove completely the .png extension. satnogs-client will handle the
rest.
* Fix enumeration on the NOAA sink xml
2017-09-20 17:18:59 +03:00
Manolis Surligas 2bac7e1f32 Change NOAA output naming scheme
NOAA APT decoder will create a file without a timestamp. The
satnogs-client will be resposible to append the proper timestamp.
This change was necessary to avoid the time offset between the start of
the observation timestamp that the APT decoder appends to the filename
and the end of the observation that the client takes into account.
2017-09-19 14:11:45 +03:00
George Vardakis 36e3aa66a6 Change filename on noaa to match new satnogs-client naming 2017-08-09 20:02:19 +03:00
Kostis Triantayllakis cce9f3d981 Introduce IQ sink block 2017-08-08 17:00:12 +03:00
Manolis Surligas 071e16b08d Merge pull request #101 from GVardakis/noaa_sync_fix
Fix NOAA APT Sink synchronization issue
2017-08-04 19:11:45 +03:00
George Vardakis 53e1b326d8 Fix NOAA APT Sink synchronization issue 2017-08-04 16:29:53 +03:00
Nikos Karamolegkos 813d6b9f74 Fix bug with the name of file 2017-08-03 12:39:38 +03:00
Nikos Karamolegkos fe1b612010 Fix bug with gcc<5 and minor changes to filenames 2017-08-02 18:06:21 +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
Manolis Surligas deb0c57c91 Fix memory leak 2017-07-21 20:49:44 +03:00
George Vardakis 162b435d74 Fix synchronization bug 2017-07-19 20:34:58 +03:00
Alexandru Csete bb40020207 Fix gr-digital dependency 2017-05-23 22:58:33 +02:00
George Vardakis 69408578e2 Fix NOAA png filename issue 2017-05-15 17:56:14 +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 be9f1212be Fix possible bug in FSK decoder 2017-04-11 11:43:35 +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 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 d95b903097 Fix missing break statement 2017-02-03 19:25:53 +02: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
Manolis Surligas 32b853134a Fix Doppler shift direction (#43) 2016-11-22 11:49:42 +02: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 6e3d8f9c10 Remove unnecessary block 2016-08-26 19:50:20 +03:00
Manolis Surligas 5056189d5e Improve the performance of AX.25 decoder
* Decrease false frame detection alarms that can reduce the number of
succesfully decoded frames
* Fix and improve the AX.25 bit stuffing mechanism
2016-08-07 02:11:59 +03:00
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 6d4d51b825 Fix bug at AX.25 bit stuffing on the decoder 2016-07-07 17:57:06 +03:00
Manolis Surligas ee26a102bd Small improvements 2016-07-02 23:01:17 +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 ddb6ce050f Merge branch 'next' of https://github.com/satnogs/gr-satnogs into next
# Conflicts:
#	lib/upsat_fsk_frame_encoder_impl.cc
2016-06-30 23:44:05 +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 a22d37e961 Improve and make more generic the whitening mechanism
* The AX.25 framing now supports whitening.
* Change again the AFSK flowgraph.
2016-06-22 15:37:27 +03:00
Manolis Surligas 6ed86dbae5 Add new debug message source that can accept raw bytes 2016-06-02 17:06:40 +03:00
Manolis Surligas f8cc294e6f Add UPSat communication flowgraphs 2016-05-30 04:43:49 +03:00
Manolis Surligas ed96930438 Small bug fix
The new[] deamon appeared again!
2016-05-17 20:18:20 +03:00
Manolis Surligas 7009f9cdb9 Fix small issues 2016-05-15 00:07:23 +03:00
George Vardakis fb9f887587 Small change to hex print 2016-05-14 19:48:21 +03:00
George Vardakis 855ac47c26 Added the "0x" prefix to hex representation 2016-05-13 16:19:47 +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 8a81ebc4ff Fix frame length bug at UPSAT FSK transmitter
The frame length field was set in number of bits instead of number of
bytes, only when the transmitter was configured in AX.25 mode.
2016-05-11 14:25:16 +03:00
Manolis Surligas df8cffbe1a Remove blocking timeout parameter for compatibility 2016-05-09 22:07:39 +03:00
Manolis Surligas 3d67b098ef Merge branch 'next' of https://github.com/satnogs/gr-satnogs into next 2016-05-09 20:57:09 +03:00
Manolis Surligas 76c28b0b21 Change the pmt::to_float() to pmt::to_double() for compatibility 2016-05-09 20:56:44 +03:00
Manolis Surligas 6b98025cf5 Fix memory de-allocation at rigctl message source block 2016-05-09 03:14:44 +03:00
Manolis Surligas 926eca7f8e Fix memory corruption 2016-05-09 03:04:31 +03:00
Manolis Surligas e79e98fbd8 AX.25 support at the UPSAT FSK encoder/decoder 2016-04-29 21:43:09 +03:00
Manolis Surligas 652c257b01 Add UDP PMT message sink block 2016-04-29 02:21:00 +03:00
Manolis Surligas 382e5a615b Start the AX.25 integration into UPSAT FSK framing 2016-04-26 22:21:42 +03:00
Manolis Surligas 5497dce87f Fix the burst tag issue at the FSK frame encoder 2016-04-15 20:59:09 +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 34ae5f143b Fix CRC16 calculation and transmission
The CC1120 uses the non-reversed version of the CRC16-CCIIT. Also the
CRC16 is transmitted in network byte order
2016-04-09 18:39:02 +03:00
Manolis Surligas 0c354da145 Finish the FSK frame encoder for the CC1120 2016-04-08 21:41:21 +03:00
Manolis Surligas e80486cc07 FSK receiver for the CC1120 works!
The FSK receiver of the CC1120 can now retrieve the frame that is
transmitted over the air. The next step is to provide the support for
data whitening and Manchester coding.
2016-04-07 19:49:41 +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 4b3b08f200 Finished the FSK frame acquisition. 2016-04-05 21:29:23 +03:00
Manolis Surligas bb57d63517 Continue with the FSK decoder for the UPSAT 2016-04-04 00:29:28 +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
Manolis Surligas 5659dc6b0a Merge branch 'vardakis/json_to_ecss' of https://github.com/GVardakis/gr-satnogs into GVardakis-vardakis/json_to_ecss 2016-04-02 22:31:22 +03:00
Manolis Surligas 97b141d267 Fix a memory allocation issue 2016-04-02 22:26:31 +03:00
George Vardakis 1b0791e9d0 Last commit about license 2016-04-02 17:32:41 +03:00
George Vardakis a5fea217d6 Completed change of license in all files 2016-04-02 17:31:30 +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 4fba1a234c First working version of json_to_ecss_src block 2016-04-02 13:42:57 +03:00
George Vardakis ecdf310540 Fixed small bug 2016-04-01 19:51:31 +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 82c9ff2850 Fix the doppler correction mechanism
The doppler correction mechanism has successfully passed the first tests
using the GPredict software for the radio control. The corrections seems
to be quite smooth. The next step is to apply it at an audible signal.
2016-03-31 21:58:29 +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 b96c84c401 Continue working on the Doppler Correction block
Actually the block seems to be ready, however proper testing is
necessary
2016-03-30 21:51:19 +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 e9c6f36f86 Improve the Morse decoder block
The Morse decoding block has now the configuration parameter that
enables an automatic estimation of the dot duration. Based on this
estimation all other symbol durations are computed.
2016-02-28 00:45:41 +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 67eb17908e Add various setters at the Morse decoding related blocks
New setters (frequency, thresholds) accessible from both GRC callbacks
and async messages.
2016-02-17 03:16:18 +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 d07fd19285 Fix CW decoder issue
The CW decoder was wrongly producing a Short Pause symbol instead of a
dot symbol. With this fix the decoder can now reconstruct the initial
text sequence sent.

Also the CW matched filter now can directly produce the power of the
filtered samples. This is very handy in order to get rid off an
additional multiply block, saving vital resources especially for
embedded platforms.

For testing and demonstration purposes the morse_decoding_flowgraph can
be used. The word sequence is the `HELLO WORLD`.
2016-02-01 22:04:27 +02:00
Manos Surligas 43bf277442 Fix VOLK memory allignment issue at the CW matched filter 2016-02-01 12:55:39 +02:00
Manolis Surligas 1e210087f3 Improved Morse decoding
The AGC block in the Morse decoding flowgraph is placed now at the
proper position. The output of the matched filter produces now a clear
and distinguishable signal during the presence of a pulse. This makes
the work for the signal to symbol decoder more easy.
2016-01-30 21:37:36 +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 52411357a7 Fix bug at Morse debug source block
The Morse decoder seems that works properly now. However, there is no
recovery strategy yet from undecodeable symbol sequences.
2016-01-23 22:23:19 +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