A feature-based modulation recognition algorithm is proposed, to identify practical multilevel amplitude phase shift keying (MAPSK) signals using template matching, which suffers from various unknown effects, including carrier frequency, time delay and phase shift. The probability distribution functions (PDFs) of the amplitudes for each modulation constellation are estimated from the corresponding analytic signal of a received intermediate frequency signal. Then, a template matching algorithm based on Kullback-Leibler divergence is used to evaluate the similarity between the PDF of the amplitude for a received signal and the PDF templates, which has been stored in advance. The simulation results show that the proposed modulation recognition algorithm performs robustly and precisely even in an extremely low signal-to-noise ratio. The performance of the proposed algorithm is not very sensitive to the number of used symbols or timing error, which means that the performance will not be seriously degraded with a less number of symbols or with a larger timing error for symbol synchronisation.