Commit Graph

144 Commits

Author SHA1 Message Date
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
Thanos Gkiolias 699acdf53e Complete 8b10b decoder
*Export data bytes and erasures in message port
2018-03-24 21:43:18 +02:00
Thanos Gkiolias 9eedf70d5f Add sync and decoding states
Match both control symbols at the beginning
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 0074fe7c10 Make consistent the format of the message sink 2018-03-20 20:44:36 +02:00
Manolis Surligas c1dc11fe4e Fix timestamp not showing on every message at STDOUT 2018-03-20 20:40:13 +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
DL4PD d7f8d7dbad Change hex representation fmt to "0x00, 0x02, 0xff" 2018-03-19 21:41:54 +01:00
Manolis Surligas 0287bc6657 Remove obsolete match filtering block 2018-02-02 22:39:49 +02:00
Nikos Karamolegkos 909ae9da78 Fix bug with the frame sink blocks
* Change clear text format to binary
* Add binary and hex annotated
2018-02-02 22:16:20 +02:00
George Vardakis d8352c1884 Reinstate stop function 2018-02-02 18:44:32 +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 fd75575828 Merge branch 'LongHairedHacker/gr-satnogs-noaa-apt-sink' 2018-01-05 16:49:38 +02:00
Sebastian abc385ae5a Fixed code style issues 2018-01-05 13:37:55 +01:00
Sebastian 7304a0843c Fixed file naming scheme 2018-01-04 18:34:10 +00:00
Sebastian 5e8958703f Final cleanup and some more comments 2018-01-04 18:34:10 +00:00
Sebastian a844248164 Moved sync patterns into the class
Added constants for magic numbers
2018-01-04 18:34:09 +00:00
Sebastian 6cbe19ba60 Readjust dynamic range after first sync 2018-01-04 18:34:09 +00:00
Sebastian 0e5aeb849f Using stop instead of destructor for teardown 2018-01-04 18:34:08 +00:00
Sebastian 932369429a Added minimal documentation 2018-01-04 18:34:08 +00:00
Sebastian dc2cb5ca29 Syncing works 2018-01-04 18:34:07 +00:00
Sebastian d15bf778e3 Writing images, split and flip work 2018-01-04 18:34:07 +00:00
Sebastian 234a6cd676 Added libpng++ to dependencies 2018-01-04 18:34:06 +00:00
Manolis Surligas 8dedb9b179 Change to debug level wrong CRC AX.25 frames 2018-01-02 18:14:07 +02:00
Manolis Surligas 73d68a7131 Merge branch 'old-gcc-fix' into 'master'
Remove put_time() in favor of strftime() to support older gcc versions

See merge request librespacefoundation/satnogs/gr-satnogs!122
2017-12-03 21:26:10 +00:00
Manolis Surligas 1c20782d6a Remove put_time() in favor of strftime() to support older gcc versions 2017-12-03 23:24:17 +02:00
Manolis Surligas 53e0db48d6 Add AFSK1200 decoder
* AFSK1200 decoder with AX.25 frame support
* Fix issue with the AX.25 decoder when the frame has only one AX.25
SYNC flag
* Fix clear text debug output to print each one of the characters and
not the string, so that the payload can be partially be printed even if
it contains non-printable characters
* Add AFSK1200 decoder example that can decode frames from an .ogg file
retrieved by the satnogs-network
2017-11-26 22:09:45 +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 f560f16af3 Improve CW decoding process
Our approach exploits the autocorrelation properties of the CW signal.
Thus low, high or band pass filtering greatly affects the performance of
the algorithm, because they introduce autocorrelation.
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 8d34e937ee Continue with the CW encoder 2017-11-01 22:04:56 +02:00
Manolis Surligas 9b9f8c92ad Simpify CW decoder 2017-11-01 22:04:56 +02:00
Manolis Surligas 94eef1463c Improve CW decoding performance and complexity 2017-11-01 22:04:56 +02:00
Manolis Surligas 5d9fc19e3b Simplify CW decoding 2017-11-01 22:04:56 +02:00
Manolis Surligas ea5a5632f5 Add CW decoder
* Filtering and decimation stages tested for USRP
* TODO: Test filtering for the rest of the SDR devices
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
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