尽管Excel的宏功能可用于自动转换处理单个数据的Fast Fourier Transform (FFT)和 Discrete Forier Transform(DFT), 但通常大量数据很难在Excel中使用, 让我们使用一个库(*.dll),并用C# 编写Fourier transform该库的程序。
可以通过单机右侧链接的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之一来应用每个窗口函数。
(注意) 如果应用了窗口功能,则无法返回到原始数据,如果需要现有数据,请再次加载该数据。
↓ 应用窗口函数
[注意事项]
本博客中公开的所有程序均可免费使用,但使用前请务必小心,因为我们对由错误引起的问题不承担任何责任。