問題タブ [fftw]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - CUFFT 出力が FFTW 出力と同じに整列されていない
私は1D FFTをやっています。FFTW と同じ入力データがありますが、CUFFT からの戻り値は、FFTW と同じように「整列」していないようです。つまり、私のFFTWコードでは、ゼロパディングの中心を計算し、すべてのデータを「左揃え」にするためにシフトを行い、末尾にゼロを付けることができました。
CUFFT では、FFT の結果は同じように見えるデータですが、ゼロが出力の「中央に配置」されていないため、アルゴリズムの残りの部分が壊れます。(データを左揃えにシフトすると、不正なシフトの後にまだ「ギャップ」があります)。
誰でも私に洞察を与えることができますか?それらの互換性フラグと関係があると思っていましたが、 cufftSetCompatibilityMode(plan, CUFFT_COMPATIBILITY_FFTW_ALL); でも。いまだに悪い結果が出ています。
以下は、最初の行からのデータの大きさのプロットです。左側のデータは逆 CUFFT の出力で、右側のデータは逆 FFTW の出力です。
ありがとう!
FFTW および CUFFT プランのセットアップ コードは次のとおりです。
CUFFT:
および実行コード:
CUFFT:
いくつかのテストコードを完成させました:
これらの FFT 呼び出しの両方からの出力をダンプすると、同じように見えました。何を見ていたのか正確にはわかりません。データの 75 行目の値は 100 でした。あれは正しいですか?
c++ - FFTW を使用したセグメンテーション違反
社内の FFT アルゴリズムを使用するかなり複雑なプログラムがあります。私は最近、パフォーマンスを向上させるために FFTW を使用することにしました。FFTW がリンクして実行されることを確認するための簡単なテストとして、次のコードをアプリケーションの先頭に追加しましたが、実行すると、fftwf_plan
.
これを引き起こしているアイデアはありますか?
FFTW 3.3 を使用。g++ 4.1.1 と icc 11.1 の 2 つの異なるコンパイラを試しました。また、コア ファイル file は、重要なことを何も示していません。
編集
次のコマンドを使用して、FFTW を再構成してデバッグを追加しました。
プログラムにセグメンテーション違反がある場合、それはメソッド内のランダムな場所にありfftwf_plan_dft_1d()
ますが、スタック トレースは、search
によって呼び出される関数内またはその下にあることを常に示していmkplan
ます。
installation - Fedoraの下にFFTWパッケージをインストールし、Octaveにロード済みとして認識させるにはどうすればよいですか?
OctaveでのFFTWへのすべての参照は、Octave専用のパッケージのように聞こえます(完全には真実ではありませんが、近いです)。Octaveコマンドラインに「pkginstall」と入力して、tar.gzファイルをインストールする手順を示します。しかし、FFTWのWebサイト自体は、RPMを使用するか、さらには独自のディストリビューションパッケージを使用するように指示しています。ええと、Fedoraには(サプライズ)'fftw'という名前のパッケージがあります。しかし、これをyumでインストールした後でも、pkginstallコマンドを使用してOctaveコマンドラインで使用する名前がわかりません。明らかな「fftw」は機能しません。また、/ etc / fftwディレクトリも作成されていません(これが発生したはずの方向を忘れましたが、発生しませんでした)。
では、Fedoraパッケージをインストールした後の次のステップは何ですか?ソースからFFTWをビルドする必要はありませんよね?
optimization - フーリエ級数を合計する簡単な方法は?
FFTW を使用して係数を生成しました。元のデータを再構築したいのですが、numCoefs
すべてではなく最初の係数のみを使用します。現時点では、非常に遅い以下のコードを使用しています。
もっと速い方法はありますか?
visual-studio - fftw計算の不正確さ
FFTWライブラリでピクセルが2倍になる画像のfftを計算しています。そのために、Visual Studio 2008のライブラリfftw(http://www.fftw.org/)ライブラリとITK(http:/ /www.itk.org/)。
ダブルポインタからfftを計算するとき、メソッド'fftw_plan_dft_c2r_2d'を使用すると、計算は行われますが、不正確になり、約+-0.5…</ p>
何が悪いのか、おそらくピクセル間の間隔がわからないのですか?使用するデータの種類は?誰かが以前にこの問題または同様の問題を抱えていましたか?
高度に感謝します。
アントニオ
コード:
コードはここにあります:
f1と呼ばれるダブルポインタにFFTを実行したいと思います。
fft - FFT と逆 FFT の間に実際的な違いはありますか?
FFTW や numpy.fft などの FFT ライブラリは通常、2 つの関数fft()
とifft()
(および実数値入力用の特別なバージョン) を提供します。これらの関数は、次のように定義されているようです。
と
複雑な入力を選択ifft()
して操作する際に考慮すべき実用的または技術的な理由はありますか? (信号、時間または空間ドメイン) と(スペクトル、周波数ドメイン)fft()
の解釈は異なりますが、計算上問題になることはありますか?X
fft(X)
image-processing - fftw ライブラリを使用した FFT 画像/pixelcolors
画像を高速フーリエ転送してから、高速フーリエ転送を逆行しようとしています。http://www.fftw.org/のライブラリを使用しています。問題は、リストされた順序で RGB 値を 1 次元配列に格納したことです。私がうまくいくと思う方法は、各色に配列を割り当て、配列ごとに個別のFFTを実行することです。このような:
FFT についてはよくわかりませんが、理想的な方法とは思えません。fftw.orgのライブラリを使用して、画像からすべてのピクセルカラーをFFTするより良い方法があるかどうか誰かに教えてもらえますか?
ありがとう。
c++ - 同じ結果を得るには、画像を順方向にFFTし、画像を逆方向にFFTします。
http://www.fftw.org/のライブラリを使用して画像をFFTしようとしているので、周波数領域で畳み込みを行うことができます。しかし、それを機能させる方法がわかりません。これを行う方法を理解するために、画像をピクセルカラーの配列としてFFTで転送し、次にそれをバックワードFFTして、同じピクセルカラーの配列を取得しようとしています。これが私がすることです:
誰かがFFT画像を転送してからFFTWを使用して画像を逆FFTして同じ結果を得る方法の例を教えてもらえますか?私はFFTWをFFTに使用する方法を示す多くの例を見てきましたが、画像を表すピクセルカラーの配列がある私の状況にそれがどのように適用されるかを理解できません。
memory-management - dft_c2r_2d&FFTW_PRESERVE_INPUTでの割り当てメモリエラー
'complex_to_real'変換を実行したい、つまりIFFTを実行したい。後で使用するために変換の入力を保持する必要があることに気付いたので、「dft」の計画にフラグ「PRESERVE_INPUT」を追加します。
このフラグを追加すると、コンパイル時に問題が発生し、「dbgmalloc.c」に移動します。これは、割り当てメモリの問題であるはずですが、何も変更せず、新しいフラグがないと正しく機能しました。
ヒントを教えていただけますか?
よろしく
アントニオ
c++ - iOSでfftw3をコンパイルする方法
今日はiOSでFFTW3を使いたいだけです。iOSシミュレーターで使用されるi386バージョンに正常にコンパイルしたので、残りの作業はそれをarmv6(またはv7)バージョンにコンパイルし、これら2つのバージョンを一緒にリポします。私の間違った設定は次のとおりです。
./configure CC = / Developer / Platforms / iPhoneOS.platform / Developer / usr / bin / arm-apple-darwin10-gcc-4.2.1 LD = / Developer / Platforms / iPhoneOS.platform / Developer / usr / bin / ld CCFLAGS = "-I /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/lib/gcc/arm-apple-darwin10/4.2.1/include/ -I/Developer/Platforms/iPhoneOS。 platform / Developer / SDKs / iPhoneOS4.2.sdk / usr / include / -miphoneos-version-min = 2.2 -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk "LDFLAGS = "-arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk" --enable-float --host = arm-apple-darwin --build = arm-apple-darwin10- disable-fortran
これを使用してfftw3をビルドすると、常に次のようになります。
BSD互換のインストールをチェックしています.../usr / bin /install-cビルド環境が正常かどうかをチェックしています...はいarm-apple-darwin-stripをチェックしています...ストリップをチェックしていません...stripconfigure:警告:ホストトリプレットが接頭辞として付いていないクロスツールを使用して、スレッドセーフなmkdir -p ... ./install-sh -c-dgawkをチェックしています...mawkをチェックしていません...nawkをチェックしていません。 .awkのチェックなし...awkがmakeが$(MAKE)を設定するかどうかのチェック...はいMakefileのメンテナ固有の部分を有効にするかどうかのチェック...ビルドシステムタイプのチェックなし...arm-apple-darwin10ホストシステムのチェックタイプ...arm-apple-darwinarm-apple-darwin-gccのチェック.../Developer / Platforms / iPhoneOS.platform / Developer / usr / bin/arm-apple-darwin10-gcc-4.2.1チェックCコンパイラは動作します...詳細についてはconfigure:error:/Users/chencyz/Desktop/Development/Misc/fftw3/fftw-3.3':
configure: error: C compiler cannot create executables
See
inconfig.log'を参照してください
私は問題についてあまりはっきりしていません(Cコンパイラは動作しませんか?)、誰かが私にいくつかのガイドを教えてもらえますか、どうもありがとう!