信号・ノイズ・SNR分析ツール 戻る
信号処理・計測工学

信号・ノイズ・SNR分析ツール

正弦波信号に白色雑音・ピンクノイズ・量子化ノイズを付加してSNR・ENOB・ノイズフロアをリアルタイム計算。時間域と周波数域の両方で可視化できる無料ツール。

プリセット
信号パラメータ
信号周波数 f (Hz)
Hz
信号振幅 A (V)
V
ノイズパラメータ
ノイズ種別
目標 SNR
dB
量子化ビット数 N
bit
計算結果
SNR (dB)
ENOB (bit)
信号RMS (V)
ノイズRMS (V)

時間域 — 原信号 vs ノイズ重畳信号

時間変化

フィルター後の比較

フィルタ後

周波数スペクトル(FFT)

FFTスペクトル
理論・主要公式

$SNR = 10\log_{10}\!\left(\dfrac{P_s}{P_n}\right)$

$ENOB = \dfrac{SNR - 1.76}{6.02}$

量子化ノイズ:$P_n \approx \dfrac{\Delta^2}{12}$

信号・ノイズ・SNR分析ツールとは

🙋
SNRって、数字が大きいほど良いって聞きますけど、具体的に何がどう「良い」んですか?
🎓
大まかに言うと、信号とノイズの音量比だね。例えば、オーディオCDのSNRが約96dBだと、音楽(信号)の音量に対して、ヒスノイズ(雑音)の音量が約10万分の1になるんだ。このツールで「目標SNR」のスライダーを動かすと、波形がどれだけきれいに見えるか、すぐに体感できるよ。
🙋
え、ノイズにも種類があるんですか?「白色」とか「ピンク」って何が違うんですか?
🎓
実務ではノイズの周波数特性が大事なんだ。白色雑音は全周波数で一様な「ザー」という音。ピンクノイズは低い音ほど大きい「ゴー」という音で、電子部品の1/fノイズや自然現象でよく出る。ツールで「ノイズ種別」を切り替えて、右側の周波数スペクトルを見比べてごらん。グラフの形が大きく異なるのがわかるよ。
🙋
ENOBって、ADCのカタログに書いてあるけど、SNRから計算できるんですね。量子化ビット数を変えると、どうなるんですか?
🎓
その通り!16ビットADCでも、実際に使える精度(ENOB)は14ビットくらいなことが多いんだ。ツールで「量子化ビット数N」を8ビットと16ビットで比べてみて。ビット数が少ないと、階段状の波形(量子化ノイズ)が目立って、計算されるSNRとENOBが大きく下がるのがわかる。現場では、このENOB値でシステムの実効性能を評価するんだ。

よくある質問

白色雑音は全周波数帯域で電力が一定のノイズです。一方、ピンクノイズは周波数が高くなるほど電力が減少(1/f特性)し、低周波成分が強いのが特徴です。用途に応じて選択してください。
SNRが高いほど信号品質が良く、例えば60dBなら信号電力がノイズの100万倍です。ENOBは実効的なADCビット数を示し、値が大きいほど高精度です。目安としてENOB=10ビットで約60dBのSNRに相当します。
ノイズフロアは周波数スペクトル上でノイズが基底となるレベルです。ツールの周波数領域グラフで、信号ピーク以外の平坦な部分の平均レベルを確認してください。これが低いほど微弱信号の検出が可能です。
量子化ノイズを追加すると、実効的な分解能が低下するためENOBは減少します。例えば16ビットADCでも、量子化ノイズが大きいとENOBが12ビット程度になることがあります。ツールで実際の値を確認しながら調整してください。

実世界での応用

オーディオ機器・通信機器の設計:高音質や高品質な通信を実現するため、回路やシステムのノイズ特性を評価します。例えば、オーディオアンプの設計では、ヒューマノイド(人間の聴覚特性に近いピンクノイズ)を用いてSNRを測定し、聴感上の性能を予測します。

センサ・計測システムの評価:温度センサや振動センサなど、微弱な信号を扱う計測システムでは、SNRが測定精度を直接左右します。センサ出力のENOBを評価することで、システム全体として期待できる分解能を見積もることができます。

ADC/DACの性能検証:データ変換器のカタログスペックを実測で確認する際、SNRとENOBは最も重要な性能指標の一つです。特定の周波数や振幅の信号に対する性能を評価し、データシートの値と比較します。

医用画像・科学計測の信号処理:MRIや天文観測など、極めて微弱な信号をノイズから抽出する必要がある分野では、信号の周波数特性とノイズの特性を詳細に分析し、最適なフィルタを設計する基礎データとしてSNR分析が用いられます。

よくある誤解と注意点

このツールを使い始める時、いくつか気をつけないと実務での評価を誤るポイントがあるよ。まず、「SNRが高いから必ず良い回路」とは限らないということ。例えば、特定の周波数だけに大きなノイズ(トーン・ノイズ)がある場合、全体の平均電力では目立たなくてSNRは高く出るけど、その周波数の音は完全に聞こえてしまうんだ。ツールの周波数スペクトル表示をよく見て、ノイズが均一に分布しているか確認する癖をつけよう。

次に、入力信号の振幅設定。ツールで「信号振幅」を最大の1.0に近づけると、SNRは良く見えるよね。でも実ADCでは、信号がフルスケールを超えるとクリップ(歪み)が発生して、とんでもないノイズ源になる。実務では、目標SNRを達成するためにも、信号レベルを適切なヘッドルーム(例えばフルスケールの-3dB)で運用する設計が重要だ。

最後に、計算されるENOBは「その条件下での」値だという点。ツールではきれいな正弦波を使っているけど、実際の入力信号はもっと複雑。周波数や温度が変わればノイズ特性も変わる。データシートに「ENOB = 14 bits @ 1kHz」とあれば、それは1kHz入力時の値で、100kHzではもっと低くなるのが普通。一つの条件で判断せず、どう変わるかを観察することが、本当の性能理解につながるんだ。

使い方ガイド

  1. 信号周波数(vFreq)を1kHz~100kHzの範囲で設定し、サンプリング周波数(sFreq)は信号周波数の10倍以上を選択(例:信号10kHz→サンプリング100kHz以上)
  2. 信号振幅(vAmp)を0.1V~5Vで入力、ノイズタイプ(白色雑音・ピンクノイズ・量子化ノイズ)を選択してノイズレベル(vSNR)を設定
  3. ビット深度(vBits)を8bit~24bitで指定すると、量子化ノイズは(LSB/√12)として自動計算され、SNR値がリアルタイムで更新される
  4. 時間波形タブで信号とノイズの重畳波を確認、周波数スペクトルタブでノイズフロア(-100dBV/Hz程度)と信号スペクトルを比較

具体的な計算例

16bit ADCで10kHz正弦波(振幅2V)をサンプリング周波数100kHzで取得する場合:信号電力Ps=2²/2=2V²、量子化ステップ=4V/65536≈61µV、量子化ノイズPn=(61µV)²/12≈3.1nV²となり、SNR=10log₁₀(2/3.1×10⁻⁹)≈98dBが得られます。白色雑音-60dBVを付加すると、SNRは低下して約88dB、ENOB≈14.3bitへ圧縮され、周波数スペクトルでは-60dBV/Hzのノイズフロアが明確に表示されます。

実務での注意点

  1. オーディオ機器設計でピンクノイズ(1/f特性)を使用する際、中低周波帯のノイズが相対的に大きくなるため、白色雑音よりも厳しい条件となることに注意
  2. 医療計測(ECG:心電図)では信号周波数0.05Hz~100Hzの低周波帯が対象のため、サンプリング周波数を最低250Hz以上に設定し、ドリフト除去フィルタ併用が必須
  3. 16bit以上のADCではシステムノイズがピンク化傾向を示すため、シミュレーション結果と実機測定値のSNR乖離時は周波数依存性を検証
  4. 量子化ノイズが支配的な場合(SNR>90dB)、外部アナログノイズの寄与は無視でき、内部デジタル処理精度が性能を決定