問題タブ [fft]
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.
fft - GNU Octave FFT 関数の使用
オクターブの fft 関数で遊んでいますが、出力をスケーリングする方法がわかりません。次の (非常に短い) コードを使用して関数を近似します。
基本的に、それが行うことは、関数を取り、間隔のイメージを計算し、fft-it してから、いくつかの高調波を保持し、結果を ifft することです。それでも、垂直方向に圧縮されたプロットが表示されます (出力の垂直方向のスケールが間違っています)。何か案は?
signal-processing - オクターブでfftを使用した外挿
GNUオクターブを使用して、信号の一部に対してfftを計算し、次にいくつかの周波数を削除し、最後に信号を再構築しています。これは私に信号の良い近似を与えます; しかし、それは私にデータを推定する方法を与えません。
基本的に私が3つの期間と半分をプロットしたと仮定します
次に、低振幅のゼロ中心のランダムノイズを追加しました。fft / ifftを使用すると、ほとんどのノイズを簡単に取り除くことができます。しかし、信号データのさらに3つの期間を外挿するにはどうすればよいですか?(もちろん、信号を複製するものもあります)。
数学的な方法は簡単です。正弦/余弦の無限の合計として関数を分解し、部分的な合計を抽出してどこにでも適用する必要があります。しかし、私はプログラム的な方法を完全には理解していません...
ありがとう!
python - 位相相関
2つの画像の位相相関(fftを使用)によって回転角度を決定するにはどうすればよいですか? http://en.wikipedia.org/wiki/Phase_correlationに示されているアルゴリズムは、角度ではなく線形シフトを返します。また、回転を計算するには、画像を対数極座標に変換する必要があることにも言及しています。この変換はPythonでどのように達成されますか? 変換後、アルゴリズムの同じ手順が保持されますか?
signal-processing - DSP - DFT を使用した周波数のフィルタリング
学習のみを目的として、DFT ベースの 8 バンド イコライザーを実装しようとしています。DFT の実装が機能することを証明するために、オーディオ信号を入力して分析し、周波数スペクトルを変更せずに再合成しました。ここまでは順調ですね。
私は相関による、いわゆる「DFTを計算する標準的な方法」を使用しています。このメソッドは、実数部と虚数部の両方を N/2 + 1 サンプルの長さで計算します。私がやっている周波数を減衰させるには:
ここで、「k」は 0 から N/2 の範囲のインデックスですが、再合成後に得られるのは、特に低周波数でわずかに歪んだ信号です。
入力信号のサンプル レートは 44.1 khz で、8 バンドのイコライザーが必要なため、一度に 16 サンプルを DFT に供給して、8 つの周波数ビンで再生します。
誰かが私が間違っていることを教えてもらえますか? インターネットでこの件に関する情報を見つけようとしましたが、何も見つかりませんでした。
前もって感謝します。
c++ - APIを備えたリアルタイムスペクトラムアナライザ
Windowsで波形のリアルタイムスペクトル分析を提供するCまたはC++APIを探しています。
周波数成分を決定するために必要なサンプルウィンドウの大きさは完全にはわかりませんが、小さいほど良いです。たとえば、0.5秒の長さのサンプルで動作し、Hzまでの周波数成分を決定できる場合、それは非常にすばらしいことです。
iphone - iPhoneで特定の周波数の大きさを決定する
音の特定の周波数の大きさを決定する最も簡単で最良の方法は何だろうと思っています。
FFT関数が信号のすべての周波数の大きさを返すことは私の理解です。特定の周波数だけに関心がある場合に使用できるショートカットがあるかどうか疑問に思っています。
iPhoneのマイクを使って音声を録音します。私の推測では、音声をファイルに録音する必要がないため、録音には Audio Queue Services を使用することになります。私は SDK 4.0 を使用しているので、必要に応じて Accelerate フレームワークで定義されている関数 (FFT 関数など) を使用できます。
更新: コンラッドの提案に従って、より明確になるように質問を更新しました。
filtering - DSP - FFT による周波数ドメインでのフィルタリング
私は FFT の Exocortex 実装で少し遊んでいますが、いくつか問題があります。
iFFT を呼び出す前に周波数ビンの振幅を変更すると、特に信号に低周波数が存在する場合 (ドラムやベースなど)、結果の信号にクリックやポップが含まれます。ただし、すべてのビンを同じ係数で減衰させると、これは起こりません。
4 サンプル FFT の出力バッファの例を示します。
出力は float のペアで構成され、それぞれが 1 つのビンの実部と虚部を表します。したがって、ビン 0 (配列インデックス 0、1) は、DC 周波数の実部と虚部を表します。ご覧のとおり、ビン 1 と 3 は両方とも同じ値 (Im 部分の符号を除く) を持っているため、ビン 3 が最初の負の周波数であり、最後にインデックス (4, 5) が最後の正の値であると推測します周波数ビン。
次に、周波数ビン 1 を減衰させるには、次のようにします。
実際のテストでは、長さ 1024 の FFT を使用しており、常にすべてのサンプルを提供するため、0 のパディングは必要ありません。
明らかに私は何か間違ったことをしていますが、何がわかりません。
非常に基本的なダイナミック イコライザーを実装しようとしているので、FIR 係数のセットを生成する手段として FFT 出力を使用したくありません。
周波数領域でフィルタリングする正しい方法は何ですか? 私は何が欠けていますか?
また、負の周波数も減衰させる必要があるのでしょうか? neg の FFT 実装を見てきました。周波数値は合成前にゼロになります。
前もって感謝します。
matlab - MATLAB の FFT: 間違った 0Hz 周波数
MATLAB で fft を使用して、excell ファイルとして保存されたいくつかの実験データを分析したいと考えています。私のコード:
しかし、それは大きな 0Hz の誤った成分を含むグラフをプロットします。私の真の周波数は約 395Hz であり、プロットされたグラフには表示されません。何が悪いのか教えてください。
どんな助けでも大歓迎です。
iphone - aurioTouch サンプル アプリケーションで x 軸に対応する周波数を決定する
iPhone SDKのaurioTouch サンプル アプリケーションを見ています。「FFT」オプションを選択すると、基本的なスペクトラムアナライザが実装されます。アプリに欠けているものの 1 つは、X 軸のラベル (頻度ラベル) です。
aurioTouchAppDelegate.mmファイルの 652 行目の関数に- (void)drawOscilloscope
は、次のコードがあります。
私の理解では、コードのこの部分は、UI で各周波数に対してどのマグニチュードを描画するかを決定するために使用されるものです。y
私の質問は、各反復 (または値) がfor
ループ内で表す頻度をどのように判断できるかということです。
たとえば、6kHz の振幅を知りたい場合は、次のような行を追加することを考えています。
y
彼らは変数名を使用することを選択しましたが、私が理解していることから、実際にはスペクトル アナライザーのビジュアル グラフの x 軸を表し、の値はy 軸を表すことに注意してくださいdrawBuffers[0][y]
。
matlab - OpenCV でのフーリエ変換の表示
私は OpenCV の使い方を学んでいて、DFT の使用に問題があります。MatLab を使用した信号処理クラスを行ったので、そのクラスで行った演習のいくつかを実行しようとしています。画像の FT を取得して表示しようとしているので、一部の周波数をマスクできます。FT を表示できるようにしたいので、マスクの大きさはわかっていますが、試してみると、
これらの
代替テキスト http://www.ceremade. dauphine.fr/~peyre/numerical-tour/tours/graphics_synthesis_fourier/index_03.png
どこかでステップを忘れていませんか? 画像をロードし、その型を CV_32FC1 に変換し、その行列を取得し、DFT を取得してから、結果の行列を画像に戻しています。コードを掲載します。
または、誰かが FT を表示する例へのリンクを持っている場合は? 畳み込みに使用したものしか見つかりませんでした。
編集:画像のフェーズを取得しましたか?