我使用的stm32f303 采用它5.1MSPS的采样率双通道同步采样,采集正弦信号1024个点,采集的地方没有问题,数据都对,但是我想进行cfft运算,需要将每两个数据中间放一个0,也就是说会产生2048点的数组,可是为什么每次这个2048个点的数组只有前1024个点是正确的,之后的数据要么是0,要么就是很大的数据?
程序如下:
for(i=0;i<2048;i+=2)
{
Input_data=(ADCDualConvertedValue & 0x0000ffff);
Input_data[i+1]=0;
}
转换后的数组我用串口发给电脑上,用excel查看图形如下:
前1024个点的数据都是正确的,后1024个点的数据就很随意了 ,请问有人遇到过类似情况么?
我又使用sin函数进行试验,程序如下:
for(i=0;i<1024;i++)
{
Input_data=arm_sin_f32(i);
}
for(i=0;i<2048;i+=2)
{
Input_data=Input_data; //(ADCDualConvertedValue & 0x0000ffff);
Input_data[i+1]=0;
}
图如下:
也是只能传送前1024个点
|