資源簡(jiǎn)介
Hilbert變化的C語言實(shí)現(xiàn),結(jié)果和matlab里面一致,是得到隨機(jī)信號(hào)包絡(luò)的一種有用方法。

代碼片段和文件信息
#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(“經(jīng)過變化后\n\n“);
for?(i=0;i {
printf(“%f\n“x[i]);
}
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????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
評(píng)論
共有 條評(píng)論