A method for estimating rotor angle of an electric machine, the method comprising: receiving position samples from an encoder coupled to a permanent magnet electric machine; storing the position samples in a data storage device; determining a first plurality of first changes in position between successive position samples; determining a second plurality of second changes in position between successive first changes in position; determining whether each first change in position is generally increasing, decreasing or constant; applying a corrective motion factor to each stored position sample based on whether the first change in position is generally increasing or decreasing, wherein the corrective motion factor is determined in accordance with the following equation: C = Δ P 1 * n + Δ P 2 * m, where C is the corrective motion factor; Δ P1 is the first change in position; n equals t/T, where t = t final - t initial is the elapsed time corresponding to the first change in position and T = 1/f PWM; Δ P2 is the second change in position between the successive first changes in position, m equals (n(n + 1))/2; and f pwm is the frequency of a pulse width modulation signal outputted by the encoder where the duty cycle of the signal is indicative of the rotor angle; and estimating a final rotor angle of the electric machine based on a particular one of the position samples and a corresponding first change in position associated with the particular one of the position samples corresponding to a respective time by adding the corrective motion factor to an initial rotor angle associated with a position sample to estimate the final rotor angle if the first change in position generally increases for a time interval and subtracting the corrective motion factor from an initial rotor angle associated with a position sample to estimate the final rotor angle if the first change in position generally decreases for a time interval. receiving position samples from an encoder coupled to a permanent magnet electric machine; storing the position samples in a data storage device; determining a first plurality of first changes in position between successive position samples; determining a second plurality of second changes in position between successive first changes in position; determining whether each first change in position is generally increasing, decreasing or constant; applying a corrective motion factor to each stored position sample based on whether the first change in position is generally increasing or decreasing, wherein the corrective motion factor is determined in accordance with the following equation: C = Δ P 1 * n + Δ P 2 * m, where C is the corrective motion factor; Δ P1 is the first change in position; n equals t/T, where t = t final - t initial is the elapsed time corresponding to the first change in position and T = 1/f PWM; Δ P2 is the second change in position between the successive first changes in position, m equals (n(n + 1))/2; and f pwm is the frequency of a pulse width modulation signal outputted by the encoder where the duty cycle of the signal is indicative of the rotor angle; and estimating a final rotor angle of the electric machine based on a particular one of the position samples and a corresponding first change in position associated with the particular one of the position samples corresponding to a respective time by adding the corrective motion factor to an initial rotor angle associated with a position sample to estimate the final rotor angle if the first change in position generally increases for a time interval and subtracting the corrective motion factor from an initial rotor angle associated with a position sample to estimate the final rotor angle if the first change in position generally decreases for a time interval.