問題タブ [frequency-analysis]

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.

0 投票する
2 に答える
4251 参照

arduino - 処理+bitWrite+ arduino

私はArduinoで作業しており、Arduinoライブラリで処理しています。

bitWrite(byte, int, int)「関数が存在しません。」というエラーが表示されます。処理+ArduinobitWrite関数が一緒に機能していないことを示しています。この行のために発生しました:

このプロジェクトでの私の目標は、シフトレジスタで動作するように音楽リアクティブスケッチを変更することです。

これが私の完全なコードです:

Arduino_Shift_display

BeatListener

0 投票する
1 に答える
439 参照

c++ - フーリエ解析用に録音した音から PCM データを取得する方法

私は、ギターチューナーのように、サウンドを取り込み、そのコア周波数を出力する C++ コードに取り組んできました。独自のランダム化された正弦波を生成し、振幅と時間だけのテキスト ファイルから FFT を正常に実行できます。マイクまたはサウンドファイルから使用可能なデータを生成する方法がわかりません。

サウンドをサンプリングして、データを振幅対時間テキスト ファイルに出力する簡単な方法はありますか?

私は WAV ファイル形式とさまざまなチャンクがどのように機能するかを調べましたが、それは私のレベルを少し上回っています。どんな助けでも本当に感謝しています。

0 投票する
1 に答える
1334 参照

java - FFT ギター チューナー アプリケーション - 周波数が正しくない

私はギターチューナーアプリケーションに取り組んでいます。FFT がこの種のアプリケーションには適していないことは理解しています。しかし、締め切りが近づくにつれて、私の当初の仕様提出ではこのアルゴリズムの使用が指定されました。残念ながら、私はそれで立ち往生しています。

以前の質問への回答とこのブログの使用に感謝します: http://blog.bjornroche.com/2012/07/frequency-detection-using-fft-aka-pitch.html

オーディオを取り込み、周波数と両方のグラフを計算し、結果を 5 オクターブの既知の音域と比較するアプリケーションがあります。

最終的な問題は、計算された周波数が、読み取った周波数とは依然として異なることです。オンラインで提供されている周波数発生器を使用しましたが、指定された音符の上または下の音符の周波数を取得できることがわかりました。

たとえば、C を読み込むと、異なるオクターブで B シャープまたは C シャープになります。ノイズ源からの電話の距離も測定値に影響します。

これが発生して修正される既知の例はありますか? それとも FFT アルゴリズムが原因で、アプリケーションが正しく動作しないのでしょうか?

私のコードは以前の場所にあります: Displaying a double (frequency) that is always updated with recording with Android

バックグラウンドの環境ノイズを除去するためにローパス フィルターが追加され、指定された複数の周波数の平均を取得するためにリング バッファーが追加されました。

0 投票する
3 に答える
7954 参照

java - リアルタイムで音を録音し、周波数を識別する Android アプリ

電話のマイクを使用してリアルタイムで周波数を記録し、それらを (テキストで) 表示するアプリを開発する必要があります。私は自分のコードをここに投稿しています。FFT および複雑なクラスは、 http://introcs.cs.princeton.edu/java/97data/FFT.java.htmlおよびhttp://introcs.cs.princeton.edu/java/97data/Complex.javaから使用されています。 .html .問題は、エミュレーターでこれを実行すると、頻度がランダムな値から始まり、7996 まで増加し続けることです。その後、プロセス全体が繰り返されます。誰かが私を助けてくれますか?

0 投票する
1 に答える
469 参照

signals - STFTによる信号合成解析

信号を周波数ドメインに転送する必要があり、いくつかの変更を加えた後、STFT と ISTFT を使用して時間ドメインに再び転送します。分析と合成に同じウィンドウを使用することにより、完全な再構成が得られます。ただし、これらの 2 つのウィンドウを別々に選択すると、完全な再構築が行われません。元の信号と再構築された信号は、私が観察した限り、フレーム アドバンスの関数であるスケールによって異なります。問題を解決して完全な再構築を行うのを手伝っていただけないでしょうか?

0 投票する
2 に答える
4150 参照

python - numpy で FFT を使用した周波数分解能の問題

I use Tektronix oscilloscope to perform some signal acquisition. I get 10.000 measurement points (few signal periods) and I have to do a frequency analysis on that set of data. My signal is 8MHz sine wave. When I use either SciPy or NumPy I get the same result - frequencies are spreaded too wide. The distance between two values is 500kHz and the highest frequency is 2.5GHz (absurd). When I want to measure frequency bandwidth around 8MHz I can only get exact values of 7.5, 8.0 and 8.5 MHz. I tried to change sample spacing determined by (x[1]-x[0]) and I got nothing better.

0 投票する
1 に答える
607 参照

verilog - Verilog でのモジュールの動作周波数の調整

それぞれ独自のアルゴリズムを持つ 2 つのモジュールのタイミング解析を含む、かなり複雑なモジュールを作成していますが、入力として 2 つの符号付き数値を取り込み、符号付き数値を出力します。

ザイリンクスを合成ツールとして使用し、Verilog で FPGA 用にこのモジュールを設計しています。これで、ザイリンクスは通常、どのモジュールに対してもワースト ケースのタイミング解析を提供することを理解しました。これは、ルーティング時間を含めて入力から出力までに 250 ピコ秒かかる数値の範囲がある場合、400 ピコ秒かかる入力セットが 1 つでもある場合、ザイリンクスが示すタイミング解析は 400 ピコ秒になることを意味します。

私の目標は見つけることです:

1) モジュール 1 がモジュール 2 よりも任意の数値セットで速い場合。

1) モジュール 1 がモジュール 2 よりも高速な数値の範囲。

私が考えることができる唯一の論理的なアプローチは、モジュールの動作周波数を上げることです。これは、400 ピコ秒ではなく 300 ピコ秒後に両方のモジュールに出力を与えるように強制することです。

明らかに、動作周波数を上げると、テストベンチの入力の一部が誤った出力を出します。私の仮説は、最初に誤った回答を出し始めるモジュールがアルゴリズムを持っているというものです。

だから私の疑問は次のとおりです。

1) ザイリンクスを使用して Verilog でモジュールの動作周波数を上げることは可能ですか (合成または解析中に強制する必要のある設定があります)。そうでない場合、タイミング解析を行うためのより良いツールはありますか?

2) このアプローチは実行可能ですか? Cadence を使用してゲート レベルの合成を行う以外に、Verilog を使用して各ゲートの符号付き数値の各セットの実際の時間遅延解析を見つけることができますか?

0 投票する
0 に答える
538 参照

r - ピリオドグラムを分解して重要な信号を抽出する

R「stats」パッケージのスペクトル関数呼び出しから、周波数とスペクトル密度を使用して生成された標準ピリオドグラムがあります。スペクトル分析は、多くの信号とノイズで構成された、月ごとの長い海面水位時系列データに関連しています。

周波数 0.071 (14 か月周期) および 0.0094 (8.85 年周期) のスペクトル密度のピークに対応する正弦波信号の振幅を決定したいと考えています。スペクトル密度の縦座標を信号振幅に変換するにはどうすればよいですか? 比較的速い変換はありますか?

ピリオドグラムから既知の周波数に対応する実際の正弦波信号の推定値を抽出するために、R に推奨される関数呼び出し/パッケージはありますか?

どうもありがとうフィル

0 投票する
1 に答える
1282 参照

matlab - Matlab: simulink での評価を高速化するために tf-system にローパス フィルターを適用する方法

n x n伝達関数を持つ行列で定義された機械振動システムがありますtf( ... )

次の図では、いくつかの選択された周波数応答を確認できます。高周波でさまざまな不規則性を示します。

振動系のボード線図

Simulink でこのシステムを他の高次システムと組み合わせると、必要なステップ サイズを非常に小さくする必要があり、そうしないとシステムが安定しません。その場合、シミュレーション時間が非常に長くなり、モデルの一般的な機能を検証することができなくなります。

このため、転送行列にローパス フィルターを適用して、より大きなステップを使用してシミュレーション時間を短縮したいと考えています。これを私の matlab コードまたは Simulink 内に実装する方法はありますか?

最後に、時間と必要な精度に応じて、しきい値周波数を調整したいと思います。

私はすでに適切なソルバーについていくつかの調査を行いましたが、成功しませんでした。ソルバーに関するアドバイスも役に立ちます。

これは私が利用できるツールボックスのわずかなリストです:

前もって感謝します!

編集:@ am304の提案を説明するための写真

18 次から 4 次までの縮小システムのボード線図

18次から4次への縮小システムのボード線図、私の場合はローパスはもう必要ありません。