An open loop control unit obtains voltage instruction values v d and v q on dq-axes based on current instruction values i d * and i q * on the dq-axes, an armature winding interlinking magnetic flux number ¦, and the angular velocity É e of a rotor in a motor, and a dq-axis / 3-phase conversion unit converts the voltage instruction values v d , and v q into phase voltage instruction values V u , V v , and V w . On the other hand, a data acquisition unit acquires angle-dependent data showing the dependency of a secondary harmonic component concerning the electric angle of the d-axis or q-axis component of the motor current on the electric angle, based on the current detection value i a and the electric angle ¸, and a correction coefficient determination unit determines correction coefficients for correcting the phase voltage instruction values so as to reduce the dependency based on the angle-dependent data. A correction execution unit corrects the phase voltage instruction values V u , V v , and V w obtained by the dq-axis / 3-phase conversion unit, based on the determined correction coefficients.