ostrosco / comms-rs

A library for building DSP communication pipelines.
MIT License
13 stars 1 forks source link

Feature/qpsk #109

Closed garbagetrash closed 4 years ago

garbagetrash commented 4 years ago

Got basic QPSK implementation working. Check out the examples. I made one that dumps a file just like the BPSK test (single_thread_qpsk.rs), and this is raw binary I/Q int16 interleaved and can be viewed with python like:

import numpy as np
import matplotlib.pyplot as plt

data = np.fromfile("qpsk_out.bin", dtype=np.int16)

data = data[::2] + 1j * data[1::2]

data = data[:1024]

plt.figure()
plt.subplot(211)
plt.plot(np.real(data))
plt.grid(True)
plt.subplot(212)
plt.plot(np.imag(data))
plt.grid(True)

plt.figure()
plt.psd(data)
plt.grid(True)

plt.show()

And I made another that works with comms-gui to push data for 10 seconds to a display. Try the time domain plot in particular. The waterfall seems broken, that'll have to be fixed.