📄 frmfft.frm
字号:
VERSION 5.00
Begin VB.Form frmFFT
Caption = "Form1"
ClientHeight = 7845
ClientLeft = 825
ClientTop = 1335
ClientWidth = 13800
LinkTopic = "Form1"
ScaleHeight = 7845
ScaleWidth = 13800
Begin VB.ListBox ListRlt
Height = 7260
Left = 8820
TabIndex = 6
Top = 270
Width = 2145
End
Begin VB.ListBox ListR2
Height = 7260
Left = 13170
TabIndex = 5
Top = 210
Width = 2145
End
Begin VB.ListBox List0
Height = 7260
Left = 2130
TabIndex = 4
Top = 330
Width = 2145
End
Begin VB.ListBox ListR1
Height = 7260
Left = 10920
TabIndex = 3
Top = 240
Width = 2145
End
Begin VB.ListBox ListImage
Height = 7260
Left = 6630
TabIndex = 2
Top = 270
Width = 2145
End
Begin VB.ListBox ListReal
Height = 7260
Left = 4470
TabIndex = 1
Top = 270
Width = 2145
End
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 945
Left = 120
TabIndex = 0
Top = 1650
Width = 1575
End
End
Attribute VB_Name = "frmFFT"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Const PI = 3.14159265358979
Private Const NUMBER = 64
Private Sub Command1_Click()
Dim RealIn(1 To NUMBER) As Single, ImagIn(1 To NUMBER) As Single
Dim RealOut(1 To NUMBER) As Single, ImagOut(1 To NUMBER) As Single
Dim i As Integer, j As Integer
List0.Clear
For i = 1 To NUMBER
RealIn(i) = Exp(-0.1 * (i - 1)) 'Cos(CSng(2) * PI * (i - 1) / NUMBER + 0) ' + 0.3 * Sin(CSng(2) * PI * (i + 3) / 256 + 0)
ImagIn(i) = 0 ' -Cos(CSng(2) * PI / NUMBER * (i - 1))
List0.AddItem RealIn(i)
Next i
Call FFTSingle(NUMBER, False, RealIn(1), ImagIn(1), RealOut(1), ImagOut(1))
ListReal.Clear
ListImage.Clear
For i = 1 To NUMBER
ListReal.AddItem RealOut(i)
ListImage.AddItem ImagOut(i)
Next i
Dim fl1 As Single, fl As Single
ListRlt.Clear
For j = 1 To NUMBER
fl = 0
For i = 1 To NUMBER
fl = fl + RealOut(i) * (Cos((ImagOut(i) * (j - 1)) * CSng(2) * PI / NUMBER) - _
Sin((ImagOut(i) * (j - 1)) * CSng(2) * PI * (j - 1) / NUMBER))
Next i
ListRlt.AddItem fl / NUMBER
Next j
For i = 1 To NUMBER
RealIn(i) = RealOut(i)
ImagIn(i) = ImagOut(i)
Next i
Call FFTSingle(NUMBER, True, RealIn(1), ImagIn(1), RealOut(1), ImagOut(1))
ListR1.Clear
ListR2.Clear
For i = 1 To NUMBER
ListR1.AddItem RealOut(i)
ListR2.AddItem ImagOut(i)
Next i
End Sub
Private Sub Command2_Click()
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -