FFT 快速傅利葉演算法 for java

2021-06-18 00:00:54 字數 835 閱讀 1679

package com.test.test2;

public class fft

bitreverse[i] = reve;

}double theta, dt = 2 * 3.14159265358979323846 / fft_n;

for (i = 0; i < (fft_n >> 1); i++)

}/**

* 用於頻譜顯示的快速傅利葉變換

* * @param realio

*            輸入fft_n個實數,也用它暫存fft後的fft_n/2個輸出值(複數模的平方)。

*/public void calculate(float realio)

for (i = fft_n_log; i != 0; i--)

}exchanges <<= 1;

idx--;

}j = fft_n >> 1;

/** 輸出模的平方(的fft_n倍):

* for(i = 1; i <= j; i++)

* realio[i-1] = real[i] * real[i] + imag[i] * imag[i];

* * 如果fft只用於頻譜顯示,可以"淘汰"幅值較小的而減少浮點乘法運算. miny的值

* 和spectrum.y0,spectrum.logy0對應.

*/sinv = miny;

cosv = -miny;

for (i = j; i != 0; i--)

}public static void main(string args) ;

fft2.calculate(realio);}}

快速傅利葉(FFT)

快速傅利葉 更加形象的理解傅利葉變換 大概了解之後 從傅利葉級數到傅利葉變換 太大,只能裁剪為兩張 刨根問底的同學 雷德演算法 輸出序列是按自然順序排列的,而輸入序列的順序則是 位元反轉 方式排列的。也就是說,將序號用二進位制表示,然後將二進位制數以相反方向排列,再以這個數作為序號。如011變成11...

FFT快速傅利葉

description 給出兩個n位10進製整數x和y,你需要計算xy。input 第一行乙個正整數n。第二行描述乙個位數為n的正整數x。第三行描述乙個位數為n的正整數y output 輸出一行,即xy的結果。資料範圍 n 60000 乙個整數x a nan 1.a 0x a na a 0 x an...

2179 FFT快速傅利葉

time limit 10 sec memory limit 259 mb submit 2803 solved 1431 submit status discuss 給出兩個n位10進製整數x和y,你需要計算x y。第一行乙個正整數n。第二行描述乙個位數為n的正整數x。第三行描述乙個位數為n的正整...