Skip to content

Instantly share code, notes, and snippets.

View darksidelemm's full-sized avatar

Mark Jessop darksidelemm

View GitHub Profile
#
# SpyServer + Direwolf configuration File
#
# Setup Direwolf to read from stdin.
ADEVICE - null
ACHANNELS 1
# Single input channel
CHANNEL 0
#!/bin/bash
#
# WIA Broadcast - FreeDV Encoder Cron Job
#
# To be run ~2AM Sunday Morning, to be sure all the required files are in place...
#
# Requirements:
# - freedv_tx and required libs should be in this directory.
# - ffmpeg (available with apt-get, or macports, or homebrew or whatever)
# - wget
/*
Heil Dual-Switch Footswitch Momentary Mute Button
Mark Jessop < vk5qi@rfhead.net >
Mutes system audio on Windows machine when a footswitch is pressed, then un-mutes when
the switch is released. This is useful when listening via a remote SDR on a PC, which
can also hear your own transmissions (helps avoid echo!)
Hardware:
#!/bin/bash
# STRF Cronjob Script
#
# Compile rffft from https://github.com/cbassa/strf
# Use: make rffft
# You should only need libfftw3-dev as a dependency.
#
# Prepare directory with:
# mkfifo fifo
# mkdir data
@darksidelemm
darksidelemm / SatNOGS_RSPdx.md
Last active August 13, 2023 21:19
Adding SDRPlay RSPdx Support to SatNOGS

Adding SDRPlay RSPdx Support to SatNOGS

Author: Mark Jessop vk5qi@rfhead.net Date: 2020-05-08

The SDRPlay RSPdx is a pretty new SDR, and as such is only supported in the SDRPlay v3 API. The current pothosware of SoapySDRPlay only supports v2 of the API, so we need to use a different fork for now.

Note that the v3 API is in beta, and users of older model SDRPlay units may have better luck using the v2 API.

This guide assumes you are starting from an updated SatNOGS RPi image. I have only tested my RSPdx with a few observation so far, so there may be bugs!

@darksidelemm
darksidelemm / STRF_Setup.md
Last active December 2, 2023 02:27
Setting up STRF Capture & Processing

Setting up STRF Data Capture & Processing

Author: Mark Jessop (VK5QI) vk5qi@rfhead.net

This guide provides information on how to capture FFT data using the strf toolset, process it to look for satellite signals, and finally compare their doppler shift against TLEs from the SpaceTrack database. This can help with resolving the 'TLE lottery' after new launches, or cataloguing transmissions from spacecraft already in orbit.

It should be noted that the analysis described in this document is but a small subset of what the strf tools are capable of! Scott Tilley has a post describing some of the history behind strf and giving a crash course on the relationship between orbital dynamics and the doppler effect here: https://skyriddles.wordpress.com/2019/01/04/basic-orbital-dynamics/

The target platform is Debian-based distributions (e.g. Debian, Raspbian, Ubuntu), but should be applicable to other Linux-based platforms. The data processing software (rfplot and rffit) is also k

#!/bin/bash
# STRF Capture Script
# Mark Jessop <vk5qi@rfhead.net>
#
# Compile rffft from https://github.com/cbassa/strf
# Use: make rffft
# You should only need libfftw3-dev as a dependency.
#
# Prepare directory with:
# mkfifo fifo
Sonde Type Count Percentage
AVK - AK2-02 (Russia): 6 0.8
AVK-BAR (Russia): 15 1.9
AVK-MRZ (Russia): 8 1.0
Beijing Changfeng CF-06 (China): 2 0.3
GTS-1 (China): 82 10.6
Graw DFM-06: 1 0.1
Graw DFM-09: 46 6.0
Intermet iMet-1-AB: 5 0.6
@darksidelemm
darksidelemm / fsk9k6.md
Last active December 31, 2023 16:57
Decoding FSK9k6 telemetry from SatNOGS observations.

Decoding FSK9k6 transmissions from SatNOGS observations using Direwolf

Dependencies

Setup

Create a file called ax25_9600.conf with the following contents

#!/usr/bin/env python
import crcmod
def check_crc(data, crc):
crc16 = crcmod.predefined.mkCrcFun('crc-ccitt-false')
_crc = crc16(data)
# Convert incoming CRC to a int