Considering recognition of (n,1,m) convolutional code in non-cooperative signal processing, an algorithm based on maximum likelihood detection is proposed. Firstly, the linear equations of check polynomial coefficients are constructed with different lengths, and the equations are solved based on maximum likelihood detection. Then the equations of generator polynomial coefficients are constructed according to the relationship between check polynomial and generator polynomial. The generator polynomial is deduced by the equations at last. Validity of the algorithm is verified by the simulation results. Case studies are presented to illustrate that the method can recognize the (n,1,m) convolutional code in a high noisy environment.