Skip to content

Instantly share code, notes, and snippets.

View daniestevez's full-sized avatar

Daniel Estévez daniestevez

View GitHub Profile
@daniestevez
daniestevez / log
Created October 28, 2016 14:04
Outernet LDPC test
~/free-outernet $ python
Python 3.4.3 (default, Jan 11 2016, 14:18:01)
[GCC 4.9.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ldpc
>>> from functools import reduce
>>> data = [66, 98, 247, 43, 153, 140, 6, 61, 60, 144, 107, 112, 193, 108, 227, 134, 66, 220, 217, 1, 51, 2, 31, 29, 20, 3, 177, 125, 140, 42, 138, 90, 141, 194, 220, 245, 16, 158, 119, 23, 48, 31, 165, 40, 65, 121, 55, 227, 56, 62, 29, 201, 220, 10, 237, 130, 4, 66, 138, 14, 103, 129, 24, 25, 228, 49, 65, 172, 129, 163, 192, 86, 236, 83, 175, 238, 99, 190, 6, 16, 162, 198, 96, 157, 3, 248, 39, 129, 220, 237, 3, 217, 85, 54, 136, 147, 114, 32, 181, 65, 193, 231, 180, 204, 33, 223, 134, 148, 41, 100, 57, 107, 234, 106, 161, 167, 45, 110, 233, 154, 246, 120, 127, 190, 197, 199, 201, 2, 32, 223, 204, 11, 199, 190, 217, 133, 203, 254, 237, 113, 170, 153, 72, 183, 77, 229, 245, 63, 23, 27, 0, 194, 86, 51, 165, 22, 8, 177, 240, 248, 115, 135, 243, 248, 101, 227, 14, 170, 172, 11, 26, 39, 216, 178, 102, 123
@daniestevez
daniestevez / ks-1q
Created November 12, 2016 20:49
KS-1Q packet from K4KDR recording
peak frequency index: 4517 / 10841
samples per symbol: 2.400044
clock cycles per sample: 0.416659
clock phase in cycles between 1st and 2nd samples: 0.883642
clock phase in cycles at 1st sample: 0.675313
symbol count: 4517
[1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,
@daniestevez
daniestevez / bits.py
Created November 20, 2016 12:01
KS-1Q FEC decoder (prototype)
bits = [1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1,
@daniestevez
daniestevez / woodpecker.grc
Last active October 20, 2017 05:58
OTH radar analysis
<?xml version='1.0' encoding='utf-8'?>
<?grc format='1' created='3.7.10'?>
<flow_graph>
<timestamp>Thu Dec 8 21:11:20 2016</timestamp>
<block>
<key>options</key>
<param>
<key>author</key>
<value></value>
</param>
@daniestevez
daniestevez / telemetry.log
Created December 29, 2016 09:45
BY70-1 telemetry from BY701-1228-112utc.wav recording by JA0CAW
**** 09:39:29, byte_corr = -1
**** 09:39:56, byte_corr = -1
**** 09:39:57, byte_corr = 12
Packet number 3372 (telemetry)
--------------------------------------------
Container:
adf7021_ld = 1
err_flag = 0
@daniestevez
daniestevez / by701_cmd.py
Created January 6, 2017 20:58
BY70-1 AX.25 command generator
#!/usr/bin/env python3
import binascii
import sys
def ax25call(callsign):
s = callsign.split('-')
call = s[0].upper()[:6]
call = call + ' '*(6-len(call))
ssid = 0 if len(s) == 1 else int(s[1])
@daniestevez
daniestevez / adwav
Last active March 12, 2017 12:55
Linrad EAPSK63 playback parameters
/home/daniel/psk63.wav
@daniestevez
daniestevez / imd.py
Created March 12, 2017 18:19
PSK63 IMD measurement
#!/usr/bin/env python3
import scipy.io.wavfile
from scipy.fftpack import fft, fftfreq
from scipy.signal import flattop
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import numpy as np
import sys
@daniestevez
daniestevez / waterfally.py
Created March 18, 2017 15:53
EAPSK63 waterfall plotter
#!/usr/bin/env python3
import numpy as np
from scipy.fftpack import fft, fftshift
from scipy.signal import blackman
import matplotlib.pyplot as plt
import sys
# Parameters
@daniestevez
daniestevez / hermes-linrad.grc
Created April 11, 2017 17:35
HermesLite -> Linrad flowgraph
<?xml version='1.0' encoding='utf-8'?>
<?grc format='1' created='3.7.10'?>
<flow_graph>
<timestamp>Mon Mar 6 16:32:19 2017</timestamp>
<block>
<key>options</key>
<param>
<key>author</key>
<value></value>
</param>