FFT处理能力计算

FFT处理能力计算

复数运算次数和实数运算次数之间的关系

假设复数 z1 = a + bi,z2 = c + di
复数乘法:z1×z2 = ( a + bi) × (c + di) = (a×c - b×d) + (a×d + b×c)i,从上式可以看出1次复数乘法运算=4次实数乘法+2次实数加法(括号内 1个减法和1个加法,共两个)。
复数加法:z1+z2 = ( a + bi)+(c + di) = ( a + c) + (b + d)i ,从上式可以看出1次复数加法运算=2次实数加法。
总结
1次复数乘法运算=4次实数乘法+2次实数加法;
1次复数加法运算=2次实数加法。

FFT操作次数计算

以基2 FFT为例
1次N点的基2 FFT运算次数为:
复数乘法运算次数 = N/2 × log2N
复数加法运算次数 = N × log2N

转换成实数运算:
实数乘法运算次数 = N/2 × log2N ×4 = 2N × log2N
实数加法运算次数 = N/2 × log2N ×2 + N × log2N ×2 =3N × log2N

则总的实数运算次数= 2N × log2N + 3N × log2N = 5N × log2N

FFT处理能力计算

处理能力计算公式如下
处理能力 = 操作次数 / 处理时间 = M × 5N × log2N / t
其中M为 N点FFT的操作次数,t为处理时间。

你可能感兴趣的:(FFT处理能力计算)