资源简介
Hilbert变化的C语言实现,结果和matlab里面一致,是得到随机信号包络的一种有用方法。

代码片段和文件信息
#include
#include
void fht(int ndouble x[])
{
int ijkml1l2l3l4n1n2n4;
double aecstt1t2;
for (j=1i=1;i<16;i++)
{
m=i;
j=2*j;
if(j==n) break;
}
n1=n-1;
for (j=0i=0;i {
if (i {
t=x[j];
x[j]=x[i];
x[i]=t;
}
k=n/2;
while (k<(j+1))
{
j=j-k;
k=k/2;
}
j=j+k;
}
for (i=0;i {
t=x[i];
x[i]=t+x[i+1];
x[i+1]=t-x[i+1];
}
n2=1;
for (k=2;k<=m;k++)
{
n4=n2;
n2=n4+n4;
n1=n2+n2;
e=6.28318530719586/n1;
for(j=0;j {
l2=j+n2;
l3=j+n4;
l4=l2+n4;
t=x[j];
x[j]=t+x[l2];
x[l2]=t-x[l2];
t=x[l3];
x[l3]=t+x[l4];
x[l4]=t-x[l4];
a=e;
for (i=1;i {
l1=j+i;
l2=j-i+n2;
l3=l1+n2;
l4=l2+n2;
c=cos(a);
s=sin(a);
t1=x[l3]*c+x[l4]*s;
t2=x[l3]*s-x[l4]*c;
a=(i+1)*e;
t=x[l1];
x[l1]=t+t1;
x[l3]=t-t1;
t=x[l2];
x[l2]=t+t2;
x[l4]=t-t2;
}
}
}
}
void hilbert(int ndouble x[])
{
int in1n2;
double t;
n1=n/2;
n2=n1+1;
fht(nx);
for (i=1;i {
t=x[i];
x[i]=x[n-i];
x[n-i]=t;
}
for(i=n2;i x[i]=-x[i];
x[0]=0.0;
x[n1]=0.0;
fht(nx);
t=1.0/n;
for(i=0;i x[i]*=t;
}
main()
{
double x[64];
int in;
n=64;
for (i=0;i {
x[i]=i;
}
for (i=0;i {
printf(“%f\n“x[i]);
}
hilbert(nx);
printf(“经过变化后\n\n“);
for (i=0;i {
printf(“%f\n“x[i]);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 180307 2009-04-02 14:38 hilbert终极版\Debug\main.exe
文件 197764 2009-04-02 14:38 hilbert终极版\Debug\main.ilk
文件 6242 2009-04-02 14:38 hilbert终极版\Debug\main.obj
文件 181336 2009-04-02 14:22 hilbert终极版\Debug\main.pch
文件 427008 2009-04-02 14:38 hilbert终极版\Debug\main.pdb
文件 33792 2009-04-02 14:39 hilbert终极版\Debug\vc60.idb
文件 45056 2009-04-02 14:38 hilbert终极版\Debug\vc60.pdb
文件 1560 2009-04-02 14:38 hilbert终极版\main.c
文件 3375 2009-04-02 14:22 hilbert终极版\main.dsp
文件 533 2009-04-02 14:23 hilbert终极版\main.dsw
文件 33792 2009-04-02 14:40 hilbert终极版\main.ncb
文件 48640 2009-04-02 14:40 hilbert终极版\main.opt
文件 1129 2009-04-02 14:38 hilbert终极版\main.plg
目录 0 2009-04-02 15:30 hilbert终极版\Debug
目录 0 2009-04-02 15:30 hilbert终极版
----------- --------- ---------- ----- ----
1160534 15
- 上一篇:c++课程设计物流管理系统
- 下一篇:rpc (网络通信)c语言亲自测试过可以使用
相关资源
- 操作系统c语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
- 尚观培训linux许巍老师关于c语言的课
评论
共有 条评论