查看: 610|回复: 2|关注: 0
打印 上一主题 下一主题

[已解决] 高斯白噪声

[复制链接]

新手

11 麦片

财富积分


050


4

主题

21

帖子

0

最佳答案
跳转到指定楼层
1#
宋老师,我用您在第五章中给出的Gnoisegen函数和MATLAB自带的awgn函数分别对信号添加同样信噪比的噪声,为什么得到的信号波形差别这么大呢?前者的信噪比明显比后者大。下面附上代码和图:
load chirp;
N=length(y);
t=(0:N-1)/Fs;
y1=awgn(y,15);
[y2,n2]=Gnoisegen(y,15);
figure(1)
subplot(311),plot(t,y);  %原始语音信号
subplot(312),plot(t,y1);   %用awgn添加噪声得到的信号
subplot(313),plot(t,y2);   %用Gnoisegen添加噪声得到的信号


论坛优秀回答者

17

主题

5199

帖子

1128

最佳答案
  • 关注者: 639
2#
发表于 2019-7-22 19:49:59 | 只看该作者 |此回复为最佳答案
LZ用两种方法对信号加了15dB信噪比,但实际上结果是否加了15dB呢? 我在书上有一个检查信噪比的程序,可以在LZ的程序中增加这样两语句来检查:
snr1=SNR_singlech(y,y1)
snr2=SNR_singlech(y,y2)
给出的结果是这样的
snr1 =0.6736    snr2 =15.0000
snr1的值接近0dB,这就是为什么“前者的信噪比明显比后者大”的原因。
为什么会出现这样的结果,这是由于LZ没有正确的使用awgn函数,应把该语句改为
y1=awgn(y,15,'measured');
这样两种方法的结果就差不多了。

新手

11 麦片

财富积分


050


4

主题

21

帖子

0

最佳答案
3#
 楼主| 发表于 2019-7-22 21:10:32 | 只看该作者
songzy41 发表于 2019-7-22 19:49
LZ用两种方法对信号加了15dB信噪比,但实际上结果是否加了15dB呢? 我在书上有一个检查信噪比的程序,可以在 ...

原来是这样,谢谢宋老师!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表