Mercurial > ~darius > hgwebdir.cgi > pyinst
view 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 |
line wrap: on
line source
#!/usr/bin/env python import datafile import exceptions import numpy import pylab import sys def doplot(fname): dfile = datafile.DataFile(fname) xdata = dfile.freqs / 1e6 ydata = dfile.powers pylab.title("Tag \'" + dfile['TAG'] + "\' at " + dfile['TIMESTAMP']) pylab.xlabel("Frequency (MHz)") pylab.ylabel("Level (dBm)") annstr = "FStart: %.2f MHz\nFStop: %.2f MHz\nPoints: %d" % ( float(dfile['FSTART']) / 1e6, float(dfile['FSTOP']) / 1e6, len(xdata)) pylab.annotate(annstr, xy=(5, -40), xycoords='axes points') annstr = "Video BW: %.1f kHz\nResol. BW: %.1f kHz\nAttenuation: %.1f dB\nRef Level: %.1f dBm" % ( float(dfile['VIDBW']) / 1e3, float(dfile['RESBW']) / 1e3, float(dfile['ATTEN']), float(dfile['REFLEV'])) pylab.annotate(annstr, xy=(-140, -55), xycoords='axes points') pylab.grid(True) pylab.plot(xdata, ydata, linestyle='solid', marker='.') pylab.show() if __name__ == "__main__": if len(sys.argv) < 2: print("Need at least one file to plot") sys.exit(1) for fn in sys.argv[1:]: doplot(fn)