問題タブ [time-frequency]
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.
matlab - この Matlab コマンドからブラック サーフが発生するのはなぜですか?
コード
OSX 10.10.3 Yosemite の R2014b に入る
しかし、回転すると、セルが黒くならないことがわかります
出力が黒いのはなぜですか?これはハードウェアの問題なのだろうか。
python - Python の時間周波数スペクトログラム
256Hz でサンプリングされた 64 チャネルの EEG データがあり、各チャネルの時間周波数分析を実行してスペクトログラムをプロットしようとしています。
データは NumPy 3d 配列に格納されます。次元の 1 つは長さ 256 で、各要素には、サンプリングされたすべての時点で読み取ったマイクロボルトが含まれます (データの各チャネルの合計長は 1 秒です)。
明確にするために: 私の 3D アレイは 64 256 913 (電極 * 電圧 * 試行) です。試行は、実験の 1 回の試行にすぎません。そこで私がやりたいことは、1 回の試行から 1 つの電極と 1D 電圧ベクトル全体を取り出し、時間-周波数スペクトログラムを作成することです。たとえば、 data[0,:,0] からスペクトログラム プロットを作成したいとします。
各電極について、y 軸が周波数、x 軸が時間、色/強度が電力であるプロットが必要です
私はpythonでこれを使ってみました:
これにより、次のようなものが得られます。
すぐに、軸の範囲が正しくないため、これは正しくないように見えます
さらに、すべての EEG チャネルに対して同じコードを実行すると、すべてのデータに対して、まったく同じプロットが得られます (データがそれぞれ異なることを確認したにもかかわらず)。
私は信号処理にかなり慣れていません。データの配置方法または関数の使用方法のいずれかで間違っていた場所はありますか?
fft - 時系列データのトラフを決定する方法は?
製造プロセス マシンから時系列データ/イベントのストリームを受信しています。サイクルの開始を計算し、データの谷に基づいてこのイベントを特定できる必要があります。これを行うための推奨される方法は何ですか?
ありがとう
編集:データグラフの画像を添付しました。基本的に、次のサイクルの開始/前のサイクルの終わりを確立するために、谷を効果的に特定できるようにする必要がある継続的なデータ ストリームがあります。私が知らないことが保証されている唯一のことは、サイクルの期間です-それは変化します.
私が知っていることが保証されている唯一のことは、データポイントの初期値です。これは、サイクルのどこにでもある可能性があります。
現時点では、これまでに見られた最小温度を追跡しながら、スライドする時間で何かをしなければならないと思っています。
matlab - ウェーブレット:周波数からスケールを決定する方法は?
次のコード サンプルでは、印刷された出力の行が、少なくともほぼ一致することが予想されます。しかし、そうではありません。
Matlab で連続ウェーブレット変換を使用しようとしています。入力信号のさまざまな周波数で変換を実行したいのですが、対応するスケールを推定するための信頼できる方法を見つけるのに苦労しています。
そのコード サンプルでは、scal2freq
これらのスケールを推定するために を使用しています (非自発的であること、つまり、scal2frq(scal2frq(x,'morl',dt),'morl',dt) == x
すべての の数値精度までであることを知っていますx, dt
) cwtft
。ご覧のとおり、そうではありません。
cwtft
これらの頻度を推定する方法と、逆推定を使用して必要なスケールを予測できるかどうかを知っている人はいますか?
matlab - 人工信号の作成
これを Signal Processing StackExchange に投稿しようとしましたが、人口がまばらであるため、ほとんど役に立ちませんでした。私は MATLAB を使用しているので、ここの誰かが同様に役立つことを願っています。
2 つの「コンポーネント」を持つサンプル信号を設計しようとしています。信号が左上の図のようになり、右側に 2 つのコンポーネントが表示されます。時間周波数スペクトルが左下に表示されます。
確かに、信号に関する私の知識は標準に達していませんが、チャープ、sinc、および正弦関数の組み合わせをいじろうとして数時間後でも、私が考えていたものを正確に再現することはできませんでした. 次のコードは、私が達成しようとしているものと少し似ています。
これにより、次のシグナルが得られます。
これは良いことですが、まだ満足のいくものではありません。そこで今日は、チャープと sinc/gauspuls 関数がどのように機能するかを理解するためのより徹底的なアプローチを試みましたが、背景をあまり理解していなくても、少しコツをつかんでいます。
私の理解では、ガウスパルスは振幅が減少する一定の周波数を持っています。チャープには、t0 と t1 の周波数として指定できる連続周波数があり、その間で補間されます。私が理解していないのは、これがスペクトログラムでうまく表示されない理由です。
次の形式のチャープを作成するとします。
スペクトログラムは 0.5Hz から 2Hz の間の周波数スペクトルを生成するリッジを示すと考えましたが、スペクトログラムは 500Hz を超えるまでの y 軸の解像度を示しています。
このような信号のより明確なスペクトログラムを取得する方法を誰かに説明してもらえますか?
さらに、上部に投稿したスペクトログラムの上部リッジのこの「先細り」効果を視覚化するにはどうすればよいですか?