This paper presents a novel algorithm to automatically classify communication signals with unknown modulation type and modulation parameters. This algorithm classifies the modulation type by detecting the presence of cyclostationarities and examining five features derived from the spectrum of the received communication signal. In detecting the presence of the cyclostationarities of the input signal, it utilizes normalized thresholds, which are much reliable under different SNR conditions for different modulation types and modulation parameters. The five features based on the spectrum are designed in such a way that the decisions are made by checking which one is larger or largest - therefore, the task of selecting feature thresholds has been avoided. The above make the developed algorithm more practical, especially in blind environments. The algorithm is capable of recognizing the concrete modulation type if the input is an analog communication signal or an exponentially modulated digital communication signal. For a linearly modulated digital communication signal, the algorithm will classify it into one of several subsets of modulation types. In addition, it provides a very good estimate of the symbol rate for a linearly modulated digital communication signal and a very good estimate of the frequency deviation for an exponentially modulated digital communication signal. The developed algorithm has been tested with data generated by hardware generators, and has been demonstrated to be able to achieve promising.