noisegen matlab,awgn白噪声添加原理
在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白噪声添加原理相关推荐
- matlab录音加入白噪声,matlab加入白噪声
实用文档 通信系统建模与仿真 实验一.高斯白噪声的 matlab 实现 要求: 样本点:100 标准差:0.2 均值: 0 1000 2 10 0.2 白噪声 如果噪声的功率谱密度在...... 高斯 ...
- python添加高斯白噪声及其原理
python添加高斯白噪声及其原理 python添加高斯白噪声及其原理 1 原理公式 Ps.PnPs.PnPs.Pn分别表示信号和噪声的有效功率,信噪比 (SNR) 是正常信号功率与无信号时噪声信号功 ...
- MATLAB AWGN
MATLAB AWGN y = awgn(x,SNR) :在信号x中加入高斯白噪声.信噪比SNR以dB为单位.x的强度假定为0dBW.如果x是复数,就加入复噪声. y = awgn(x,SNR,SIG ...
- 2009-03-24 20:01 Matlab 7.0 添加BNT工具箱(转)
采用MATLAB语言编制的贝叶斯网络工具箱(Bayesian Networks Toolbox,BNT)可实现贝叶斯网络结构学习.参数学习.推理和构建贝叶斯分类器,此工具箱在贝叶斯学习编程方面非常灵活 ...
- 用Matlab将坐标添加到地图上
用Matlab将坐标添加到地图上 今年本科组全国大学生数学建模国赛我没有参加,闲着无聊帮助研究生学姐做竞赛,她让我用matlab将坐标添加到地图上.我的思路是:先画个地图(地图可以是matlab自带的 ...
- DXP_protel2004_原理图设计基础_新建和添加原理图库文件
新建和添加原理图库文件: 1.新建原理图库 2.打开Sch Library工作面板 元件区域 别名区域 引脚信息框 模块信息框 新建和添加原理图库文件: 1.新建原理图库 2.打开Sch Librar ...
- 基于matlab的msk仿真,基于MATLAB的MSK系统原理仿真分析
<基于MATLAB的MSK系统原理仿真分析>由会员分享,可在线阅读,更多相关<基于MATLAB的MSK系统原理仿真分析(39页珍藏版)>请在读根文库上搜索. 1.分类号 密级 ...
- matlab生成指定大小的figure,matlab 为图像添加jet伪彩色,并添加color bar;保存figure图片; 对图像进行高斯模糊;
img = imread('D:\ap.jpg'); figure; %matlab生成指定大小的figure set(gcf,'Position',[100 100 500 500]);%如何改变 ...
- fullbnt matlab,Matlab 7.0 添加BNT工具箱
Matlab 7.0 添加BNT工具箱 采用MATLAB语言编制的贝叶斯网络工具箱(Bayesian Networks Toolbox,BNT)可实现贝叶斯网络结构学习.参数学习.推理和构建贝叶斯分类 ...
最新文章
- 增加内核的ceph模块的日志打印
- 10-CSS基础-CSS选择器
- 6、HIVE JDBC开发、UDF、体系结构、Thrift服务器、Driver、元数据库Metastore、数据库连接模式、单/多用户模式、远程服务模式、Hive技术原理解析、优化等(整理的笔记)
- MongoDB分组查询,聚合查询,以及复杂查询
- 2018年,你想从InfoQ获取什么内容?丨Q言Q语
- Math3中StatUtils类和MathArrays的使用(数组运算)
- 好家伙!京东数科申请“测谎器”专利
- 【git】IDEA下GitLab分支使用测试
- 替换Mac的home brew源
- ip地址与整数的相互转化
- 华为NP课程笔记20-eSight和SNMP简介
- 简单的Java代码实现斗地主
- 服务器虚拟化和vcpu介绍
- JDK下载、安装和环境配置
- 论证可行性有哪几个方面
- 外国人入境日本 后天起须留指印头像
- 开放式运动耳机排行榜,排行靠前的五款高性能耳机分享
- 中兴手机数据通道打不开_中兴td-lte无线数据终端闪着绿灯 但是上不了网是怎么回事...
- 老九学堂 学习C++ 第十天
- 肌营养不良2020-2021最新治疗突破 肌营养不良2021最新进展
热门文章
- android 8.0人脸识别,华为终于坐不住了!推送新版EMUI 8.0:新增人脸识别解锁功能!...
- python爬取天气数据_Python爬取历史天气数据
- python爬取历史天气数据
- 注会考试能用计算机吗,cpa机考能带计算器吗
- 深圳周末好去处|深圳一日游推荐攻略
- 查找树形数据的某个值
- 【Python】Benewake(北醒) TF-LC02(TTL)基于Python运用说明
- sql 语句left join关联超过2张表时,随着left join一路向左,永远只能是最左边的关联表与新表关联吗?还是母表可以一直on下去?
- 用jaxa做一个简单的菜谱Demo
- 关于链表的相关操作与问题