Hilbert变换C语言实现学习
bert
TensorFlow code and pre-trained models for BERT
项目地址:https://gitcode.com/gh_mirrors/be/bert
免费下载资源
·
通过离散傅里叶变换(DFT)实现希尔伯特变换。
Hilbert变换C语言实现学习。
Plan:五一前完成希尔伯特C语言编程,能与MATLAB 得出的结果相对应。
Hilbert变换原理
假设有一个离散时间信号s(n),s(n)的希尔伯特变换为:s^(n)
其中:
-π<w<π
s(n)的解析信号为g(n)=s(n)+js^(n)
用DFT求离散信号s(n)的解析信号及其Hilbert变换
步骤如下:
- 对s(n)做DFT,的S(k),k=0,1,2,3…,N-1;
- 令
Win10+VS2017安装FFTW库
参考文章:
https://blog.csdn.net/alxe_made/article/details/84205377
第一步:下载FFTW预编译库,网址为:http://www.fftw.org/install/windows.html
第二步:解压缩下载的预编译文件。
第三步:运行lib.exe。如下图:找到64位的vs工具。
点击打开,输入>lib.exe,回车运行,如下图。
第四步:切换到解压缩后的文件:fftw-3.3.5-dll64目录下,并执行以下命令,如图:
lib /machine:x64 /def:libfftw3-3.def
lib /machine:x64 /def:libfftw3l-3.def
lib /machine:x64 /def:libfftw3f-3.def
打开解压缩后的文件,发现刚才生成了三个.exp文件,三个.lib文件,如图:
第五步:将生成的文件复制到下图位置:
- 将我们E:\fftw-3.3.5-dll64下面的生成的库文件libfftw3-3.lib ,libfftw3f-3.lib ,libfftw3l-3.lib 拷贝到lib文件夹里面。
- 将E:\fftw-3.3.5-dll64盘下面fftw3.h放到include文件夹里面。
- 将E:\fftw-3.3.5-dll64下的libfftw3-3.dll、libfftw3f-3.dll、libfftw3l-3.dll复制到C:\Windows\SysWOW64
- 将E:\fftw-3.3.5-dll64下的libfftw3-3.dll、libfftw3f-3.dll、libfftw3l-3.dll也复制到C:\Windows\System32里面。
第六步:新建一个测试工程,输入以下代码:
#include "fftw3.h"
#include <windows.h>
int main()
{
fftw_complex *in, *out;
fftw_plan p;
int N = 8;
int i;
int j;
in = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N);
out = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N);
for (i = 0; i < N; i++)
{
in[i][0] = 1.0;
in[i][1] = 0.0;
printf("%6.2f ", in[i][0]);
}
printf("\n");
p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);
fftw_execute(p); /* repeat as needed*/
for (j = 0; j < N; j++)
{
printf("%6.2f ", out[j][0]);
}
printf("\n");
fftw_destroy_plan(p);
fftw_free(in);
fftw_free(out);
system("pause");//暂停
return 0;
}
第七步:配置一下工程属性,在工程->属性->配置属性->链接器->输入->附加依赖项中,修改如下图所示:
运行后得到结果:
完成添加FFTW库。
未完待续……
GitHub 加速计划 / be / bert
37.61 K
9.55 K
下载
TensorFlow code and pre-trained models for BERT
最近提交(Master分支:2 个月前 )
eedf5716
Add links to 24 smaller BERT models. 4 年前
8028c045 - 4 年前
更多推荐
已为社区贡献1条内容
所有评论(0)