Mercurial > ~darius > hgwebdir.cgi > pyinst
annotate plotss.py @ 84:4b4ae555067b
Use RMS detector and fix the sweep time for more accuracy.
Add links to app notes discussing theory.
Run forever without pause and print a summary on ctrl-c
author | Daniel O'Connor <doconnor@gsoft.com.au> |
---|---|
date | Thu, 03 Oct 2024 08:57:10 +0930 |
parents | 91b476ebc0f2 |
children |
rev | line source |
---|---|
33
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
2 |
37
3d2306e39700
Move DataFile class to new file for ease of reuse.
Daniel O'Connor <darius@dons.net.au>
parents:
36
diff
changeset
|
3 import datafile |
33
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
4 import exceptions |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
5 import numpy |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
6 import pylab |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
7 import sys |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
8 |
36
ff63d71e1383
Separate out data file reader into a new class for ease of reuse.
Daniel O'Connor <darius@dons.net.au>
parents:
33
diff
changeset
|
9 def doplot(fname): |
39
c6089f1ecc75
Use DataFile properly..
Daniel O'Connor <darius@dons.net.au>
parents:
37
diff
changeset
|
10 dfile = datafile.DataFile(fname) |
36
ff63d71e1383
Separate out data file reader into a new class for ease of reuse.
Daniel O'Connor <darius@dons.net.au>
parents:
33
diff
changeset
|
11 |
37
3d2306e39700
Move DataFile class to new file for ease of reuse.
Daniel O'Connor <darius@dons.net.au>
parents:
36
diff
changeset
|
12 xdata = dfile.freqs / 1e6 |
3d2306e39700
Move DataFile class to new file for ease of reuse.
Daniel O'Connor <darius@dons.net.au>
parents:
36
diff
changeset
|
13 ydata = dfile.powers |
36
ff63d71e1383
Separate out data file reader into a new class for ease of reuse.
Daniel O'Connor <darius@dons.net.au>
parents:
33
diff
changeset
|
14 pylab.title("Tag \'" + dfile['TAG'] + "\' at " + dfile['TIMESTAMP']) |
33
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
15 pylab.xlabel("Frequency (MHz)") |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
16 pylab.ylabel("Level (dBm)") |
40
3c01bd3f2786
Tabs don't work when saving a file, or on windows so don't use them.
Daniel O'Connor <darius@dons.net.au>
parents:
39
diff
changeset
|
17 annstr = "FStart: %.2f MHz\nFStop: %.2f MHz\nPoints: %d" % ( |
36
ff63d71e1383
Separate out data file reader into a new class for ease of reuse.
Daniel O'Connor <darius@dons.net.au>
parents:
33
diff
changeset
|
18 float(dfile['FSTART']) / 1e6, |
ff63d71e1383
Separate out data file reader into a new class for ease of reuse.
Daniel O'Connor <darius@dons.net.au>
parents:
33
diff
changeset
|
19 float(dfile['FSTOP']) / 1e6, |
33
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
20 len(xdata)) |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
21 pylab.annotate(annstr, xy=(5, -40), xycoords='axes points') |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
22 |
40
3c01bd3f2786
Tabs don't work when saving a file, or on windows so don't use them.
Daniel O'Connor <darius@dons.net.au>
parents:
39
diff
changeset
|
23 annstr = "Video BW: %.1f kHz\nResol. BW: %.1f kHz\nAttenuation: %.1f dB\nRef Level: %.1f dBm" % ( |
36
ff63d71e1383
Separate out data file reader into a new class for ease of reuse.
Daniel O'Connor <darius@dons.net.au>
parents:
33
diff
changeset
|
24 float(dfile['VIDBW']) / 1e3, |
ff63d71e1383
Separate out data file reader into a new class for ease of reuse.
Daniel O'Connor <darius@dons.net.au>
parents:
33
diff
changeset
|
25 float(dfile['RESBW']) / 1e3, |
ff63d71e1383
Separate out data file reader into a new class for ease of reuse.
Daniel O'Connor <darius@dons.net.au>
parents:
33
diff
changeset
|
26 float(dfile['ATTEN']), |
ff63d71e1383
Separate out data file reader into a new class for ease of reuse.
Daniel O'Connor <darius@dons.net.au>
parents:
33
diff
changeset
|
27 float(dfile['REFLEV'])) |
33
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
28 pylab.annotate(annstr, xy=(-140, -55), xycoords='axes points') |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
29 pylab.grid(True) |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
30 pylab.plot(xdata, ydata, linestyle='solid', marker='.') |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
31 pylab.show() |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
32 |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
33 if __name__ == "__main__": |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
34 if len(sys.argv) < 2: |
56 | 35 print("Need at least one file to plot") |
33
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
36 sys.exit(1) |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
37 |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
38 for fn in sys.argv[1:]: |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
39 doplot(fn) |
e80c2ff5fa87
Add program to plot data files from sitesurvey.py
Daniel O'Connor <darius@dons.net.au>
parents:
diff
changeset
|
40 |