码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-07-27 20:06:26      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:filter   ima   noi   www   密度   sig   button   search   lte   

(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)

标签:filter   ima   noi   www   密度   sig   button   search   lte   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!