#import uhd import xmlrpclib s = xmlrpclib.ServerProxy("http://localhost:30000/") import numpy as np #from uhd import libpyuhd as lib from gnuradio import uhd import scipy.signal as signal import pyqtgraph as pg import pyfftw import time import multiprocessing pw=pg.plot() import zmq samples=363 socket_str = "tcp://127.0.0.1:5557" k=np.arange(1800e6,1900e6,25e6) buff=[k.size,] def zmq_consumer(): context = zmq.Context() results_receiver = context.socket(zmq.PULL) results_receiver.connect(socket_str) #results_receiver.setsockopt(zmq.SUBSCRIBE, '') while True: time1 = time.time() result = np.array([]) for i,freqq in enumerate(k): raw_data1= np.array([], dtype=np.complex64) s.set_freq(float(freqq)) #time.sleep(0.005) # pull in raw binary data raw_data=results_receiver.recv() float_list = np.frombuffer(raw_data, dtype="complex64") res3 = pyfftw.builders.fft(float_list, overwrite_input=True, planner_effort='FFTW_ESTIMATE', threads=multiprocessing.cpu_count()) b=res3() result=np.hstack((result,b)) pw.plot(np.abs(result.ravel()), clear=True) pg.QtGui.QApplication.processEvents() # struct.unpack will be faster print(time.time()-time1) # start the receiver socket zmq_consumer()