The optimum (maximum-likelihood) synchronizer for extracting bit synchronization directly from a binary data stream is presented along with some simple suboptimum synchronizers that perform almost all well. The manner in which the performances of these systems depend on the pertinent system parameters as determined by a combined program of analysis, simulation, and laboratory experimentation are reported. Both synchronizer jitter and the degradation in error rate due to jitter are considered.