Matlab 信噪比 (SNR) 计算方法与代码示例
信噪比 (SNR) 是一个信号与噪声的比值,通常用于衡量信号质量的好坏。在 Matlab 中,可以使用以下算法计算信噪比:
- 信噪比 = 10 * log10(信号功率 / 噪声功率)
其中,信号功率可以通过信号的幅度平方来计算,噪声功率可以通过信号与噪声的差值的平方来计算。
- 另一种方法是计算信号和噪声的均值和方差,然后使用以下公式计算信噪比:
信噪比 = 10 * log10(信号均值 ^ 2 / 噪声方差)
这种方法对于高斯噪声较为适用。
在 Matlab 中,可以使用以下代码计算信噪比:
% 信号和噪声分别为 s 和 n signal_power = sum(abs(s) .^ 2) / length(s); noise_power = sum(abs(s - n) .^ 2) / length(s); SNR = 10 * log10(signal_power / noise_power);
% 或者使用以下代码 signal_mean = mean(s); noise_var = var(s - n); SNR = 10 * log10(signal_mean .^ 2 / noise_var);
原文地址: https://www.cveoy.top/t/topic/mZvJ 著作权归作者所有。请勿转载和采集!