From www.AA6E.net
Jump to: navigation, search

p100.py

Screenshot-P100.png

P100 provides a "tuning indicator" for CW, RTTY, or similar applications. It allows you to tune your ham rig for precise zero-beat with a received signal. The program started as an emulation of the Z100 hardware product from K8LOA's Clifton Laboratories. Like much of the software provided on aa6e.net, it is as much a tutorial for how to do things in Python as it is a useful utility. (But I hope it will be useful!)

P100 v 0.10 was developed for the Linux platform using ossaudiodev. Version 0.20 uses PortAudio and PyAudio, which is compatible with a wider group of platforms -- including recent versions of Ubuntu.

From the Python source v 0.2:

# Requires wxPython and numpy packages
# Ubuntu 11.04: python-wxgtk2.8, python-numpy, python2.6
# This version adapted to use PyAudio, which works with PulseAudio in Natty.

# P100 is a re-envisioning of K8ZOA's Z100 tuning indicator as a Python 
# program running under Linux. (It was developed with Python 2.5.1
# and Fedora 8.)  It is a simple audio spectrum analyzer with a LED-like 
# display.  Unlike the Z100, which uses a hard clipped audio signal,
# P100 works with 16-bit sound samples, processed with an FFT.  This
# results in better performance when the signal of interest is not strong.
# Two display modes are provided - linear and log.  A number of discrete
# center frequencies are available from 400 to 1000 Hz.  "LED resolution"
# is fixed at 28.7 Hz, which is convenient to calculate with a 256-point
# transform. To keep the CPU load low (~ 4% on an Athlon XP 2000+) and to
# provide reasonable real-time responsiveness, we only look at roughly 
# 14% of the available data.  This program started as a sort of toy,
# but it might actually be useful for CW or RTTY operations.
 

View and download the source:

Updated: 1/29/2008; Wikified 7/6/2010, v 0.2 7/3/2011