sh506.c

来自「SH501.C 基于单片机的信号发生器例程 SH502.C 低频信号发生器的」· C语言 代码 · 共 51 行

C
51
字号
#include <reg52.h>
#include <absacc.h>
#include <stdio.h>
#include <math.h>
#define uint unsigned int
#define uchar unsigned char
uint x0,x1,x2,x3,x4,x5,x6;
int L,i,j,k,b,p;
uchar w[3];
uint TR,TIs,temp;

void FFT(int dataR[],int dataI[])
{
// 以下是数据掉头功能
for(i=0;i<128;i++)
{ 
//CHANGE();
}
for(i=0;i<128;i++)
{
 dataR[i]=dataI[i]; dataI[i]=0; 
}
// FFT算法
for(L=1;L<=7;L++) 						// 第一层循环
{
b=1; i=L-1;
while(i>0) 
{
b=b*2; i--;
} 
for(j=0;j<=b-1;j++)						 // 第二层循环
{ 
p=1; i=7-L;
while(i>0)					
{p=p*2; i--;}
p=p*j;
for(k=j;k<128;k=k+2*b) 				// 第三层循环
{ 
FFT(dataR,dataI);
}
}
} 
for(i=0;i<32;i++) 							// 32次以下的谐波分析
{
w[i]=sqrt(dataR[i]*dataR[i]+dataI[i]*dataI[i]);
w[i]=w[i]/64;
}
w[0]=w[0]/2;
}  

⌨️ 快捷键说明

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