日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab查表svpwm,SVPWM的查表生成方式代码

發布時間:2023/12/10 循环神经网络 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab查表svpwm,SVPWM的查表生成方式代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

昨天研究了傳統的SVPWM生成方法之后 偶然看到了這個東西:

也就是說 SVPWM的占空比-角度的關系可以用分段函數進行表示 這樣就簡單多了

基本上通過查cos表+判斷能避免浮點數運算 下面素程序www

結果輸出到3個txt文件中,修改p的值可以算占空比(相電壓)或者線電壓...

/*

*??? SVPWM program

*??? By Rikka0_0

*??? 2014.4.47

*/

#include

#include

#define QUARTER_ROOT_3 433

#define QUARTER_TOT 750

#define CONSTANT_SCALER 1000

unsigned char cosxFF[91]={255,254,254,254,254,254,253,253,252,251,251,250,249,248,247,246,245,243,242,241,239,238,236,234,232,231,229,227,225,223,220,218,216,213,211,208,206,203,200,198,195,192,189,186,183,180,177,173,170,167,163,160,156,153,149,146,142,138,135,131,127,123,119,115,111,107,103,99,95,91,87,83,78,74,70,65,61,57,53,48,44,39,35,31,26,22,17,13,8,4,0};

int Ua(unsigned int angle){

char sign=1;

if(angle>180){

angle-=180;

sign=-1;

}

if(0<=angle&&angle<60){

if(angle<30)

return sign*QUARTER_ROOT_3*cosxFF[30-angle]/CONSTANT_SCALER+128;

else

return sign*QUARTER_ROOT_3*cosxFF[angle-30]/CONSTANT_SCALER+128;

}else if(60<=angle&&angle<120){

if(angle<90)

return sign*QUARTER_TOT*cosxFF[angle]/CONSTANT_SCALER+128;

else

return -sign*QUARTER_TOT*cosxFF[180-angle]/CONSTANT_SCALER+128;

}else if(120<=angle&&angle<=180){

if(angle<150)

return -sign*QUARTER_ROOT_3*cosxFF[150-angle]/CONSTANT_SCALER+128;

else

return -sign*QUARTER_ROOT_3*cosxFF[angle-150]/CONSTANT_SCALER+128;

}

}

int Ub(unsigned int angle){

if(angle<120)

return Ua(120-angle);

else

return Ua(angle-120);

}

int Uc(unsigned int angle){

if(angle<240)

return Ua(240-angle);

else

return Ua(angle-240);

}

int main (){

int angle=0;

char p=1; //0-Phase voltage 1-Line voltage

FILE* u=fopen("u.txt","wb");

FILE* v=fopen("v.txt","wb");

FILE* w=fopen("w.txt","wb");

char t[10];

while(angle<=360){

itoa(Ua(angle)-p*Ub(angle),t,10);

fputs(t,u);

fputs("\n",u);

itoa(Ub(angle)-p*Uc(angle),t,10);

fputs(t,v);

fputs("\n",v);

itoa(Uc(angle)-p*Ua(angle),t,10);

fputs(t,w);

fputs("\n",w);

angle+=1;

}

fclose(u);

fclose(v);

fclose(w);

system("Pause");

}

下面素一個周期內相電壓(上)和線電壓(下)的關系 可以看出相電壓(占空比分布)呈不規則變化規律 而線電壓呈完美的正弦波變化規律

總結

以上是生活随笔為你收集整理的matlab查表svpwm,SVPWM的查表生成方式代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。