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

📄 f16.c

📁 16点的傅立叶算法
💻 C
字号:

/* 16点付氏变换的系数 */
#define ks1	382	
#define ks2	707	
#define ks3	923	
#define PI	3.1416
#define DU	PI/180	
int vsin,vcos;	/* 虚部和实部 */
int kkff;	/* 模(实部和虚部的平方和的开方) */

/* 16点付氏算法:ptr:指向一个周波的起始点,后三个指针为指向存储结果的单元的指针,asin:虚部,acos:实部,kf:模的平方 */
void f24(int *ptr,int *asin,int *acos,int *kf)
{
	long ar,ai;
	long pf; 
	ai=(ptr[1]+ptr[7]-ptr[9]-ptr[15])*ks1;
	ai+=(ptr[2]+ptr[6]-ptr[10]-ptr[14])*ks2;
	ai+=(ptr[3]+ptr[5]-ptr[11]-ptr[13])*ks3;
	ai+=(ptr[4]-ptr[12])*1000;
	ai=*asin=ai/1000;
	ar=(ptr[1]-ptr[7]-ptr[9]+ptr[15])*ks3;
	ar+=(ptr[2]-ptr[6]-ptr[10]+ptr[14])*ks2;
	ar+=(ptr[3]-ptr[5]-ptr[11]+ptr[13])*ks1;
	ar+=(ptr[0]-ptr[8])*1000;
	ar=*acos=ar/1000;
	*kf=(ar*ar+ai*ai)/64;/* 模的平方 */
}
main()
{
	int i;
	int x[16]={0,783,1448,1892,2047,1892,1448,783,0,-783,-1448,-1892,-2048,-1892,-1448,-783};
	f24(x,&vsin,&vcos,&kkff);
	return;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -