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

📄 main.c

📁 MSP430单片机下实现的12点傅立叶算法
💻 C
字号:
#include <msp430x44x.h>
#include <math.h>

int ad_sample[12] = {1,1023,1775,2047,1773,1025,-1,-1025,-1773,-2049,-1775,-1022};

int calculate_base_imaginary(int *pt);
int calculate_base_real(int *pt);
double calculate_base_imaginary1(int *pt);
double calculate_base_real1(int *pt);

int t1,t2;
unsigned long itemp;
double t3,t4,ftemp;

void main()
{
    
    t1 = calculate_base_imaginary(ad_sample);
    t2 = calculate_base_real(ad_sample);
    itemp = (long)t1*(long)t1 + (long)t2*(long)t2;
    
    t3 = calculate_base_imaginary1(ad_sample);
    t4 = calculate_base_real1(ad_sample);
    ftemp = t3*t3 + t4*t4; 
    
    
    while(1)
    {
        
    }
}

int calculate_base_imaginary(int *pt)
{
	int  base_imaginary;

	base_imaginary = *(pt+2) + *(pt+4) - *(pt+8) - *(pt+10);
	base_imaginary = base_imaginary * (long)86603/100000;

	base_imaginary += (*(pt+1) + *(pt+5) - *(pt+7) - *(pt+11))/2 + *(pt+3) - *(pt+9);

	return(base_imaginary);
}


int calculate_base_real(int *pt)
{
	int  base_real;

	base_real = *(pt+1) - *(pt+5) - *(pt+7) + *(pt+11);
	base_real = base_real *(long) 86603/100000;

	base_real += (*(pt+2) - *(pt+4) - *(pt+8) + *(pt+10))/2 + *(pt+0) - *(pt+6);

	return(base_real);
}

double calculate_base_imaginary1(int *pt)
{
	double  base_imaginary;

	base_imaginary = *(pt+2) + *(pt+4) - *(pt+8) - *(pt+10);
	base_imaginary = base_imaginary * 0.86603;

	base_imaginary += (double)(*(pt+1) + *(pt+5) - *(pt+7) - *(pt+11)) * 0.5 + *(pt+3) - *(pt+9);

	return(base_imaginary);
}


double calculate_base_real1(int *pt)
{
	double  base_real;

	base_real = *(pt+1) - *(pt+5) - *(pt+7) + *(pt+11);
	base_real = base_real * 0.86603;

	base_real += (double)(*(pt+2) - *(pt+4) - *(pt+8) + *(pt+10))*0.5 + *(pt+0) - *(pt+6);

	return(base_real);
}

⌨️ 快捷键说明

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