We introduce a method for the synthesis of pulse waveforms that possess a given time-bandwidth product, have narrow auto-correlation functions, and simultaneously, small cross-correlation functions. Pulse sets with such characteristics are desirable in various contexts in communications and ranging applications: the narrow auto-correlation property provides noise-immunity and enhances temporal resolution, while small cross-correlations minimize mutual interference in multipleaccess systems. We leverage the energy concentration property of the prolate spheroidal wave functions to ensure small pairwise cross-correlations, and develop an iterative algorithm that enforces a desired shape on the auto-correlation functions of the resulting waveforms. The effectiveness of the method is illustrated with examples: the correlation functions of the pulses that we obtain show significant improvements over those of PN sequences, and of pulses obtained by a previously reported method.