5496|1

289

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

仿真中加入噪声的方法(转) [复制链接]

1、一般方法
       a、利用Matlab的函数awgn
      例如正弦波加入高斯白噪声,SNR=10dB。程序:t=[1:0.1:pi];s=sin(t);r=awgn(s,10,'measured');
       b、利用Matlab的函数randn
       程序:SNR=10;t=[1:0.1:pi];s=sin(t);s_power=(norm(s)^2)/length(s);n_power=s_power/(10^(SNR/10));noise=sqrt(n_power)*randn(length(s),1);r=s+noise;

2、问题
       a和b两段程序效果是一样的,b来自普罗克斯的书《现代通信系统使用matlab》(他的《数字通信》大大有名,该书可以从本站中下到)。问题在于s_power的计算和信号采样有关,极端的例子:sin(t)只采两点0和pi,这时计算信号功率为零,若采3点就不为零。当然采样点趋于无穷时才准确,即SNR的确为10dB,但实际仿真不可能做到。到底如何做呢?

3、一些想法
       上述问题是在自己仿真中发现的,也有一些想法来解决。比如数字信号用Eb/N0,先加噪后采样等,但是在多种信号系统比较时等情况下还会遇到很多问题。实际上这些问题往往被忽视,我看过一些文献如比较2psk和4psk,用SNR,明显的相同的SNR下,4psk的噪声大,同样的信道怎么会有不同的噪声,条件不一样比较的结果=?显然误用Eb/N0。
      
4、另外
        第一次发提问贴,感谢版主指正,也希望大家互相交流。特别是awgn还有许多控制参数,不同情况选用也不同,请大家谈谈。
此帖出自模拟电子论坛

最新回复

用Matlab仿真还是很好的,可惜都已经不会用了  详情 回复 发表于 2010-4-2 08:19
点赞 关注

回复
举报

2955

帖子

0

TA的资源

纯净的硅(初级)

沙发
 
用Matlab仿真还是很好的,可惜都已经不会用了
此帖出自模拟电子论坛
 
个人签名不断地学习,才会有创新!
淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表