美文网首页
添加白噪声

添加白噪声

作者: rivrui | 来源:发表于2020-12-31 21:09 被阅读0次

SNR的定义

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

SNR=\frac{{s^2}}{E[N^2]}
E:期望
SNR=\frac{E{[S^2]}}{E[N^2]}
如果噪声的期望为0,显然
E[N^2]=D(N)
D(N)=E(N^2)+E^2(N)
显然,D(N)=E[N^2]=(\sigma_N)^2

分贝

因为信号动态范围很大,所以,经常用对数分贝缩放,
P_{signal,dB}=10log_{10}(P_{signal})
P_{noise,dB}=10log_{10}(P_{noise})
SNR_{dB}=10log_{10}(SNR)
因此,
SNR_{dB}=10log_{10}(\frac{{P_{signal}}}{P_{noise}})
10log_{10}(\frac{P_{signal}}{P_{noise}})=10log_{10}(P_{signal})-10log_{10}(P_{noise})
SNR_{dB}=P_{signal,dB}-P_{noise,dB}

matlab代码

function [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

相关文章

  • 添加白噪声

    SNR的定义 SNR:信噪比,信号与噪声的比率P:平均能量信号功率和噪声功率有着相同的带宽如果信号是一个常量s,或...

  • 白噪声

    忙碌着、改变着、逃避着…… 不管远方呼啸而过的是宁宣高速的汽车,还是禄口机场刚起飞的飞机。它们产生的机械声都透过已...

  • 白噪声

    读书的时候,屋外知了不知疲倦的叫,老师在室内有气无力的的讲,同学们则垂头丧气的昏昏欲睡。 又有偶尔睡不着觉的时候,...

  • 加性高斯白噪声及维纳滤波的基本原理与Python实现

    1. 加性高斯白噪声 1.1 特点 加性高斯白噪声属于白噪声的一种,有如下两个特点: 功率谱密度为常数,即白 高斯...

  • matlab高斯白噪声、白噪声、生成函数

    可以使用如下的函数实现 假设输入信号为X,则给X加上一个均值为0,方差为1的高斯白噪声信号的方法为

  • 高斯噪声、高斯白噪声、SNR、噪声方差

    如何用matlab 产生 均值为0,方差为5的高斯噪声 就得到了 N ( 0, 5 ) 的高斯分布序列。 其中MU...

  • 语音信号实验处理——产生白噪声

    白噪声产生: ———————————————————————————————————————— randn('st...

  • 给时序信号添加高斯白噪声python

    1.信噪比 信噪比的计算公式为:其中,Ps和Pn分别表示信号和噪声的有效功率,信噪比SNR的单位为dB。 或者信噪...

  • skimage添加图像噪声

    通过skimage.util.random_noise添加噪声Python-图像加噪实现(Gaussian noi...

  • AWGN频谱分析

    1. 高斯噪声的频谱 高斯白噪声  高斯白噪声, 百度百科上的解释是"幅度分布服从高斯分布, 功率谱密度服从均匀分...

网友评论

      本文标题:添加白噪声

      本文链接:https://www.haomeiwen.com/subject/ylgroktx.html