#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "fft_soft.h"
#define PI 3.14159265358979323846
complex add(complex a, complex b)
{
complex ret = {a.real + b.real, a.imag + b.imag};
return ret;
}
complex sub(complex a, complex b)
{
complex ret = {a.real - b.real, a.imag - b.imag};
return ret;
}
complex mul(complex a, complex b)
{
complex ret = {a.real * b.real - a.imag * b.imag, a.real * b.imag + a.imag * b.real};
return ret;
}
void bitrev(complex *data, int n)
{
int j = 0;
int m = 0;
for (int i = 0; i < n; i++)
{
if (j > i)
SWAP(data[i], data[j]);
m = n / 2;
while (j >= m && m != 0)
{
j -= m;
m >>= 1;
}
j += m;
}
}
void fft_soft(complex *data, int n)
{
int M = 0;
for (int i = n; i > 1; i = i >> 1, M++);
bitrev(data, n);
for (int m = 0; m < M; m++)
{
int K = n >> (m + 1);
for (int k = 0; k < K; k++)
{
int J = 2 << m;
int base = k * J;
for (int j = 0; j < J / 2; j++)
{
int t = base + j;
complex w = {cos(-2 * PI * j * K / n), sin(-2 * PI * j * K / n)};
complex wn = mul(data[t + J / 2], w);
complex temp = data[t];
data[t] = add(data[t], wn);
data[t + J / 2] = sub(temp, wn);
}
}
}
}
void ifft_soft(complex *data, int n)
{
int M = 0;
for (int i = n; i > 1; i = i >> 1, M++);
bitrev(data, n);
for (int m = 0; m < M; m++)
{
int K = n >> (m + 1);
for (int k = 0; k < K; k++)
{
int J = 2 << m;
int base = k * J;
for (int j = 0; j < J / 2; j++)
{
int t = base + j;
complex w = {cos(2 * PI * j * K / n), sin(2 * PI * j * K / n)};
complex wn = mul(data[t + J / 2], w);
complex temp = data[t];
data[t] = add(data[t], wn);
data[t + J / 2] = sub(temp, wn);
}
}
}
for (int i = 0; i < n; i++)
{
data[i].real /= n;
data[i].imag /= n;
}
}
c語(yǔ)言的fft和ifft
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門诱桂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)洋丐,“玉大人,你說(shuō)我怎么就攤上這事挥等∮丫” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵肝劲,是天一觀的道長(zhǎng)迁客。 經(jīng)常有香客問(wèn)我,道長(zhǎng)辞槐,這世上最難降的妖魔是什么掷漱? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮榄檬,結(jié)果婚禮上卜范,老公的妹妹穿的比我還像新娘。我一直安慰自己鹿榜,他們只是感情好海雪,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著舱殿,像睡著了一般奥裸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沪袭,一...
- 那天湾宙,我揣著相機(jī)與錄音,去河邊找鬼冈绊。 笑死创倔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的焚碌。 我是一名探鬼主播畦攘,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼十电!你這毒婦竟也來(lái)了知押?” 一聲冷哼從身側(cè)響起叹螟,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎台盯,沒(méi)想到半個(gè)月后罢绽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡静盅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年良价,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蒿叠。...
- 正文 年R本政府宣布施绎,位于F島的核電站溯革,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏谷醉。R本人自食惡果不足惜致稀,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望俱尼。 院中可真熱鬧抖单,春花似錦、人聲如沸号显。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)押蚤。三九已至,卻和暖如春羹应,著一層夾襖步出監(jiān)牢的瞬間揽碘,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓裸违,卻偏偏與公主長(zhǎng)得像掖桦,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子供汛,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- Cooley-Tukey算法以發(fā)明者J. W. Cooley和John Tukey命名枪汪。Cooley-Tukey算...
- 記錄問(wèn)題: 如果不初始化arm_cfft_instance_f32FFT算出數(shù)據(jù)無(wú)效 小容量產(chǎn)品 用DSP官方庫(kù)方...
- 如題: .h 文件 #include <vector>#include <complex>#include ".....
- C語(yǔ)言視頻祝沸,C語(yǔ)言速成,C語(yǔ)言拼圖游戲 完整源碼: #include #include #include #def...
- C語(yǔ)言是面向過(guò)程的唯欣,而C++是面向?qū)ο蟮?一般來(lái)說(shuō),和其他編程語(yǔ)言相比搬味,C/C++語(yǔ)言學(xué)起來(lái)會(huì)比較累境氢,如果想達(dá)到項(xiàng)...