The automatic recognition of the modulation format of a detected signal, the intermediate step between signal detection and demodulation, is a major task of an intelligent receiver, with various civilian and military applications. Obviously, with no knowledge of the transmitted data and many unknown parameters at the receiver, such as the signal power, carrier frequency and phase offsets, timing information and so on, blind identification of the modulation is a difficult task. This becomes even more challenging in real-world scenarios with multipath fading, frequency-selective and time-varying channels. With this in mind, the authors provide a comprehensive survey of different modulation recognition techniques in a systematic way. A unified notation is used to bring in together, under the same umbrella, the vast amount of results and classifiers, developed for different modulations. The two general classes of automatic modulation identification algorithms are discussed in detail, which rely on the likelihood function and features of the received signal, respectively. The contributions of numerous articles are summarised in compact forms. This helps the reader to see the main characteristics of each technique. However, in many cases, the results reported in the literature have been obtained under different conditions. So, we have also simulated some major techniques under the same conditions, which allows a fair comparison among different methodologies. Furthermore, new problems that have appeared as a result of emerging wireless technologies are outlined. Finally, open problems and possible directions for future research are briefly discussed.