有关FFT程序?
1、这个注释我写的对吗?dataR=dataI; dataI=0; //对于输出值来说输入值已经没有用处了,所以将输出值存放在输入内存中//2、/********** following code invert sequence *****倒序排列******/ 这个倒序排列就是蝶形运算中左边的序列吧?
3、平时说的算法,这个也算是吗?这个对于滤波器来说是不是也很重要呢?谁有建议指点吧,看不懂啦
void FFT(float dataR,float dataI)
{
int x0,x1,x2,x3,x4,x5,x6,xx;
int i,j,k,b,p,L;
float TR,TI,temp;
/********** following code invert sequence *****倒序排列******/
for ( i=0;i<SAMPLENUMBER;i++ )
{
x0=x1=x2=x3=x4=x5=x6=0;
x0=i&0x01; x1=(i/2)&0x01; x2=(i/4)&0x01; x3=(i/8)&0x01;x4=(i/16)&0x01; x5=(i/32)&0x01; x6=(i/64)&0x01;
xx=x0*64+x1*32+x2*16+x3*8+x4*4+x5*2+x6;
dataI=dataR;
}
for ( i=0;i<SAMPLENUMBER;i++ )
{
dataR=dataI; dataI=0; //对于输出值来说输入值已经没有用处了,所以将输出值存放在输入内存中//
}
/************** following code FFT *******************/
for ( L=1;L<=7;L++ )
{ /* for(1) */
b=1; i=L-1;
while ( i>0 )
{
b=b*2; i--;
} /* b= 2^(L-1) */
for ( j=0;j<=b-1;j++ ) /* for (2) */
{
p=1; i=7-L;
while ( i>0 ) /* p=pow(2,7-L)*j; */
{
p=p*2; i--;
}
p=p*j;
for ( k=j;k<128;k=k+2*b ) /* for (3) */
{
TR=dataR; TI=dataI; temp=dataR;
dataR=dataR+dataR*cos_tab+dataI*sin_tab;
dataI=dataI-dataR*sin_tab+dataI*cos_tab;
dataR=TR-dataR*cos_tab-dataI*sin_tab;
dataI=TI+temp*sin_tab-dataI*cos_tab;
} /* END for (3) */
} /* END for (2) */
} /* END for (1) */
for ( i=0;i<SAMPLENUMBER/2;i++ )
{
w=sqrt(dataR*dataR+dataI*dataI);
}
} /* END FFT */
正在研究中 过几天跟你讨论 zhangmangui 发表于 2014-2-19 08:20 static/image/common/back.gif
正在研究中 过几天跟你讨论
坐等啊!! 我回头假期了也看啊 呵呵 moonWar3Yz 发表于 2014-2-20 10:05 static/image/common/back.gif
我回头假期了也看啊 呵呵
看懂没?讨论下吧 你这个是基二运算方法 适合2的幂的长度
1 DFT是复信号运算 是把实信号装入复信号的实部
不是有讲 把一段实信号拆成两部分 分别装入实部和虚部 提高运算效率 得到频域复数再分解开来
2 倒位序就是 时域 和 频域 对照
如果时域是正序的 频域就是反序的
如果频域是正序的 时域就是逆序的
3 这个是作频域分析
FIR滤波器是固定抽头系数
例如 脉冲响应付式变换后就是频率响应
时域线性卷积就是频域相乘 卷积说的就是这个
huangzj121 发表于 2014-2-21 11:37 static/image/common/back.gif
你这个是基二运算方法 适合2的幂的长度
1 DFT是复信号运算 是把实信号装入复信号的实部
这里有卷积吗? 恬蔚 发表于 2014-2-21 15:46 static/image/common/back.gif
这里有卷积吗?
算我没说
没细看
感觉 for ( L=1;L<=7;L++ )
和 for ( k=j;k<128;k=k+2*b )
这里有些问题
huangzj121 发表于 2014-2-21 17:59 static/image/common/back.gif
没细看
感觉 for ( L=1;L
这个程序是开发板给的例程,FFT的不用完全明白每一步吧我看的差不多就行了吧嘿嘿以后会用呗 恬蔚 发表于 2014-2-21 18:09 static/image/common/back.gif
这个程序是开发板给的例程,FFT的不用完全明白每一步吧我看的差不多就行了吧嘿嘿以后会用呗 ...
参见这个帖子
https://bbs.21ic.com/icview-439741-1-1.html
https://bbs.21ic.com/icview-439741-1-1.html
页:
[1]