📄 fftxfj.doc
字号:
fft4f.f偺応崌
<応崌侾>
ip(0) = 0 ! 擇夞栚埲崀偺屇傃弌偟偵偼晄梫
call ddct(n, 1, a, ip, w)
<応崌俀>
ip(0) = 0 ! 擇夞栚埲崀偺屇傃弌偟偵偼晄梫
call ddct(n, -1, a, ip, w)
[堷悢]
n : 僨乕僞挿
宆 : 惍悢
徻嵶 : n 偼 2 埲忋偱俀偺儀僉忔偵慖傇丏
a : 擖弌椡僨乕僞
宆 : 攞惛搙幚悢宆攝楍
僒僀僘 : 0 偐傜 n-1 傑偱
徻嵶 : 寢壥: C[k] 偼 a[k] 偵忋彂偒偝傟傞丏
ip : 價僢僩斀揮梡嶌嬈椞堟
宆 : 惍悢宆攝楍
僒僀僘 : 0 偐傜 1+sqrt(n/2) 傑偱(惓妋偵偼 1+sqrt(n/2)
偲 1+sqrt(n/4) 偺妱傝愗傟傞曽傑偱)
徻嵶 : ip[2...*] 偑嶌嬈椞堟偱丆ip[0], ip[1] 偼昞
偺娗棟僨乕僞(抣偺曄峏偼晄壜)偱偁傞丏
w : 嶰妏娭悢昞
宆 : 攞惛搙幚悢宆攝楍
僒僀僘 : 0 偐傜 n*5/4-1 傑偱
徻嵶 : 嶰妏娭悢昞偼 ip[0] 偑 0 偺偲偒偵弶婜壔偝
傟傞丏
[拲堄]
惓妋偵偼丆応崌俀偺媡曄姺偼丆a[0] 傪 1/n 攞丆懠偺 a[j] 傪 2/n
攞偟偨丆応崌侾偺曄姺偱偁傞丏
仧棧嶶僒僀儞曄姺/媡曄姺 :
<応崌侾> (IDST)
S[k] = 儼_j=1^n A[j]*sin(兾*j*(k+1/2)/n), 0<=k<n
<応崌俀> (DST)
S[k] = 儼_j=0^n-1 a[j]*sin(兾*(j+1/2)*k/n), 0<k<=n
傪媮傔傞丏
[彂幃]
fft2f.c偺応崌
<応崌侾>
ddst(n, cos(M_PI/n/2), sin(M_PI/n/2), a);
<応崌俀>
ddst(n, cos(M_PI/n/2), -sin(M_PI/n/2), a);
fft2f.f偺応崌
<応崌侾>
call ddst(n, cos(pi/n/2), sin(pi/n/2), a)
<応崌俀>
call ddst(n, cos(pi/n/2), -sin(pi/n/2), a)
fft4f.c偺応崌
<応崌侾>
ip[0] = 0; // 擇夞栚埲崀偺屇傃弌偟偵偼晄梫
ddst(n, 1, a, ip, w);
<応崌俀>
ip[0] = 0; // 擇夞栚埲崀偺屇傃弌偟偵偼晄梫
ddst(n, -1, a, ip, w);
fft4f.f偺応崌
<応崌侾>
ip(0) = 0 ! 擇夞栚埲崀偺屇傃弌偟偵偼晄梫
call ddst(n, 1, a, ip, w)
<応崌俀>
ip(0) = 0 ! 擇夞栚埲崀偺屇傃弌偟偵偼晄梫
call ddst(n, -1, a, ip, w)
[堷悢]
n : 僨乕僞挿
宆 : 惍悢
徻嵶 : n 偼 2 埲忋偱俀偺儀僉忔偵慖傇丏
a : 擖弌椡僨乕僞
宆 : 攞惛搙幚悢宆攝楍
僒僀僘 : 0 偐傜 n-1 傑偱
徻嵶 : 応崌侾偺擖椡
a[j] = A[j], 0<j<n
a[0] = A[n]
応崌俀偺弌椡
a[k] = S[k], 0<k<n
a[0] = S[n]
ip : 價僢僩斀揮梡嶌嬈椞堟
宆 : 惍悢宆攝楍
僒僀僘 : 0 偐傜 1+sqrt(n/2) 傑偱(惓妋偵偼 1+sqrt(n/2)
偲 1+sqrt(n/4) 偺妱傝愗傟傞曽傑偱)
徻嵶 : ip[2...*] 偑嶌嬈椞堟偱丆ip[0], ip[1] 偼昞
偺娗棟僨乕僞(抣偺曄峏偼晄壜)偱偁傞丏
w : 嶰妏娭悢昞
宆 : 攞惛搙幚悢宆攝楍
僒僀僘 : 0 偐傜 n*5/4-1 傑偱
徻嵶 : 嶰妏娭悢昞偼 ip[0] 偑 0 偺偲偒偵弶婜壔偝
傟傞丏
[拲堄]
惓妋偵偼丆応崌俀偺媡曄姺偼丆a[0] 傪 1/n 攞丆懠偺 a[j] 傪 2/n
攞偟偨丆応崌侾偺曄姺偱偁傞丏
仧rdft偺僐僒僀儞曄姺 :
C[k] = 儼_j=0^n a[j]*cos(兾*j*k/n), 0<=k<=n
傪媮傔傞丏
[彂幃]
fft2f.c偺応崌
dfct(n, cos(M_PI/n), sin(M_PI/n), a);
fft2f.f偺応崌
call dfct(n, cos(pi/n), sin(pi/n), a)
fft4f.c偺応崌
ip[0] = 0; // 擇夞栚埲崀偺屇傃弌偟偵偼晄梫
dfct(n, a, t, ip, w);
fft4f.f偺応崌
ip(0) = 0 ! 擇夞栚埲崀偺屇傃弌偟偵偼晄梫
call dfct(n, a, t, ip, w)
[堷悢]
n : 僨乕僞挿 - 1
宆 : 惍悢
徻嵶 : n 偼 2 埲忋偱俀偺儀僉忔偵慖傇丏
a : 擖弌椡僨乕僞
宆 : 攞惛搙幚悢宆攝楍
僒僀僘 : 0 偐傜 n 傑偱 (n-1 傑偱偱偼側偄)
徻嵶 : 寢壥: C[k] 偼 a[k] 偵忋彂偒偝傟傞丏
t : 嶌嬈椞堟
宆 : 攞惛搙幚悢宆攝楍
僒僀僘 : 0 偐傜 n/2 傑偱
徻嵶 : 弶婜壔偺昁梫側偟丏抣偺曄峏壜丏
ip : 價僢僩斀揮梡嶌嬈椞堟
宆 : 惍悢宆攝楍
僒僀僘 : 0 偐傜 1+sqrt(n/4) 傑偱(惓妋偵偼 1+sqrt(n/4)
偲 1+sqrt(n/8) 偺妱傝愗傟傞曽傑偱)
徻嵶 : ip[2...*] 偑嶌嬈椞堟偱丆ip[0], ip[1] 偼昞
偺娗棟僨乕僞(抣偺曄峏偼晄壜)偱偁傞丏
w : 嶰妏娭悢昞
宆 : 攞惛搙幚悢宆攝楍
僒僀僘 : 0 偐傜 n*5/8-1 傑偱
徻嵶 : 嶰妏娭悢昞偼 ip[0] 偑 0 偺偲偒偵弶婜壔偝
傟傞丏
[嶲峫]
a[0] 偲 a[n] 傪 1/2 攞偟偨偙偺曄姺偼丆擇夞孞傝曉偡偲 n/2 攞
偝傟偰傕偲偵栠傞丏
仧rdft偺僒僀儞曄姺 :
S[k] = 儼_j=1^n-1 a[j]*sin(兾*j*k/n), 0<k<n
傪媮傔傞丏
[彂幃]
fft2f.c偺応崌
dfst(n, cos(M_PI/n), sin(M_PI/n), a);
fft2f.f偺応崌
call dfst(n, cos(pi/n), sin(pi/n), a)
fft4f.c偺応崌
ip[0] = 0; // 擇夞栚埲崀偺屇傃弌偟偵偼晄梫
dfst(n, a, t, ip, w);
fft4f.f偺応崌
ip(0) = 0 ! 擇夞栚埲崀偺屇傃弌偟偵偼晄梫
call dfst(n, a, t, ip, w)
[堷悢]
n : 僨乕僞挿 + 1
宆 : 惍悢
徻嵶 : n 偼 2 埲忋偱俀偺儀僉忔偵慖傇丏
a : 擖弌椡僨乕僞
宆 : 攞惛搙幚悢宆攝楍
僒僀僘 : 0 偐傜 n-1 傑偱(a[0] 偼嶌嬈椞堟)
徻嵶 : 寢壥: S[k] 偼 a[k] 偵忋彂偒偝傟傞丏
t : 嶌嬈椞堟
宆 : 攞惛搙幚悢宆攝楍
僒僀僘 : 0 偐傜 n/2-1 傑偱
徻嵶 : 弶婜壔偺昁梫側偟丏抣偺曄峏壜丏
ip : 價僢僩斀揮梡嶌嬈椞堟
宆 : 惍悢宆攝楍
僒僀僘 : 0 偐傜 1+sqrt(n/4) 傑偱(惓妋偵偼 1+sqrt(n/4)
偲 1+sqrt(n/8) 偺妱傝愗傟傞曽傑偱)
徻嵶 : ip[2...*] 偑嶌嬈椞堟偱丆ip[0], ip[1] 偼昞
偺娗棟僨乕僞(抣偺曄峏偼晄壜)偱偁傞丏
w : 嶰妏娭悢昞
宆 : 攞惛搙幚悢宆攝楍
僒僀僘 : 0 偐傜 n*5/8-1 傑偱
徻嵶 : 嶰妏娭悢昞偼 ip[0] 偑 0 偺偲偒偵弶婜壔偝
傟傞丏
[嶲峫]
偙偺曄姺偼丆擇夞孞傝曉偡偲 n/2 攞偝傟偰傕偲偵栠傞丏
曗懌:
僨乕僞挿 n 傪俀偺惍悢忔埲奜偵慖傫偩応崌偺摦嶌偼丆曐徹偝傟側偄丏
嶰妏娭悢昞偼丆傛傝戝偒側僒僀僘偑昁梫偵側偭偨帪揰偱寁嶼偝傟傞丏弶
婜壔儖乕僠儞傪梡偄傟偽丆昁梫側偩偗昞傪寁嶼偟偰偍偔偙偲偑偱偒傞(
僾儘僌儔儉嶲徠)丏w, ip 偼丆偡傋偰偺儖乕僠儞偱屳姺惈偑偁傞丏
亂寁嶼曽朄亃
仧cdft偵偮偄偰
[fft2f.*偺応崌]
丂婎悢 2 偺Sande-Tukey朄(廃攇悢娫堷偒)傪梡偄傞丏Sande-Tukey
朄偼丆Cooley-Tukey朄(帪娫娫堷偒)偵斾傋偰惛搙偑彮偟傛偄傛偆偱
偁傞丏僶僞僼儔僀墘嶼偼丆嶰妏娭悢偺寁嶼偺搒崌偵傛傝丆堦偮偺儖
乕僾偱擇夞峴偆丏傑偨丆壛尭嶼偩偗偱偱偒傞僶僞僼儔僀墘嶼偼丆暘
偗偰寁嶼偡傞丏
丂嶰妏娭悢偺寁嶼偼慟壔幃:
cos((k+1)*h) = -(2*sin(h)) * sin(k*h) + cos((k-1)*h),
sin((k+1)*h) = (2*sin(h)) * cos(k*h) + sin((k-1)*h)
偵傛傝寁嶼偡傞丏僾儘僌儔儉偱偼
wkr = cos(k*h),
wki = sin(k*h),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -