2016-11-01 11 views
1

離散フーリエ変換のCコードでは、極値(amplitudeおよびangle)を出力する必要があります。私は、デカルト値、xyを出力する高速アルゴリズムを持っています。Cのデカルトから極座標へのより速い進路?

int x, y; 
float amplitude, angle; 
... 
amplitude = sqrt(x*x + y*y); 
angle = atan2(y, x); 

だけよりも、極性に(f.e. 1024)デカルトの値を変換するより高速な方法はありますか?

+0

修正しました。ありがとうございます。 – Danijel

+2

この変換はFFTよりはるかに高速です。だからスピードを心配する理由はありません。経過時間を測定して比較しましたか? – MBo

+0

@MBoはい、私は次に測定します。ありがとう。うまくいけば、それはFFT自体よりもはるかに速くなります。その場合、私はそれを使って生きていきます。 – Danijel

答えて

0

二つのアプローチがあります。

(1)一般的な2D FFTを実行し、その後、自分で極座標変換にデカルトを完了は。

(2)いわゆる "極性FFT"を直接使用します。実際には、「極座標FFT」も補間法に基づいています。

関連する問題