
加载中…
个人资料
- 博客访问:
- 关注人气:
- 获赠金笔:0支
- 赠出金笔:0支
- 荣誉徽章:
连续谱编程——以雷克子波为例
(2022-11-25 16:32:36)
#include "stdio.h"
#include "math.h"
#define fm 35
//子波频率
#define dt 0.001 //时间采样间隔
#define NP 61
//子波长度(样点数)
#define df 1
//频率采样间隔
#define Hf 100 //最大频率
#define PI 3.1415926
main()
{ FILE *fp;
float wt[NP];
float t,Xr,Xi,Xamp;
int i,k,Nf=Hf/df+1;
fp=fopen("Ricker_AMP.xls","w");
for(i=-NP/2;i<=NP/2;i++)
{ t=i*dt;
wt[i+NP/2]=(1.0-2.0*pow(PI*fm*t,2.0))*exp(-pow(PI*fm*t,2.0));
fprintf(fp,".4f \t
.4f\n",i*dt,wt[i+NP/2]);
}
for(k=0;k
{ Xr=0.0;
Xi=0.0;
for(i=-NP/2;i<=NP/2;i++)
{ t=i*dt;
Xr=Xr+wt[i+NP/2]*cos(2*PI*k*df*t);
Xi=Xi+wt[i+NP/2]*sin(2*PI*k*df*t);
}
Xamp=sqrt(Xr*Xr+Xi*Xi)*dt;
fprintf(fp,"d
\t .4f\n",k*df,Xamp);
}
fclose(fp);
}
喜欢
0
赠金笔
加载中,请稍候......