簡體   English   中英

如何在MATLAB中計算信號的SNR?

[英]How to calculate SNR of signals in MATLAB?

我在計算SNR時遇到了一個非常簡單但基本的問題:

有幾個信號:

  • S1 =原始且純凈的無噪聲信號。

  • N1 =高斯白噪聲,將被添加到S1中。

  • S2 = S1 + N1(執行降噪算法之前的噪聲信號)

  • S3 =降噪信號(執行降噪算法后)

  • N2 = S3-S1(執行降噪算法后的噪聲量)

現在,我想比較執行降噪算法前后的SNR。

  1. SNR_before!我應該考慮哪些信號? S1 / N1S2 / N1

  2. SNR_after!我應該考慮哪些信號? S3 / N1S3 / N2

  3. 我應該在MATLAB中使用哪些命令或函數來計算SNR_before和SNR_after?

十億感謝您花時間在幫助我上。

我之前關於計算snr的知識:

snrBeforeNoise =平均值(signal。^ 2)/平均值(noise。^ 2);

以及關於snr之后:

殘噪=信號-noise_reduced_signal; snr_after =平均值(信號。^ 2)/平均值(殘留噪聲。^ 2);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM