我在计算SNR时遇到了一个非常简单但基本的问题:
有几个信号:
S1 =没有噪音的原始且纯净的信号。
N1 =将加入S1的高斯白噪声。
S2 = S1 + N1(执行降噪算法前的噪声信号)
S3 =噪声降低信号(执行降噪算法后)
N2 = S3 - S1(执行降噪算法后的噪音量)
现在我想比较执行降噪算法之前和之后的SNR。
我应该考虑哪些信号用于SNR_before!? S1 / N1 或 S2 / N1 ?
我应该考虑哪些信号用于SNR_after!? S3 / N1 或 S3 / N2 ?
我应该在MATLAB中使用哪些命令或函数来计算SNR_before和SNR_after?
感谢十亿人把时间用在帮助我身上。
答案 0 :(得分:1)
我之前对计算snr的了解:
snrBeforeNoise = mean(signal。^ 2)/ mean(noise。^ 2);
关于snr之后:
residual_noise = signal - noise_reduced_signal; snr_after = mean(signal。^ 2)/ mean(residual_noise。^ 2);