본문내용
=out1[i][0]*beta1;
psd2_r[i]=out2[i][0]*beta2;
}
else{
psd1_r[i]=0.0;
psd2_r[i]=0.0;
}
psd1_i[i]=0.0;
psd2_i[i]=0.0;
}
fft(psd1_r,psd1_i,1024,0);
fft(psd2_r,psd2_i,1024,0);
for(i=0; i<1024; i++){//psd 계산
psd1[i]=beta1/(psd1_r[i]*psd1_r[i]+psd1_i[i]*psd1_i[i]);
psd2[i]=beta2/(psd2_r[i]*psd2_r[i]+psd2_i[i]*psd2_i[i]);
fprintf(ofp5,"%f\n",psd1[i]);
fprintf(ofp6,"%f\n",psd2[i]);
}
double input1_r[N],input1_i[N],input2_r[N],input2_i[N];
double dft_in1, dft_in2;
for(i=0;i
input1_r[i]=input1[i];
input1_i[i]=0.0;
input2_r[i]=input2[i];
input2_i[i]=0.0;
}
fft(input1_r,input1_i,N,0);
fft(input2_r,input2_i,N,0);
for(i=0;i
dft_in1=input1_r[i]*input1_r[i]+input1_i[i]*input1_i[i];
dft_in2=input2_r[i]*input2_r[i]+input2_i[i]*input2_i[i];
fprintf(ofp7,"%f\n",dft_in1);
fprintf(ofp8,"%f\n",dft_in2);
}
return 0;
}
// FFT Function
void fft(double *fr, double *fi, int n, int inv)
{
int i, j, j1, j2, k, iter, irem, s, m, n1, n2, nxp, mxp, nxp2;
double arg, wr, wi, tr, ti, wpwr;
iter = 0;
irem = n;
while ((irem / 2) >= 1) {
iter++;
irem /= 2;
}
s = (inv ? 1 : -1);
nxp2 = n;
for (i = 0; i < iter; i++) {
nxp = nxp2;
nxp2 = nxp / 2;
wpwr = m_PI / (double)nxp2;
for (m = 0; m < nxp2; m++) {
arg = (double)m * wpwr;
wr = cos(arg);
wi = s * sin(arg);
for (mxp = nxp; mxp <= n ; mxp += nxp) {
j1 = mxp - nxp + m;
j2 = j1 + nxp2;
tr = fr[j1] - fr[j2];
ti = fi[j1] - fi[j2];
fr[j1] = fr[j1] + fr[j2];
fi[j1] = fi[j1] + fi[j2];
fr[j2] = tr * wr - ti * wi;
fi[j2] = tr * wi + ti * wr;
}}}
n2 = n / 2;
n1 = n - 1;
j = 1;
for (i = 1; i <= n1; i++) {
if (i < j) {
tr = fr[j - 1];
ti = fi[j - 1];
fr[j - 1] = fr[i - 1];
fi[j - 1] = fi[i - 1];
fr[i - 1] = tr;
fi[i - 1] = ti;
}
k = n2;
while (k < j) {
j -= k;
k /= 2;
} j += k;
}
if (inv)
for (i = 0; i < n; i++) {
fr[i] /= n;
fi[i] /= n;
}
}
psd2_r[i]=out2[i][0]*beta2;
}
else{
psd1_r[i]=0.0;
psd2_r[i]=0.0;
}
psd1_i[i]=0.0;
psd2_i[i]=0.0;
}
fft(psd1_r,psd1_i,1024,0);
fft(psd2_r,psd2_i,1024,0);
for(i=0; i<1024; i++){//psd 계산
psd1[i]=beta1/(psd1_r[i]*psd1_r[i]+psd1_i[i]*psd1_i[i]);
psd2[i]=beta2/(psd2_r[i]*psd2_r[i]+psd2_i[i]*psd2_i[i]);
fprintf(ofp5,"%f\n",psd1[i]);
fprintf(ofp6,"%f\n",psd2[i]);
}
double input1_r[N],input1_i[N],input2_r[N],input2_i[N];
double dft_in1, dft_in2;
for(i=0;i
input1_i[i]=0.0;
input2_r[i]=input2[i];
input2_i[i]=0.0;
}
fft(input1_r,input1_i,N,0);
fft(input2_r,input2_i,N,0);
for(i=0;i
dft_in2=input2_r[i]*input2_r[i]+input2_i[i]*input2_i[i];
fprintf(ofp7,"%f\n",dft_in1);
fprintf(ofp8,"%f\n",dft_in2);
}
return 0;
}
// FFT Function
void fft(double *fr, double *fi, int n, int inv)
{
int i, j, j1, j2, k, iter, irem, s, m, n1, n2, nxp, mxp, nxp2;
double arg, wr, wi, tr, ti, wpwr;
iter = 0;
irem = n;
while ((irem / 2) >= 1) {
iter++;
irem /= 2;
}
s = (inv ? 1 : -1);
nxp2 = n;
for (i = 0; i < iter; i++) {
nxp = nxp2;
nxp2 = nxp / 2;
wpwr = m_PI / (double)nxp2;
for (m = 0; m < nxp2; m++) {
arg = (double)m * wpwr;
wr = cos(arg);
wi = s * sin(arg);
for (mxp = nxp; mxp <= n ; mxp += nxp) {
j1 = mxp - nxp + m;
j2 = j1 + nxp2;
tr = fr[j1] - fr[j2];
ti = fi[j1] - fi[j2];
fr[j1] = fr[j1] + fr[j2];
fi[j1] = fi[j1] + fi[j2];
fr[j2] = tr * wr - ti * wi;
fi[j2] = tr * wi + ti * wr;
}}}
n2 = n / 2;
n1 = n - 1;
j = 1;
for (i = 1; i <= n1; i++) {
if (i < j) {
tr = fr[j - 1];
ti = fi[j - 1];
fr[j - 1] = fr[i - 1];
fi[j - 1] = fi[i - 1];
fr[i - 1] = tr;
fi[i - 1] = ti;
}
k = n2;
while (k < j) {
j -= k;
k /= 2;
} j += k;
}
if (inv)
for (i = 0; i < n; i++) {
fr[i] /= n;
fi[i] /= n;
}
}
추천자료
최근 신학의 동향
교육 행정정보 시스템
교육학-창의성과 자아개념(창의학습,유아기자아)
사람과 아들을 읽고
루소의 사회계약론
정보를 상품화하는 방법(다와코 타로우) 소감및 서평
프로이드 발달 이론을 통한 나의 성격 분석
신경숙 소설 연구-외딴방-
인적자원개발 전반의 연구
평생교육(평생학습)의 특성과 필요성, 평생교육(평생학습)의 기본방향과 영역, 평생교육(평생...
탈식민주의와 대중적 영상화: <무궁화꽃이 피었습니다>
[인간과교육] 현대사회에서 평생교육의 필요성이 강조되는 이유
니체 (Friedrich Wilhelm Nietzsche)
알기쉬운 통계 기초강좌
소개글