基于定點dsp的變頻器實時正弦值計算的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于變頻器技術(shù)領(lǐng)域,具體設(shè)及到一種基于定點DSP的用于變頻器的實時 高效正弦值計算的方法。
【背景技術(shù)】
[0002] 對于交流異步電機的控制來說,無論是簡單的恒壓頻比控制,還是先進(jìn)的矢量控 制抑或是直接轉(zhuǎn)矩控制,都必須要設(shè)及到正弦值的計算。正弦值的計算也成為了控制部分 的重點內(nèi)容,如何簡便、快速、高精度地計算出正弦值,對系統(tǒng)的性能起著決定性作用。對于 定點DSP巧片TMS32CF2812來說,運算能力非常強大,完全能夠勝任實時計算正弦值的任 務(wù)。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明針對現(xiàn)有技術(shù)的不足,提出了一種基于定點DSP的變頻器實時正弦值計算 的方法。
[0004] 本發(fā)明一種基于定點DSP的變頻器實時正弦值計算的方法,該方法具體包括W下 步驟:
[000引步驟(1);計算^、^、^、…、^反正切所對應(yīng)的角度值的Q16格式: int(65536*arctan(.)),其中 表示玄、^、…、^中的數(shù),存儲到數(shù)組 T[17]中,即T[17] = {2949120, 1740967, 919879, 466945, 2:34379, 117304, 58666, 29335, 14 668, 73:34, 3667, 1833, 917, 458, 229, 115, 57};
[0006]步驟(2);輸入角度0,將其用Q16格式定點數(shù)表示為;0 = _IQ16( 0 );
[0007] 步驟(3);根據(jù)正弦函數(shù)性質(zhì)sin(180° +日)=-sin(日)、sin(180° -日)= sin(0),將0°~360°的正弦計算轉(zhuǎn)化為0°~90°范圍內(nèi)的正弦計算,即進(jìn)行如下操 作:
[000引 ①若 0〉90&& 0 < = 270,0 = 180- 0 ;
[0009]②若 0〉180&& 0 < = 360,0 = 0 -360 ;
[0010] 步驟(4);賦初值,令x= _IQ16(0. 607253),y= 0,dx= 0,dy= 0;
[0011] 步驟巧):接下來是一個迭代過程:
[0012]①dx = x〉〉i ;
[0013]②dy = y〉〉i ;
[0014]⑨若白〉=0,x=x- dy, y=y+dx,白=白-T [i];
[0015]④否則,X = x+dy,y = y - dx,日二日+T[i];
[0016] ⑥循環(huán)過程①~④,i從0開始增加到16為止,迭代結(jié)束,此時的y值
[0017] 即為輸入角度的正弦值的Q16格式,其中i為0-16的整數(shù);
[0018] 所述的Q16格式是將一個小數(shù)放大2"后,用放大后的整數(shù)來表示小數(shù)。
[0019] 有益效果;本發(fā)明采用Q格式的形式進(jìn)行定點運算,右移代替除法,計算簡單高 效,占用存儲空間少,可W滿足變頻器中正弦值的快速高精度計算。由于正弦值的精度提 高,運算時間減少,產(chǎn)生的SPWM波、SVPWM波精度有較高的提高,可W有效減小變頻器輸出 的失真率,對電機的控制效果有了很大的提升,減小了電機的抖動和損耗。
【具體實施方式】:
[0020] 本發(fā)明一種基于定點DSP的變頻器實時正弦值計算的方法,該方法具體包括W下 步驟:
[0021] 步驟(1);計算^、^、^、…、^反正切所對應(yīng)的角度值的Q16格式: int(65536相rctanC)),其中 <.,表示垂、^、…、去中的數(shù),存儲到數(shù)組 T[17]中,即T[17] = {2949120, 1740967, 919879, 466945, 2:34379, 117304, 58666, 29335, 14 668, 73:34, 3667, 1833, 917, 458, 229, 115, 57};
[0022]步驟(2);輸入角度0,將其用Q16格式定點數(shù)表示為;0 = _IQ16( 0 );
[002引步驟(3);根據(jù)正弦函數(shù)性質(zhì)sin(180° +日)=-sin(日)、sin(180° -日)=sin(0),將0°~360°的正弦計算轉(zhuǎn)化為0°~90°范圍內(nèi)的正弦計算,即進(jìn)行如下操 作:
[0024]⑨若 0〉90&& 0 < = 270,0 = 180- 0 ;
[002引 ④若 0〉180&& 0 < = 360,0 = 0 -360 ;
[0026]步驟(4);賦初值,令X= _IQ16 (0. 607253),y= 0,dx= 0,dy= 0;
[0027] 步驟巧);接下來是一個迭代過程:
[002引 ⑧dx=x〉〉i;
[0029]⑦dy=y〉〉i;
[0030]⑨若白〉=0, X = X - dy,y = y+dx,白二白-T[i];
[0031] ⑨否則,X=x+dy,y=y-dx,日=日 +T[i];
[0032] ⑩循環(huán)過程①~④,i從0開始增加到16為止,迭代結(jié)束,此時的y值
[0033] 即為輸入角度的正弦值的Q16格式,其中i為0-16的整數(shù);
[0034] 所述的Q16格式是將一個小數(shù)放大2"后,用放大后的整數(shù)來表示小數(shù)。
【主權(quán)項】
1.基于定點DSP的變頻器實時正弦值計算的方法,其特征在于:包括以下步驟:
T[17]中,即T[17] = {2949120, 1740967, 919879, 466945, 234379, 117304, 58666, 29335, 14 668, 7334, 3667, 1833, 917, 458, 229, 115, 57}; 步驟(2):輸入角度0,將其用Q16格式定點數(shù)表示為:0 = _IQ16( 0 ); 步驟⑶:根據(jù)正弦函數(shù)性質(zhì)sin(180° +0)=_sin(9)、sin(18O° -0)=sin(0), 將0°~360°的正弦計算轉(zhuǎn)化為0°~90°范圍內(nèi)的正弦計算,即進(jìn)行如下操作: ① 若 9 >90&& 9〈 = 270,9 = 180- 9 ; ② 若 9 >180&& 9〈 = 360,9 = 9 -360 ; 步驟(4):賦初值,令X= _IQ16 (0? 607253),y= 0,dx= 0,dy= 0; 步驟(5):接下來是一個迭代過程: (1) dx=x?i; (2) dy=y?i; ③ 若 9> = 0,x=x_dy,y=y+dx,0 = 0 -T[i]; ④ 否則,x=x+dy,y=y-dx,0 = 0 +T[i]; ⑤ 循環(huán)過程①~④,i從〇開始增加到16為止,迭代結(jié)束,此時的y值 即為輸入角度的正弦值的Q16格式,其中i為0-16的整數(shù); 所述的Q16格式是將一個小數(shù)放大216后,用放大后的整數(shù)來表示小數(shù)。
【專利摘要】本發(fā)明涉及基于定點DSP的變頻器實時正弦值計算的方法。變頻器中要產(chǎn)生正弦脈寬調(diào)制波來控制電機,傳統(tǒng)方法采用正弦表查表完成,需要用到比較大的芯片F(xiàn)LASH空間,如果正弦值要求精度比較高,或頻率變化比較大的話,所需空間會以幾何倍的方式增長。本方法結(jié)合查表法和CORDIC變形算法,實時計算sin正弦值,正弦脈寬調(diào)制波是以正弦波為原始信號,疊加4k-16k頻率的三角波載波調(diào)制生成。得到正弦波的角度后,首先將其映射到第一象限,并采用CORDIC變形算法,將所有浮點計算轉(zhuǎn)換為定點計算,乘除運算以左移右移代替,具有速度快、精度高、占用存儲空間少的優(yōu)點。
【IPC分類】H02P27-08
【公開號】CN104716889
【申請?zhí)枴緾N201510127930
【發(fā)明人】高明煜, 王振濤, 何志偉, 黃繼業(yè), 曾毓
【申請人】杭州電子科技大學(xué)
【公開日】2015年6月17日
【申請日】2015年3月23日