  A simple, analytically correct algorithm is developed for calculating pencil
beam coordinates using the signals from an ideal cylindrical particle beam
position monitor (BPM) with four pickup electrodes (PUEs) of infinitesimal
widths. The algorithm is then applied to simulations of realistic BPMs with
finite width PUEs. Surprisingly small deviations are found. Simple empirically
determined correction terms reduce the deviations even further. The algorithm
is then used to study the impact of beam-size upon the precision of BPMs in the
non-linear region. As an example of the data acquisition speed advantage, a
FPGA-based BPM readout implementation of the new algorithm has been developed
and characterized. Finally,the algorithm is tested with BPM data from the
Cornell Preinjector.
