adsb-out/HackRF.py
2017-09-18 23:16:47 +12:00

37 lines
1.0 KiB
Python

import numpy
import logging
###############################################################
# Further work on fork
# Copyright (C) 2017 David Robinson
class HackRF:
"""The HackRF class has functions from converting data into a format into which the hackrf can process
"""
logger = None
def __init__(self):
self.logger = logging.getLogger(__name__)
def hackrf_raw_IQ_format(self, ppm):
"""
Args:
ppm: this is some data in ppm (pulse position modulation) which you want to convert into raw IQ format
Returns:
bytearray: containing the IQ data
"""
self.logger.debug('Creating hackRF bytearray from the ppm stuff')
signal = []
bits = numpy.unpackbits(numpy.asarray(ppm, dtype=numpy.uint8))
for bit in bits:
if bit == 1:
I = 127
Q = 127
else:
I = 0
Q = 0
signal.append(I)
signal.append(Q)
return bytearray(signal)