主权项 |
一种用于纺机变频器的实时正弦值计算产生SPWM的方法,其特征在于:包括以下步骤:步骤(1):依据所要输出的SPWM波的频率fo,得到作为原始信号的正弦波的频率fi ,fi=fo; 步骤(2):依据三角波的载波频率fs,得到一个正弦波周期有n个采样点,n=fs/fi, 可以得到两个采样点之间的间隔角度Δθ,Δθ=360°/n;步骤(3):每计算完一个采样点,正弦波的输入角度θ每次都累加Δθ,0°≤θ<360°;步骤(4):计算所有整数角度γ=0°,1°,2°,……,90°时sin(γ)的Q15格式定点数表示值:int(32768·sin(γ)),其中int(·)表示取结果的整数部分,Q15格式的定点数32768等价于Q0格式的小数1.0;将它们保存到表格T[γ]中;步骤(5):获得输入角度为θ的Q15格式定点数表示值,其整数部分为 Iθ=int(θ),小数部分的Q15格式定点数表示为 fθ=int(32768·(θ‑Iθ));步骤(6):根据正弦函数性质sin(180°+θ)=‑sin(θ),将大于180°的正弦计算转化为0°~180°范围内的正弦计算,即进行如下操作: ①若Iθ>180,令s=‑1,Iθ=Iθ‑180,fθ不变; ②若Iθ≤180,令s=1,Iθ不变,fθ不变;步骤(7):根据正弦函数性质sin(180°‑θ)=sin(θ),将大于90°小于180°的正弦计算进一步转化为0°~90°范围内的正弦计算进行,即进行如下操作: ①若Iθ>90,令Iθ=179‑Iθ,fθ=32768‑ fθ; ②若Iθ≤90,则Iθ和fθ均保持不变;步骤(8):根据上述转换后,根据角度θ的小数部分的Q0值,从表格T[γ]查找最近整数角度插值点Iθ: ①若Q0值的绝对值大于0.5°,即其对应的Q15格式定点数满足16384<fθ<49152,则令Iθ=Iθ+1,并同时修改fθ=65535‑ fθ; ②若上述条件不满足,则Iθ和fθ保持不变;步骤(9):查找整数角度正弦表T[γ],令sn=T(Iθ),cn= T(90°‑Iθ),sn为通过查表得到的整数角度为Iθ的Q15格式正弦值,cn为通过查表得到的整数角度为90°‑Iθ的Q15格式正弦值;步骤(10):由泰勒展开,根据角度θ的小数部分的Q0值是否大于0,进行如下计算:若Q0值大于0,即对应的Q15格式定点数满足fθ≤32768,则令 dx=int(fθ·π/180)并计算 A1=sn+int( cn ·dx/32768)‑int(sn·dx·dx/2/32768/32768));若Q0值小于0,即对应的Q15格式定点数满足fθ>32768,则令 fθ=fθ‑32768,dx=int(fθ·π/180)并计算 A2=sn‑int( cn ·dx/32768)‑int(sn· dx·dx/2/32768/32768));步骤(11):根据上述两种情况,获得定点计算下sin(θ)的结果: sin(θ)1=s·A1/32768 或者 sin(θ)2=s·A2/32768;步骤(12): 用计算得到的正弦值形成正弦波和定时器生成的三角波,两个相调制,最终生成精度较高的SPWM波;所述的Q15格式是将一个小数放大215后,用放大后的整数来表示小数,Q0格式是表示未经处理的数。 |