声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5991|回复: 1

[综合讨论] 求助:一维信号中加5%、10%高斯白噪声(matlab实现)

[复制链接]
发表于 2012-8-31 22:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本帖最后由 jisai 于 2012-8-31 22:58 编辑

经常在文献中看到,一维信号添加5%、10%、20%的高斯白噪声,在matlab中如何实现呢?
一、《加速度信号中加10%的噪声》中VibrationMaster 先生提到用如下方法解决(加10%噪声):
forum.vibunion.com/forum-viewthread-tid-97095-fromuid-188501.html

1. 假定x(1),x(2),....,x(n)是计算得到的加速度.
2. 计算出它的方差 sigma
3. 用 sigma*sqrt(10%)*randn(1,n) 或 sigma*sqrt(10%)*randn(n,1)产生n个随机数
4.将n个随机数分别加到x(1),x(2),....,x(n)-->完成任务

二、matlab中函数: AWGN可在某一信号中加入高斯白噪声信号中
y = awgn(x,SNR) 在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数,就加入复噪声。
具体见eight大侠的《关于信噪比与向已知信号添加噪声的整理及个人心得》
forum.vibunion.com/article-49-1.html

三、那么加5%、10%、20%的高斯白噪声和信噪比SNR之间的关系是什么呢?(求助)
根据信噪比的定义,baike.baidu.com/view/7271.htm#4
SNR=10*log10(信号能量/噪声能量),那么:

1、一维信号中加5%的高斯白噪声是否可理解为:加入的噪声能量为信号的5%;设信号能量为1,则噪声能量为0.05,则:
     一维信号中加5%的高斯白噪声相当于加信噪比SNR=10*log10(1/0.05)=10*log10(20)=13.01的噪声信号;
     matlab程序:y=awgn(x,13.01) %对x加5%的高斯白噪声

2、同理:
     y=awgn(x,10);         %对x加10%的高斯白噪声
     y=awgn(x,6.9897);  %对x加20%的高斯白噪声

以上理解是否正确,请各位大侠指正。谢谢

回复
分享到:

使用道具 举报

 楼主| 发表于 2012-9-2 20:33 | 显示全部楼层
自己顶一下,盼高手能帮忙分析一下,用awgn函数,加5%、10%、20%噪声的使用方法,谢谢。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-30 01:37 , Processed in 0.056262 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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