在线时间2 小时
UID270488
ST金币0
蝴蝶豆0
注册时间2010-10-30
新手上路
- 最后登录
- 2018-3-26
|
a0a.1 0b0c
最近在搞FFT 我用的是自带DSP库中64点 的FFT 现在我遇到一个问题是:我在通过对采样数据进行完FFT后 来计算各次谐波幅值的时候发现计算的值就不对 总是乱跳 (前提是我用的是一个可以产生稳定谐波的源)不知道这是为什么。希望高手给予指点
计算幅值的程序如下:
void powerMag(long nfill)
{
s32 lX,lY;
u32 i;
for (i=0; i < nfill; i++)
{
lX= (lBUFOUT16; /* sine_cosine --> cos */
lY= (lBUFOUT >> 16); /* sine_cosine --> sin */
{
float X= NPT*((float)lX)/32768;
float Y = NPT*((float)lY)/32768;
float Mag = sqrt(X*X+ Y*Y)/nfill; // 先平方和,再开方
lBUFMAG[i1] = (u32)(Mag*65536); //
}
}
}
|
|