尽管Excel的宏功能可用于自动转换处理单个数据的Fast Fourier Transform (FFT)和 Discrete Forier Transform(DFT), 但通常大量数据很难在Excel中使用, 让我们使用一个库(*.dll),并用C# 编写Fourier transform该库的程序。

C # 푸리에 변환 FFT DFT

可以通过单机右侧链接的Zip文件并单击 “FourierTransform.zip ” 来下载可执行的程序。
所有源代码都发布在下面的 GitHub 链接里。
https://github.com/ImagingSolution/FourierCSharp

使用方法说明如下。

运行程序

如果您解压缩上面链接的zip文件,

  • FourierTransform.exe
  • FourierCSharp.dll
  • sampledata

会有这几个文件,双击 FourierTransform.exe来运行。

Fourier Transform可用的数据格式

数据是CSV文件,每行一个数据。

Sample 01)

1
1.30939551
1.59096344
1.820538079
1.980767038
2.06331351
2.069803727
2.01139008
1.906994542
1.780482109
1.65716389
1.560123288
1.506883103
1.506883103
1.560123288

如果输入数据包含实数和虚数会成为实数部分, 虚数部分。

Sample 02)

50, 0
0, -25
0, 0
0, -12.5
0, 0
0, 0

有关示例数据,请参阅本部分,因为CSV文件存储在zip文件的sampledata文件夹中。

获取数据

通过单击菜单中的File → LoadData并指定 CSV文件,将获取数据并显示 Fourier Transform 结果 (Fourier Transform 后每个频率的大小)。
Fourier Transform在以下情况:数据数是2的n次方:FFT,其余的情况:执行DFT。

DFT, IDFT的变换

您可以通过单击菜单中的Fourier direction → Forward或Backward来转换DFT和IDFT。

DFT是,

IDFT是,

来计算。

窗口函数

通过从菜单中单击 Window→ Hamming, Hanning, Blackman之一来应用每个窗口函数。
(注意) 如果应用了窗口功能,则无法返回到原始数据,如果需要现有数据,请再次加载该数据。

                                  ↓ 应用窗口函数

[注意事项]

本博客中公开的所有程序均可免费使用,但使用前请务必小心,因为我们对由错误引起的问题不承担任何责任。