summaryrefslogtreecommitdiff
path: root/gr-msdd6000/src/python_test/udp_stream_rate_test_plot.py
diff options
context:
space:
mode:
Diffstat (limited to 'gr-msdd6000/src/python_test/udp_stream_rate_test_plot.py')
-rw-r--r--gr-msdd6000/src/python_test/udp_stream_rate_test_plot.py161
1 files changed, 0 insertions, 161 deletions
diff --git a/gr-msdd6000/src/python_test/udp_stream_rate_test_plot.py b/gr-msdd6000/src/python_test/udp_stream_rate_test_plot.py
deleted file mode 100644
index eef78f51bb..0000000000
--- a/gr-msdd6000/src/python_test/udp_stream_rate_test_plot.py
+++ /dev/null
@@ -1,161 +0,0 @@
-#!/usr/bin/python
-
-from socket import *
-import string
-import time
-import struct;
-from random import *;
-import array;
-import cmath;
-from numpy import *;
-from numpy.fft import *;
-from pylab import *;
-
-myport = randint(1025,65535);
-filename = "output.dat";
-
-msdd_port = 10001
-msdd_host = "10.45.4.46"
-
-buf = 100000;
-
-my_udp_addr = ('',randint(1025,65535));
-
-UDPSock = socket(AF_INET,SOCK_DGRAM);
-UDPSock.bind(my_udp_addr);
-
-f_mhz = 2500;
-
-print "fc = %d"%(f_mhz);
-
-f_hz = 0;
-gain = 20; # attenuation
-window = 3; #0=rect, 1=hanning, 2=hamming, 3=blackman
-
-samples = 65535*4*2;
-#samples = 16384;
-#samples = 16*1024*1024;
-#samples = samples*4; #bytes of data we are requesting
-
-# decim 0-8 ( 3 - 8 )
-#decim = 5; # rate ok
-decim = 8;
-decim = decim+16; # +16 to use 16bit floats instead of 32 bit floats
-mode = 0; #0=IQ, 1=MAG, 2=MAGDB
-#sets = 0;
-sets = 0xffffffff;
-
-size_int = 4;
-request_len = 6*size_int; # 6 int items not including the 8 bytes for opcode and length fields
-print "request len = %d"%(request_len);
-
-raw_data = struct.pack("<IIIIIIII", 0x01, request_len, f_mhz, f_hz, gain, samples, decim, sets);
-
-data = raw_data;
-
-UDPSock.sendto(data, (msdd_host, msdd_port));
-
-print "sent"
-
-
-
-count = 0;
-
-total_data = [];
-
-state = 0;
-
-vals = [];
-mags = [];
-re = [];
-
-sample_count = 0;
-IQ_bytes=0;
-
-
-numtocap = 1000;
-IQ_bytes = 4 * numtocap;
-
-numbytes = 65536*100;
-#numbytes = 65536*2;
-#numbytes = 1024;
-
-num_rx = 0;
-start = time.time();
-l = [];
-arr = [];
-
-while(num_rx < numbytes):
- data = UDPSock.recv(1024);
- l.append(data);
- num_rx = num_rx + len(data);
-
-
-end = time.time();
-
-# send stop command
-halt_data = struct.pack(">II", 0x04, 0x00);
-UDPSock.sendto(halt_data, (msdd_host, msdd_port));
-
-# perform timing analysis
-print "recieved %d bytes in %f sec"%(numbytes, end-start);
-bytes_per_sec = numbytes / (end-start);
-samples_per_sec = bytes_per_sec / 4;
-MSPS = samples_per_sec / 1000000.0;
-
-print "Got %f MSPS"%(MSPS);
-print "Expected %f MSPS"%(102.4/math.pow(2,(decim-16)));
-
-
-# plot data
-val_arr = [];
-mag_arr = [];
-mag_arr2 = [];
-
-print "Repacking data..."
-f = open("out.dat","w");
-for li in l:
- for p in range(0, len(li)/4):
- [i,q] = struct.unpack_from("<hh", li, p*4);
- val = complex(i,q);
- mag_arr.append((val*conj(val)).real);
- val_arr.append(val);
- binchunk = struct.pack("<ff",float(val.real), float(val.imag) );
- f.write(binchunk);
-f.close();
-
-
-dlen = len(val_arr)-1;
-fft_data = [];
-for i in range(1, dlen-1024, 1024*1024):
-
- t_in = [];
- for ind in range(i, i+1024):
- t_in.append(val_arr[ind]);
-
- tmp = 20*log10(fftshift(fft(t_in)));
- #tmp = (fftshift(fft(t_in)));
-
- if(len(fft_data) == 0):
- for ind in range(0,1024):
- fft_data.append( tmp[ind] );
- else:
- for ind in range(0,1024):
- fft_data[ind] = fft_data[ind] + tmp[ind];
-
-
-
-
-print "Plotting..."
-subplot(2,1,1);
-plot(mag_arr);
-title("T power");
-subplot(2,1,2);
-plot(10*log10(fft_data));
-title("PSD");
-show();
-
-
-
-UDPSock.close();
-