📄 calculating.c
字号:
signed long int long_int_a,long_int_b; // 中间变量,定义为全局变量是为调试
// 挂起时仍可查看该变量
signed long int long_int_a1,long_int_b1;// 中间变量,定义为全局变量是为调试
// 挂起时仍可查看该变量
signed long int long_int_A1; // 中间变量,定义为全局变量是为调试
// 挂起时仍可查看该变量
/*************************************************************************
文件名: DFT(signed long data_in[32])
日期: 2007年2月15日
公司(作者):
描述和说明: 利用DFT算法计算220V电压有效值
*************************************************************************/
unsigned int DFT(signed long data_in[32])
{
unsigned int i; // 临时变量
/* 以下为标准DFT算法中的a1计算部分 */
long_int_a=1024*(data_in[0]-data_in[16]);
long_int_a=long_int_a+1004*(data_in[1]+data_in[31]-data_in[15]-data_in[17]);
long_int_a=long_int_a+945*(data_in[2]+data_in[30]-data_in[14]-data_in[18]);
long_int_a=long_int_a+851*(data_in[3]+data_in[29]-data_in[13]-data_in[19]);
long_int_a=long_int_a+724*(data_in[4]+data_in[28]-data_in[12]-data_in[20]);
long_int_a=long_int_a+568*(data_in[5]+data_in[27]-data_in[11]-data_in[21]);
long_int_a=long_int_a+391*(data_in[6]+data_in[26]-data_in[10]-data_in[22]);
long_int_a=long_int_a+199*(data_in[7]+data_in[25]-data_in[9]-data_in[20]);
long_int_a=long_int_a>>14; // 左移14位,相当于除以16*1024
long_int_a1=long_int_a*long_int_a; // 求a1平方
/* 以下为标准DFT算法中的b1计算部分 */
long_int_b=199*(data_in[1]+data_in[15]-data_in[17]-data_in[31]);
long_int_b=long_int_b+391*(data_in[2]+data_in[14]-data_in[18]-data_in[30]);
long_int_b=long_int_b+568*(data_in[3]+data_in[13]-data_in[19]-data_in[29]);
long_int_b=long_int_b+724*(data_in[4]+data_in[12]-data_in[20]-data_in[28]);
long_int_b=long_int_b+851*(data_in[5]+data_in[11]-data_in[21]-data_in[27]);
long_int_b=long_int_b+945*(data_in[6]+data_in[10]-data_in[22]-data_in[26]);
long_int_b=long_int_b+1004*(data_in[7]+data_in[9]-data_in[23]-data_in[25]);
long_int_b=long_int_b+1024*(data_in[8]-data_in[24]);
long_int_b=long_int_b>>14; // 左移14位,相当于除以16*1024
long_int_b1=long_int_b*long_int_b; // 求b1平方
long_int_A1=long_int_a1+long_int_b1; // 求a1和b1平方和
i=qsqrt(long_int_A1); // 求平方根,即A1;开方运算按整数看待
return(i); // 返回16位整数值
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -