首页 > 其他 > 详细

【MATLAB】对离散采样信号添加高斯白噪声(已知Eb/N0)

时间:2017-07-27 19:54:03      阅读:504      评论:0      收藏:0      [点我收藏+]

(1)首先计算已知信号序列(采样之后得到的信号)的平均功率。

该序列在第n个点处的功率为:

 技术分享

 

如果已知的信号序列中的总共的点数为N个,则该序列的平均功率为:

 技术分享

 

在MATLAB中求平均功率的方法是:

Pav=sum(x.^2)/length(x);

(2)第二步是求单个符号的能量。能量的定义是功率乘以时间。对于单个符号来说,因为已经被采样了,每个符号可能对应多个采样点。因此,此处需要已知符号速率。

每个符号的能量为:

 技术分享

 

在MATLAB中求单位符号能量的方法是:

Eb=sum(x.^2)/(length(x)*fb);

(3)第三步是求噪声的单边功率谱密度。根据Eb/N0即可,注意首先要把dB转化为实际的倍数。若已知的Eb/N0是dB单位的,则转化过程如下:

ebn0=10^((EbN0)/10);

随后得到n0:

n0=Eb/ebn0;

(4)第四步是根据噪声的单边功率谱密度求噪声的方差。对于实信号来说,如果信号的采样频率是fs,则噪声带宽为采样频率的一半。噪声的方差即为噪声的平均功率,噪声的平均功率是单边功率谱密度和噪声带宽的乘积,因此噪声的方差为:

 技术分享

 

MATLAB中的计算过程:

pn=n0*fs/2;

(5)第五步即生成噪声序列。

NOISE=sqrt(pn)*randn(1,length(x));

 

注:参考文献:

Bit-Error-Rate Simulation Using Matlab作者:

JE Gilley

http://xueshu.baidu.com/s?wd=paperuri:(18dc898216ce76b4c166f194fab1b349)&filter=sc_long_sign&sc_ks_para=q%3DBit-Error-Rate+Simulation+Using+Matlab&tn=SE_baiduxueshu_c1gjeupa&ie=utf-8&sc_us=12877983928575481934

【MATLAB】对离散采样信号添加高斯白噪声(已知Eb/N0)

原文:http://www.cnblogs.com/waimen/p/7246267.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!