  We consider the problem of resolving overlapping pulses from noisy
multi-snapshot measurements, which has been a problem central to various
applications including medical imaging and array signal processing. ESPRIT
algorithm has been used to estimate the pulse locations. However, existing
theoretical analysis is restricted to ideal assumptions on signal and
measurement models. We present a novel perturbation analysis that overcomes the
previous theoretical limitation, which is derived without a stringent
assumption on the signal model. Our unifying analysis applies to various
sub-array designs of the ESPRIT algorithm. We demonstrate the usefulness of the
perturbation analysis by specifying the result in two practical scenarios. In
the first scenario, we quantify how the number of snapshots for stable recovery
scales when the number of Fourier measurements per snapshot is sufficiently
large. In the second scenario, we propose compressive blind array calibration
by ESPRIT with random sub-arrays and provide the corresponding non-asymptotic
error bound. Furthermore, we demonstrate that the empirical performance of
ESPRIT corroborates the theoretical analysis through extensive numerical
results.
