In a motor having a number of poles that have nominally
equiangularly-spaced positions that in fact deviate from those positions,
the actual pole positions are determined by measuring the periods between
zero-crossings of the back-EMF generated during pole-pair interactions.
The ratios of the various pole periods can then be computed, and the
motor drive current can be adjusted for each pole by applying the
respective ratio to a base current value determined from the desired
motor speed.