资源简介
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语言亲自测试过可以使用
相关资源
- rpc (网络通信)c语言亲自测试过可以
- 数据结构c语言 学生成绩管理系统
- 用DSP实现spwm的C语言程序
- msp430g2553_AD采样及显示C语言程序
- C语言职工工作量统计系统设计
- C语言实验报告(结构体(struct))
- C语言实现FTP服务器
- C语言之逆波兰表达式完整代码(附算
- [数据结构课程设计——C语言描述第
- 光流场计算 c语言 源码 optical flow
- C语言课程设计 《 运动会比赛计分系
- 类C语言的脚本解析执行(使用C++语言
- C语言学生选课系统
- C语言图书管理系统代码.doc
- 英汉翻译程序设计基于c语言
- 数据挖掘中的Apriori算法(C语言版)
- OJ部分习题及解答c语言
- 毕业设计 c语言 贪吃蛇游戏的编制
- 7.4循环码c语言
- C语言课程设计之学生考勤管理系统
- C语言课程设计之实验室设备管理系统
- 用fft求互相关,速度更快,c语言实现
- c语言课程设计报告 会员卡计费系统源
- pwm C语言程序
- 清华大学数据结构C语言版习题答案
- 邮件发送程序客户端----VC实现
- 黄金分割法C语言程序运行过无误的
- C语言实现的AES加密解密
- MSP430_C语言例程注释详细资料
- c和c++库函数快速查询资料
评论
共有 条评论