⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculating.c

📁 TMS320X240xDSP原理及应用开发指南
💻 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 + -