SNR 信噪比

这篇博客介绍了在Matlab中计算信噪比(SNR)的三种方法,包括直接利用信噪比定义进行计算以及使用awgn函数验证SNR。通过示例代码展示了如何求出信号功率、噪声功率,并计算SNR,强调在音频放大器中,高信噪比是理想目标。
摘要由CSDN通过智能技术生成

信噪比计算公式:dB=10lg(s/n),信噪比又称为讯噪比,是指一个电子设备或者电子系统中信号与噪声的比例。这里面的信号指的是来自设备外部需要通过这台设备进行处理的电子信号,噪声是指经过该设备后产生的原信号中并不存在的无规则的额外信号(或信息),并且该种信号并不随原信号的变化而变化。
信噪比的计量单位是dB,其计算方法是10lg(Ps/Pn),其中Ps和Pn分别代表信号和噪声的有效功率,也可以换算成电压幅值的比率关系:20Lg(Vs/Vn),Vs和Vn分别代表信号和噪声电压的“有效值”。在音频放大器中,我们希望的是该放大器除了放大信号外,不应该添加任何其它额外的东西。因此,信噪比应该越高越好。

fs=50;                           	 		% 采样率
N=fs*60;                     			    % 采样点数(N):N = fs * t 
t = 0 : 1/fs : (N-1)/fs;     			    % 横坐标t坐标精度
X = 5*sin(2*pi*10*t);                		% 产生正弦信号
Y = awgn(X,10,'measured');                  % 加入信噪比为10db的噪声,加入前预估信号的功率(强度)
本方法通过使用awgn函数添加噪声对SNR进行验证,使用了计算信号功率来算SNR:
备注:awgn函数是Matlab里的加性高斯白噪声函数(AWGN)
1、
sigPower = sum(abs(X).^2)/length(X)         % 求出信号功率
noisePower = sum(abs(Y-X).^2)/length(Y-X)     % 求出噪声功率
SNR = 10*log10(sigPower/noisePower)           % 由信噪比定义求出信噪比,单位为db
2、
PS = sum(X.*X)/length(X);
PN = sum((Y-X).*(Y-X))/length(Y);
SNR2 = 10*log10(PS/PN)
3、
SNR3 = 10*log10(sum((X.^2))/sum(((Y-X).^2)))

3种方式结果一致:

参考资料:

信噪比计算公式-爱问教育培训 (sina.com.cn)

(1条消息) 信噪比计算方式(小问题解惑)_人间不想清醒的博客-CSDN博客_信噪比计算公式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

devilthelover

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值