当前位置:首页|资讯

添加快速傅里叶变换功能

作者:MeteoInfo发布时间:2024-10-19

傅里叶变换是科学计算和数据科学领域非常重要的工具,常用于将时域信号转换为频域信号。在MeteoInfo 3.9.6版本中在numeric包中增加了fft子包,包含了一维和二维傅里叶变换和逆变换的函数。在Java代码中移植了Apache Commons Math库中计算一维快速傅里叶变换的算法,但该算法只支持长度为2的N次方的数组,因此又引入了Bluestein算法来实现长度非2的N次方数组的傅里叶变换。然后扩展到二维中。具体的代码可以参考MeteoInfo github上的源代码 https://github.com/meteoinfo/MeteoInfo/blob/master/meteoinfo-math/src/main/java/org/meteoinfo/math/transform/FastFourierTransform.java 。然后进行了 Jython 代码封装,形成 fft, ifft, fft2, ifft2, fftshift, ifftshit, fftfreq等Jython函数方便调用:https://github.com/meteoinfo/MeteoInfo/tree/master/meteoinfo-lab/pylib/mipylib/numeric/fft 。

一维数组进行傅里叶变换的例子:

二维傅里叶变换的例子:二维图像数据进行傅里叶变换生成频域图,再进行傅里叶逆变换还原图像。



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1