The first coordinate converter 130 may perform reference coordinate transformation to the sum of the fundamental wave voltage command (vdqsf{circumflex over (r)}*) and the high frequency voltage command (vdqsh{circumflex over (r)}*) on the basis of the estimated angle ({circumflex over (θ)}r) from an estimated synchronous coordinate system (d{circumflex over (r)}, q{circumflex over (r)}) to a stationary coordinate system. The second coordinate converter 150 may perform reference coordinate transformation to the current (idqs{circumflex over (r)}) of the motor 101 on the basis of the estimated angle ({circumflex over (θ)}r) from a stationary coordinate system to an estimated synchronous coordinate system.
The inverter 140 may apply a voltage (vabcs) to the stator of the motor 101 on the basis of the voltage command (vdqs{circumflex over (r)}*). The stator of the motor 101 rotates the rotor since the stator voltage forms a rotating magnetic field by the applied voltage (vabcs). The inverter 140 may be a single-phase inverter or a multi-phase inverter.
The angle estimator 180 may estimate the position of the rotor of the motor 101 on the estimated coordinate system on the basis of the current signal (isig) of the motor 101. Namely, the angle estimator 180 may output an estimated angle ({circumflex over (θ)}r). The current signal (isig) may be a signal obtained by demodulating the high frequency current component (idqsh{circumflex over (r)}) extracted from the motor current (idqs{circumflex over (r)}) of the motor 101.