Generalized predictive control (GPC) is promising for permanent magnet synchronous machine drive systems, due to its outstanding dynamic performance and disturbance rejection capability. However, the speed measurement noise introduced by the encoder and the unmodelled disturbances introduced by the non-ideal machine characteristics deteriorate the performance of GPC. The noise and disturbance issues are studied in detail, and an enhanced GPC method is proposed to address them. For the noise issue, the mathematical model of the speed measurement noise is derived, and the noise spectra at different speeds are analysed. Then, a novel GPC with internal low-pass filter is proposed to reject the influence of the noise. For the disturbance issue, the influence of the unmodelled disturbances on the speed performance is assessed when applying different noise rejection methods, and a resonant controller-based speed ripple mitigation method is proposed and integrated to the GPC. Experimental results show that the proposed methods can effectively deal with the noise and disturbance issues, as well as providing better dynamic performance than the conventional PI based speed control.