18.6.1 Example 1
The CORDIC algorithm accepts three inputs: an x and y coordinate describing the resolver angle, θ, and a feedback input angle . The x and y inputs may be provided by the demodulated resolver output values at the rotor angle, sin(θ) and cos(θ), and may be calculated by the software tracking loop as shown in Figure 18-12.
For the resolver application, the CORDIC algorithm will rotate the vector defined by the CIC filter’s outputs, which are proportional to the sine and cosine of the mechanical resolver angle, by the negative value of the previously estimated resolver angle. As the estimated value of the angle approaches the actual measured value of the angle from the resolver, the rotated vector’s y-coordinate will approach zero. This y-coordinate output can be used as the error signal input ε, defined in Equation 18-9, to the PI controller to produce the next, more accurate estimate of the angle and angular velocity.
The CORDIC algorithm will add a signal gain, Ac, described by Equation 18-10. The combination of this gain with the gain inherent in the selected system components will be referred to as the gain A. Because of this gain, the user must select inputs x and y such that they will not cause an overflow of the CORDIC rotation calculations. Depending on circuit characteristics, this may require a 1-bit right shift of the CIC filter outputs before writing them to the CORDIC x and y input registers.
