在matlab中无论是wgn还是awgn函数,实质都是由randn函数产生的噪声。即:wgn函数中调用了randn函数,而awgn函数中调用了wgn函数。

根据awgn的实现代码可以知道”向已知信号添加某个信噪比(SNR)的高斯白噪声“,即:awgn(x,snr,’measured’,'linear’),命令的作用是对原信号x添加信噪比(比值)为SNR的噪声,在添加之前先估计信号x的强度。

这里涉及三个问题:在awgn这个函数中,SNR是如何计算的?什么是信号的强度?awgn函数具体是如何添加噪声的?

1.1 awgn添加白噪声原理

SNR就是信号的强度除以噪声的强度(或者信号功率与噪声功率之比),所以,首先来讲讲信号的强度。其实信号的强度指的就是信号的能量,在连续的情形就是对x平方后求积分,而在离散的情形自然是求和代替积分了。

那么如何添加确定值的信噪比噪声呢?那么根据信噪比公式来推导:

信噪比确定,即SNR是已知的。由于无噪声信号signal是已知的,所以它的信号功率是已知的。

所以可以求得noisePower

然后根据已知的signal构造相应的噪声noise

先生成一个与signal相同长度的随机信号。

noise0=randn(size(signal));

noise1=noise0-mean(noise0);%减去均值

将noise1的按比例进行变换

根据方差和标准差公式,可以知道std(noise0)就是noise0的标准差,这个很好求取。noisePower是noise的噪声强度,根据上面知道,noise是有noise1按比例变换来的。由于noise1是由noise0减去均值获得。因此,noise1的功率就是noise0的方差。即噪声强度对应的是方差,属于同一个概念。事实上,一个数组减去均值后,其方差和标准差与该数组减去2个均值或者多个常数的方差和标准差相同。

即std(noise0-mean(noise0))=std(noise0-2*mean(noise0))

所以噪声强度noisePower对应的是noise未减去均值后的方差,因此noise1未减去均值的原始噪声为noise0.

所以

noisegen matlab,awgn白噪声添加原理相关推荐

  1. matlab录音加入白噪声,matlab加入白噪声

    实用文档 通信系统建模与仿真 实验一.高斯白噪声的 matlab 实现 要求: 样本点:100 标准差:0.2 均值: 0 1000 2 10 0.2 白噪声 如果噪声的功率谱密度在...... 高斯 ...

  2. python添加高斯白噪声及其原理

    python添加高斯白噪声及其原理 python添加高斯白噪声及其原理 1 原理公式 Ps.PnPs.PnPs.Pn分别表示信号和噪声的有效功率,信噪比 (SNR) 是正常信号功率与无信号时噪声信号功 ...

  3. MATLAB AWGN

    MATLAB AWGN y = awgn(x,SNR) :在信号x中加入高斯白噪声.信噪比SNR以dB为单位.x的强度假定为0dBW.如果x是复数,就加入复噪声. y = awgn(x,SNR,SIG ...

  4. 2009-03-24 20:01 Matlab 7.0 添加BNT工具箱(转)

    采用MATLAB语言编制的贝叶斯网络工具箱(Bayesian Networks Toolbox,BNT)可实现贝叶斯网络结构学习.参数学习.推理和构建贝叶斯分类器,此工具箱在贝叶斯学习编程方面非常灵活 ...

  5. 用Matlab将坐标添加到地图上

    用Matlab将坐标添加到地图上 今年本科组全国大学生数学建模国赛我没有参加,闲着无聊帮助研究生学姐做竞赛,她让我用matlab将坐标添加到地图上.我的思路是:先画个地图(地图可以是matlab自带的 ...

  6. DXP_protel2004_原理图设计基础_新建和添加原理图库文件

    新建和添加原理图库文件: 1.新建原理图库 2.打开Sch Library工作面板 元件区域 别名区域 引脚信息框 模块信息框 新建和添加原理图库文件: 1.新建原理图库 2.打开Sch Librar ...

  7. 基于matlab的msk仿真,基于MATLAB的MSK系统原理仿真分析

    <基于MATLAB的MSK系统原理仿真分析>由会员分享,可在线阅读,更多相关<基于MATLAB的MSK系统原理仿真分析(39页珍藏版)>请在读根文库上搜索. 1.分类号 密级 ...

  8. matlab生成指定大小的figure,matlab 为图像添加jet伪彩色,并添加color bar;保存figure图片; 对图像进行高斯模糊;

    img = imread('D:\ap.jpg'); figure;  %matlab生成指定大小的figure set(gcf,'Position',[100 100 500 500]);%如何改变 ...

  9. fullbnt matlab,Matlab 7.0 添加BNT工具箱

    Matlab 7.0 添加BNT工具箱 采用MATLAB语言编制的贝叶斯网络工具箱(Bayesian Networks Toolbox,BNT)可实现贝叶斯网络结构学习.参数学习.推理和构建贝叶斯分类 ...

最新文章

  1. 增加内核的ceph模块的日志打印
  2. 10-CSS基础-CSS选择器
  3. 6、HIVE JDBC开发、UDF、体系结构、Thrift服务器、Driver、元数据库Metastore、数据库连接模式、单/多用户模式、远程服务模式、Hive技术原理解析、优化等(整理的笔记)
  4. MongoDB分组查询,聚合查询,以及复杂查询
  5. 2018年,你想从InfoQ获取什么内容?丨Q言Q语
  6. Math3中StatUtils类和MathArrays的使用(数组运算)
  7. 好家伙!京东数科申请“测谎器”专利
  8. 【git】IDEA下GitLab分支使用测试
  9. 替换Mac的home brew源
  10. ip地址与整数的相互转化
  11. 华为NP课程笔记20-eSight和SNMP简介
  12. 简单的Java代码实现斗地主
  13. 服务器虚拟化和vcpu介绍
  14. JDK下载、安装和环境配置
  15. 论证可行性有哪几个方面
  16. 外国人入境日本 后天起须留指印头像
  17. 开放式运动耳机排行榜,排行靠前的五款高性能耳机分享
  18. 中兴手机数据通道打不开_中兴td-lte无线数据终端闪着绿灯 但是上不了网是怎么回事...
  19. 老九学堂 学习C++ 第十天
  20. 肌营养不良2020-2021最新治疗突破 肌营养不良2021最新进展

热门文章

  1. android 8.0人脸识别,华为终于坐不住了!推送新版EMUI 8.0:新增人脸识别解锁功能!...
  2. python爬取天气数据_Python爬取历史天气数据
  3. python爬取历史天气数据
  4. 注会考试能用计算机吗,cpa机考能带计算器吗
  5. 深圳周末好去处|深圳一日游推荐攻略
  6. 查找树形数据的某个值
  7. 【Python】Benewake(北醒) TF-LC02(TTL)基于Python运用说明
  8. sql 语句left join关联超过2张表时,随着left join一路向左,永远只能是最左边的关联表与新表关联吗?还是母表可以一直on下去?
  9. 用jaxa做一个简单的菜谱Demo
  10. 关于链表的相关操作与问题