METEOR initial flowgraph

This commit adds a inital METEOR flowgraph that can be used for
capturing raw IQ. The capturing is performed in a sampling rate of
320KSPS which is more than enough for actual decoding for both METEOR
modes (72K and 80K). Due to icnreased bandwidth no audio file is
generated.
This commit is contained in:
Manolis Surligas 2018-01-10 12:10:13 +02:00
parent 72e59ee1a6
commit cab73519e0
5 changed files with 2993 additions and 0 deletions

View File

@ -23,5 +23,6 @@ GR_PYTHON_INSTALL(
PROGRAMS
upsat_transceiver_cli.py
satnogs_noaa_apt_decoder.py
satnogs_meteor_decoder.py
DESTINATION bin
)

File diff suppressed because it is too large Load Diff

View File

@ -34,6 +34,7 @@ GR_PYTHON_INSTALL(
dsp_settings.py
hw_settings.py
satnogs_upsat_transmitter.py
utils.py
DESTINATION ${GR_PYTHON_DIR}/satnogs
)

View File

@ -31,6 +31,7 @@ try:
from dsp_settings import *
from hw_settings import *
from satnogs_upsat_transmitter import *
from utils import *
except ImportError as err:
sys.stderr.write("Failed to import SatNOGS ({})\n".format(err))
sys.stderr.write("Consider first to run 'sudo ldconfig'\n")

30
python/utils.py Normal file
View File

@ -0,0 +1,30 @@
#! /usr/bin/python
#
# gr-satnogs: SatNOGS GNU Radio Out-Of-Tree Module
#
# Copyright (C) 2018
# Libre Space Foundation <http://librespacefoundation.org/>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
def lcm(p,q):
p, q = abs(p), abs(q)
m = p * q
if not m: return 0
while True:
p %= q
if not p: return m // q
q %= p
if not q: return m // p