📄 cosft.txt
字号:
Sub COSFT(Y(), N, ISIGN)
THETA = 3.14159265358979 / N
WR = 1#
WI = 0#
WPR = -2# * Sin(0.5 * THETA) ^ 2
WPI = Sin(THETA)
Sum = Y(1)
M = N / 2
For J = 1 To M - 1
WTEMP = WR
WR = WR * WPR - WI * WPI + WR
WI = WI * WPR + WTEMP * WPI + WI
Y1 = 0.5 * (Y(J + 1) + Y(N - J + 1))
Y2 = (Y(J + 1) - Y(N - J + 1))
Y(J + 1) = Y1 - WI * Y2
Y(N - J + 1) = Y1 + WI * Y2
Sum = Sum + WR * Y2
Next J
Call REALFT(Y, M, 1)
Y(2) = Sum
For J = 4 To N Step 2
Sum = Sum + Y(J)
Y(J) = Sum
Next J
If ISIGN = -1 Then
EVEN = Y(1)
ODD = Y(2)
For I = 3 To N - 1 Step 2
EVEN = EVEN + Y(I)
ODD = ODD + Y(I + 1)
Next I
ENF0 = 2# * (EVEN - ODD)
SUM0 = Y(1) - ENF0
SUME = (2# * ODD / N) - SUM0
Y(1) = 0.5 * ENF0
Y(2) = Y(2) - SUME
For I = 3 To N - 1 Step 2
Y(I) = Y(I) - SUM0
Y(I + 1) = Y(I + 1) - SUME
Next I
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -