首页/文章/ 详情

在 3GPP 信道模型下比较不同加噪方法

4年前浏览4192

以 2×2 MIMO 系统为例。下面是四条支路及总的功率增益随时间变化的情况: (其中 h11、h12、h21、h22 为对应四条支路的信道系数) G11 = sum(abs(h11).^2),从图中可以看出此支路平均功率增益约为 1; 

blob.png

G12 = sum(abs(h12).^2),从图中可以看出此支路平均功率增益约为 1; 

blob.png

G21 = sum(abs(h21).^2),从图中可以看出此支路平均功率增益约为 1;

blob.png

G22 = sum(abs(h22).^2),从图中可以看出此支路平均功率增益约为 1;

blob.png

Total_Gain = G11 + G12 +G21 +G22,从图中可以看出信道总的功率增益为 1;

blob.png

这个图说明信道功率增益是随时间而变化的,长时间平均的总功率增益约为 4。

blob.png

blob.png

blob.png

blob.png

上面几个图验证了 rayleigh 信道下得到的结论,如果要使用 awgn(…, …, ‘measured’)对信号 加噪,则需要很长的时间平均才能逼近正确的结果。

   实际上,“手动加噪”体现了噪声产生的本质:接收系统的热噪声。(这里主要考虑了“内噪声”,实 际上也有外噪声,如电磁波或经电源串进系统内部而引起的噪声,但是这些都可以等效为系 统的内噪声。)对于一个接收设备来说,白噪声的大小应该是一定的,信噪比的变化实际上 反映的就是接收信号功率的变化。所以在加噪声时,应该以期望的接收功率为依据,在接收 天线处加入等量的噪声。接收信号的功率会按照信道的时变特性而变化,但是所加的噪声并 没有时变特性: noise_var = 1/sqrt(10^(snr(sn)/10)); % suppose SignalPower = 1 noise1= noise_var *sqrt(0.5) * (randn(1,blocklength) + j*randn(1,blocklength));  noise2= noise_var * sqrt(0.5) * (randn(1, blocklength) + j*randn(1, blocklength));  re_block1 = block11 + block21 + noise1; re_block2 = block12 + block22 + noise2; 经过验证(snr=0dB),长时间平均的信号功率 var(block11+block21)约为 1,两支路的噪 声功率也都为 1,平均信噪比为 0dB。

    在以前 SISO 通信系统中加噪声时常用 awgn(…,…, state),这里给 state 指定一个固定值,即 产生噪声随机数时从相同的起点开始,也就是说每次取的随机数相位都是一样的(幅度会随 信噪比不同而不同),这在比较不同通信技术(如调制、均衡等)时比较好用。但是在(发 送/接收)分集系统中出问题了!由于每条支路加的噪声都是同相的,在接收天线处合并时随机噪声同相向加,使得噪声功率 成倍增长!例如,在 snr = 0dB 时,两个发射天线功率均为 0.5,则四条支路的噪声功率均为 0.5,但是在合并之后我们发现,总的噪声功率变成了

blob.png
而实际上不同支路 的噪声应是不相关的,和的功率等于功率之和:0.5 + 0.5 =1。所以,用于分集系统时,不要 在 awgn 函数中使用相同的 state 参数。

MATLAB
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2020-06-06
最近编辑:4年前
文字罐头
需要时刻注意保质期
获赞 1粉丝 0文章 3课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈