前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >matlab|高斯白噪声的添加

matlab|高斯白噪声的添加

作者头像
福贵
发布2021-01-08 15:33:33
1.5K0
发布2021-01-08 15:33:33
举报
文章被收录于专栏:菜鸟致敬菜鸟致敬

SNR的定义

SNR:信噪比,信号与噪声的比率 P:平均能量 信号功率和噪声功率有着相同的带宽 如果信号是一个常量s,或者随机变量S,那么对于随机噪声N的SNR为

E:期望

如果噪声的期望为0,显然

显然,

分贝

因为信号动态范围很大,所以,经常用对数分贝缩放,

因此,

matlab代码

unction [res] = add_noise(data,snr_db)
%ADD_NOISE 此处显示有关此函数的摘要
%   此处显示详细说明
% snr input actually  is snr_db
% input:data,snr_dB
%snr_db=10log10(snr)
%snr=10^(snr_dn/10)
snr=power(10,snr_db/10);
% snr=p_s/p_n
% D(s)=E(s^2)-E(s)^2
p_s=var(data)+mean(data)^2;
p_n=p_s/snr;
sigma=sqrt(p_n);
noise=normrnd(0,sigma,100,1);
% x=(1:100)';
% plot(x,data,'r.');
% hold on;
% plot(x,data+noise);
% legend('原始数据','15dB噪声');
res=data+noise;
end

关于add_noise这个函数,输入的参数是数据,已经需要增加的噪声的分贝,输出的是加了噪声的数据。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与MySQL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SNR的定义
  • 分贝
  • matlab代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档