return(w);}
static double Kaiser(i,n,beta)
int i,n;
double beta;
{double a,w,a2,b1,b2,beta1;
double bessel0();
b1=bessel0(beta);
a=2.0*i/(double)(n-1)-1.0;
a2=a*a;
beta1=beta*sqrt(1.0-a2);
b2=bessel0(beta1);
w=b2/b1;
return(w);}
static double bessel0(x)
double x;
{int i;
double d,y,d2,sum;
y=x/2.0;
d=1.0;
sum=1.0;
for(i=1;i<=25;i++)
{d=d*y/I;
d2=d*d;
sum=sum+d2;
if(d2<sum*(1.0e-8)) break;}
return(sum);}
<< 上一页 [21] [22] [23] [24] [25] [26] [27] [28] 下一页