help='begin scan here, in Hertz')
parser.add_argument('--stop',
                    type=int,
                    default=108000000,
                    help='stop scan here, in Hertz')
parser.add_argument('--step',
                    type=int,
                    default=100000,
                    help='step size for scan, in Hertz')

args = parser.parse_args()

model = load_model('fourthModel.h5')
sdr = RtlSdr()
sdr.sample_rate = sample_rate = 2400000
sdr.err_ppm = 56
sdr.gain = 'auto'
#model.save('fourthModel.h5')

train_path = 'training_data'
correct_predictions = 0
classes = [
    d for d in os.listdir(train_path)
    if os.path.isdir(os.path.join(train_path, d))
]
num_classes = len(classes)

freq = args.start
while freq <= args.stop:
    samples = []
Esempio n. 2
0
    plt.xticks(np.linspace(-sample_rate / 2e3, sample_rate / 2e3, 7))
    plt.xlim(-sample_rate / 2e3, sample_rate / 2e3)

    # draw it
    plt.show()


def randomword(length):
    letters = string.ascii_lowercase
    return ''.join(random.choice(letters) for i in range(length))


sdr = RtlSdr()
sdr.sample_rate = sample_rate = 2400000
dec_rate = 48
sdr.err_ppm = 56  # change it to yours
sdr.gain = 20     # change it to yours, it is better to obtain samples at different gain levels

# collect "other" class training data
# for example here we are scanning ether from 110M to 144M assuming there are no interesting signals (it's not true)
freq = 114000000
while freq <= 144000000:
    print('  reading at', freq)
    iq_samples = read_samples(sdr, freq)
    iq_samples = signal.decimate(iq_samples, dec_rate, zero_phase=None)
    filename = "training_data/other/samples-" + randomword(16) + ".npy"
    np.save(filename, iq_samples)
    freq += 50000

# collect "wfm" class traininig data
for i in range(0, 1000):
Esempio n. 3
0
    process(samples, rtl_sdr_obj)


parser = argparse.ArgumentParser(
    formatter_class=argparse.ArgumentDefaultsHelpFormatter)

parser.add_argument('--ppm', type=int, default=0, help='ppm error correction')

parser.add_argument('--gain', type=int, default=20, help='RF gain level')

parser.add_argument('--freq',
                    type=int,
                    default=92900000,
                    help='frequency to listen to, in Hertz')

parser.add_argument('--verbose', action='store_true', help='mute audio output')

args = parser.parse_args()

sdr = RtlSdr()

sdr.rs = 1024000

sdr.fc = args.freq

sdr.gain = args.gain

sdr.err_ppm = args.ppm

sdr.read_samples_async(read_callback, int(sdr.get_sample_rate()) // 16)