/********************************************************
*
* Copyright (c) 2007, BeiJing EFLAG Technology Co., LTD.
* All rights reserved.
*
* 文件名称 : main.c
* 摘 要 : CB的main函数
*
* 当前版本 : 0.1
* 作 者 : EFLAG
* 完成日期 : 2008年
*
* 取代版本 :
* 原作者 :
* 修改内容 :
* 完成日期 :
*
********************************************************/
#include <fract.h>
#include <filter.h>
#include <sys_init.h>
/* FFT变换的数据长度 */
#define VEC_SIZE 256
/* 旋转因子的长度 */
#define TWIDDLE_SIZE VEC_SIZE/2
/* FFT变换输入数据 */
fract16 in[VEC_SIZE] = {
000000,0x4b3d,000000,0x79bc,000000,000000,000000,0x8644,
000000,0xb4c3,000000,0x4b3d,000000,0x79bc,000000,000000,
000000,0x8644,000000,0xb4c3,000000,0x4b3d,000000,0x79bc,
000000,000000,000000,0x8644,000000,0xb4c3,000000,0x4b3d,
000000,0x79bc,000000,000000,000000,0x8644,000000,0xb4c3,
000000,0x4b3d,000000,0x79bc,000000,000000,000000,0x8644,
000000,0xb4c3,000000,0x4b3d,000000,0x79bc,000000,000000,
000000,0x8644,000000,0xb4c3,000000,0x4b3d,000000,0x79bc,
000000,000000,000000,0x8644,000000,0xb4c3,000000,0x4b3d,
000000,0x79bc,000000,000000,000000,0x8644,000000,0xb4c3,
000000,0x4b3d,000000,0x79bc,000000,000000,000000,0x8644,
000000,0xb4c3,000000,0x4b3d,000000,0x79bc,000000,000000,
000000,0x8644,000000,0xb4c3,000000,0x4b3d,000000,0x79bc,
000000,000000,000000,0x8644,000000,0xb4c3,000000,0x4b3d,
000000,0x79bc,000000,000000,000000,0x8644,000000,0xb4c3,
000000,0x4b3d,000000,0x79bc,000000,000000,000000,0x8644,
000000,0xb4c3,000000,0x4b3d,000000,0x79bc,000000,000000,
000000,0x8644,000000,0xb4c3,000000,0x4b3d,000000,0x79bc,
000000,000000,000000,0x8644,000000,0xb4c3,000000,0x4b3d,
000000,0x79bc,000000,000000,000000,0x8644,000000,0xb4c3,
000000,0x4b3d,000000,0x79bc,000000,000000,000000,0x8644,
000000,0xb4c3,000000,0x4b3d,000000,0x79bc,000000,000000,
000000,0x8644,000000,0xb4c3,000000,0x4b3d,000000,0x79bc,
000000,000000,000000,0x8644,000000,0xb4c3,000000,0x4b3d,
000000,0x79bc,000000,000000,000000,0x8644,000000,0xb4c3,
000000,0x4b3d,000000,0x79bc,000000,000000,000000,0x8644,
000000,0xb4c3,000000,0x4b3d,000000,0x79bc,000000,000000,
000000,0x8644,000000,0xb4c3,000000,0x4b3d,000000,0x79bc,
000000,000000,000000,0x8644,000000,0xb4c3,000000,0x4b3d,
000000,0x79bc,000000,000000,000000,0x8644,000000,0xb4c3,
000000,0x4b3d,000000,0x79bc,000000,000000,000000,0x8644,
000000,0xb4c3,000000,0x4b3d,000000,0x79bc,000000,000000
};
/* FFT变换预留的空间 */
complex_fract16 t[VEC_SIZE];
/* FFT变换输出数据 复数形式*/
complex_fract16 out[VEC_SIZE];
/* 旋转因子 */
complex_fract16 w[TWIDDLE_SIZE];
/* 频域能量 */
fract16 fft_data[VEC_SIZE];
/********************************************************
*
* 函数名 : main
* 函数功能 : main函数
* 函数输入参数 :
* 函数输出 :
* 说明 :
*
********************************************************/
void main(void) {
unsigned int value_index;
Init_PLL();
Init_EBIU();
Init_SDRAM();
/* FFT的旋转因子初始化 */
twidfftrad2_fr16 (w, VEC_SIZE);
/* FFT变换 */
rfft_fr16(in, t, out, w, 2*TWIDDLE_SIZE/VEC_SIZE, VEC_SIZE, 1, 2);
/* 获得频域能量 */
for(value_index = 0;value_index < VEC_SIZE; value_index++) {
/* complex absolute value */
fft_data[value_index] = cabs_fr16 (out[value_index]);
}
while (1){
idle();
}
}