lots of example and other useful code for use with the softronics msdd6000
[debian/gnuradio] / gr-msdd6000 / src / non_gr_snapshot_tool / plot_psd.py
1 #!/usr/bin/python
2 import struct;
3 from pylab import *;
4 import sys;
5
6 #a = fft([1,2,3,4]);
7 #print a;
8
9 if(len(sys.argv)<2):
10         print "usage ./plot_psd.py <filename>"
11         sys.exit(-1);
12
13 filename = sys.argv[1];
14
15 #a = open("test.out_002", "r");
16 a = open(filename, "r");
17 samples = [];
18 i_arr = [];
19 q_arr = [];
20 while(True):
21         d = a.read(1024*1024*4);
22         if(len(d) <= 0):
23                 break;
24         
25         for i in range(0,(len(d))/8):
26                 [s_i, s_q] = struct.unpack_from("<ff", d, i*8);
27                 samples.append(complex(s_i, s_q));
28                 i_arr.append(s_i);
29                 q_arr.append(s_q);
30         break;
31
32 fft_data = fftshift(fft(samples));
33 for i in range(0,len(fft_data)):
34         if(fft_data[i] == 0):
35                 fft_data[i] = 0.01;
36
37 plot(20*log10(abs(fft_data)));
38 figure();
39 subplot(2,1,1);
40 plot(i_arr);
41 subplot(2,1,2);
42 plot(q_arr);
43 show();
44
45
46 a.close();
47
48