  The measurement of Doppler velocity shifts in spectra is a ubiquitous theme
in astronomy, usually handled by computing the cross-correlation of the
signals, and finding the location of its maximum. This paper addresses the
problem of the determination of wavelength or velocity shifts among multiple
spectra of the same, or very similar, objects. We implement the classical
cross-correlation method and experiment with several simple models to determine
the location of the maximum of the cross-correlation function. We propose a new
technique, 'self-improvement', to refine the derived solutions by requiring
that the relative velocity for any given pair of spectra is consistent with all
others. By exploiting all available information, spectroscopic surveys
involving large numbers of similar objects may improve their precision
significantly. As an example, we simulate the analysis of a survey of G-type
stars with the SDSS instrumentation. Applying 'self-improvement' refines
relative radial velocities by more than 50% at low signal-to-noise ratio. The
concept is equally applicable to the problem of combining a series of
spectroscopic observations of the same object, each with a different Doppler
velocity or instrument-related offset, into a single spectrum with an enhanced
signal-to-noise ratio.
