2

fft を実行して (興味がある場合は以前の投稿を参照してください!)、結果が得られました。配列のうるささ/スパイク性を分析したいと思います (実際には単一の vb.nre コレクション)。うーん、どう説明しよう…

信号が良好な場合、fft パワーの結果は 512 のデータ ポイント (周波数バケット) であり、2 つまたは 3 つのアレイ エントリを除くすべてのエントリで値が低く、適切な範囲です (つまり、ほぼ空のバケットのノイズ値に比べてピークが高くなります)。 . したがって、グラフにすると、これらのいくつかのバケットの値に大きなスパイクが見られます。

信号が貧弱でノイズが多い場合、データ値の広がり (最大から最小) は低く、より多くのバケットでそれに比例してノイズが高くなります。

このデータセットのノイズを分析するための、計算集約的ではない優れた方法は何ですか? ある種の統計的方法、標準偏差、または何かが役立ちますか?

4

4 に答える 4

1

重要なのは、何がノイズで何が信号であるかを定義することであり、そのためにモデリングの仮定を行う必要があります。多くの場合、ホワイト ノイズ (周波数帯域ごとの一定のパワー) またはその他のパワー スペクトルのノイズを仮定し、そのモデルをデータに適合させます。信号対ノイズ比は、ノイズの量を測定するために使用できます。

ノイズ モデルの当てはめは、データの性質によって異なります。実際の信号が高周波成分に電力を持たないことがわかっている場合は、そこでノイズ レベルの指標を探し、モデルを使用してノイズが何であるかを予測できます。信号とノイズの両方が存在する低周波成分になります。あるいは、信号が時間的に一定である場合、異なる時点で複数の FFT を取得し、それらを比較して各周波数帯域の標準偏差を取得すると、存在するノイズのレベルを得ることができます。

FFT を実行するときのウィンドウ関数に固有の問題について言及することをひいきにしているのではないことを願っています。これらは、実際には FFT の周期的な性質のアーティファクトである、周波数スペクトルに偽の「ノイズ」を導入する効果があります。鋭いピークと「サイドバンド」ノイズの取得にはトレードオフがあります - 詳細はこちらwww.ee.iitm.ac.in/~nitin/_media/ee462/fftwindows.pdf

于 2008-09-30T12:45:04.850 に答える
1

標準偏差を計算してから、ノイズを示すしきい値を決定します。実際には、これは通常は簡単で、必要に応じて「ノイズ レベル」を簡単に微調整できます。

Knuth には、優れたシングル パス stddev アルゴリズムがあります。これは、実装を説明するリンクです。

標準偏差

于 2008-09-30T13:25:55.640 に答える
0

信号対雑音比を計算します http://en.wikipedia.org/wiki/Signal-to-noise_ratio

各ポイントの標準偏差を確認することもできます。選択したレベルを下回っている場合、信号は良好です。そうでない場合はそうではありません。

于 2008-09-30T12:37:56.270 に答える
0

スパイクは SNR のノイズ グリッチとして扱われ、異常値は破棄されるのではないでしょうか?

そのようなスパイクがあることが時間領域データから明らかな場合、それらは確かに周波数スペクトルに多くのノイズを作成します。それらを無視することを選択するのは良い考えですが、残念ながら、FFT は、スパイクが除去された「穴」のあるデータを受け入れることができません。これを回避するには、2 つの手法があります。「汚いトリック」の方法は、外れ値サンプルをいずれかのサイトの 2 つのサンプルの平均に設定し、完全なデータ セットを使用して FFT を計算することです。

難しいがより正確な方法は、ロム正規化ピリオドグラムを使用することです (WHPress らの書籍「Numerical Recipes」を参照)。これは FFT と同様の機能を果たしますが、欠損データに適切に対処できます。

于 2008-09-30T13:54:17.693 に答える