線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1513
推到 Plurk!
推到 Facebook!

資料一階FFT與IFFT問題

尚未結案
okbankul
一般會員


發表:3
回覆:2
積分:1
註冊:2004-09-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-07 21:05:18 IP:211.74.xxx.xxx 未訂閱
這是我在本站看到的一階FFT程式 請教一下 剛接觸影像處理 有人知道這個副程式中的 ar與ai與n,isign代表什麼嗎? 能否給與指教 或是能提供小弟有關一階FFT,IFFT的程式範例? 感激..... void FFT1D(double* ar, double* ai,int n,int isign) { double u_r,u_i,w_r,w_i,t_r,t_i; int i,j,k,m,ip; int ln,n2,stepN,stepN2; //resort n2 = n / 2; j = 1; for (i = 1; i < n; i ) { if (i < j) { t_r = ar[i - 1]; t_i = ai[i - 1]; ar[i - 1] = ar[j - 1]; ai[i - 1] = ai[j - 1]; ar[j - 1] = t_r; ai[j - 1] = t_i; } k = n2; while (k < j) { j = j - k; k = k / 2; } j = j k; } // ln = log(n)/log(2); stepN=1; for (k = 1; k <= ln; k ) /* loops thru stages */ { stepN*= 2; stepN2=stepN / 2; w_r = cos(Pi/(double)stepN2 ); w_i = isign*sin(Pi/(double)stepN2 ); u_r = 1.0; u_i = 0.0; for (m = 1; m <= stepN2; m ) /* loops thru 1/2 twiddle values per stage */ { for (i = m; i <= n; i = stepN) /* loops thru points per 1/2 twiddle */ { ip = i stepN2; t_r = ar[ip - 1] * u_r - u_i * ai[ip - 1]; t_i = ai[ip - 1] * u_r u_i * ar[ip - 1]; ar[ip - 1] = ar[i - 1] - t_r; ai[ip - 1] = ai[i - 1] - t_i; ar[i - 1] = ar[i - 1] t_r; ai[i - 1] = ai[i - 1] t_i; } t_r = u_r * w_r - w_i * u_i; u_i = w_r * u_i w_i * u_r; u_r = t_r; } } if(isign==-1) { for (i = 0; i < n; i ) { ar[i]/=n; ai[i]/=n; } } }
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-07 21:37:17 IP:218.168.xxx.xxx 未訂閱
您好:    PO程式碼的方式與版規說明請參考下面連結,煩請修改謝謝您的配合 >
系統時間:2024-04-30 0:44:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!