基于CORDIC的SPWM
时间: 2023-05-24 09:06:13 浏览: 66
SPWM(Sine Wave Pulse Width Modulation)是一种产生正弦波形的调制技术,通常在电力电子和电机控制中使用。在基于CORDIC(Coordinate Rotation Digital Computer)的SPWM中,CORDIC算法用来计算正弦波形的幅值和相位,然后将其与一个三角波形进行比较来产生PWM信号。以下是基于CORDIC的SPWM的算法流程:
1. 设置标志位f=1(表示计算正弦函数的幅值)和角度θ=0(表示正弦波的相位为0)。
2. 根据CORDIC算法,迭代计算正弦函数的幅值和相位,直到幅值的误差小于所需精度。迭代公式为:
x(i+1) = x(i) - f * y(i) * 2^(-i)
y(i+1) = y(i) + f * x(i) * 2^(-i)
z(i+1) = z(i) - f * arctan(2^(-i))
其中,x(i)和y(i)是CORDIC算法中的旋转因子,z(i)是输出的相位值,i是迭代次数。
3. 计算三角波形的幅值,即Amp_tri = 2 * Vdc / π;其中Vdc为直流电压。
4. 将计算得到的正弦波形的幅值与三角波形的幅值进行比较,产生PWM信号。
如果正弦波形的幅值大于三角波形的幅值,则PWM信号为1;否则为0。
5. 将PWM信号送入功率半导体开关的控制端,通过开关的开闭来实现正弦波信号的输出。
总之,基于CORDIC的SPWM算法可以高效地计算正弦波形的幅值和相位,从而产生高质量的PWM信号,被广泛应用于工业控制和电力电子领域。