异构蜂窝网络K-Tier下行链路的建模与matlab分析

Posted fpga和matlab

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异构蜂窝网络K-Tier下行链路的建模与matlab分析相关的知识,希望对你有一定的参考价值。

目录

一、理论基础

二、MATLAB仿真程序

三、仿真结果


一、理论基础

参考英文文献《Modeling and Analysis of K-Tier Downlink Heterogeneous Cellular Networks》,

 

 

        蜂窝网络正在从精心规划的一组大型塔式基站(BSs)对异构基础设施元素的非常规部署,通常还包括微、微微和以及分布式天线。在本文中,我们为下行链路开发易于处理、灵活和精确的模型异构蜂窝网络(HCN),由K层组成随机定位的基站,其中每一层在以下方面可能不同平均发射功率、支持的数据速率和BS密度。假设移动用户连接到最强候选BS,结果信号干扰加噪声比(SINR)当在覆盖范围内,瑞利衰落时,我们得出覆盖概率表达式(相当于中断)在开放和封闭访问下的整个网络上在高SINR状态下,假设一个非常简单的封闭形式精确到−即使在较弱的假设下也是4dB。对于外部验证,我们将其与实际LTE进行比较网络(用于第1层)与其他K− 1正在建模的层作为独立的泊松点过程。在这种情况下,我们的模型精度在1-2 dB以内。我们还导出了平均值随机定位的移动设备实现的速率和平均负载在BSs的每一层上。对于干扰受限的开放接入网络,一个有趣的观察是,在给定的SINR下分层和/或BSs既不会增加也不会降低所有层具有相同目标SINR时的覆盖率或中断。

二、MATLAB仿真程序

clc;
clear;
close all;
warning off;
addpath 'func\\'

global BS_num;
global An_num;
global User_num;
global Gains;
global Factors;
global Loss1;
global shadows;


%参数初始化
lamda1             = 1e-4;   
lamda2             = 2*lamda1;   
alpha              = 3;
Ca                 = 2*pi^2*csc(2*pi/alpha)/alpha;
%grid小区maco个数
BS_num             = 7;       
%每个基站的天线数
An_num             = 30;                       
User_num           = round(0.748*An_num);
%功率
Pts                = [32,0.32]; 
sigmas             =-92;   
Gains              = 0;
Factors            = 36.7;
Loss1              = 36.8;
shadows            = 0;
%算法模拟次数,通过多次循环,计算平均,提高算法的稳定性。
MTKL               = 200;  
sigmas2            = 10^(sigmas/10)/1e3;
%
%统计仿真出的SIR结果和数值的SIR结果
SIRv               = zeros(MTKL,1e5);
 
for ijk = 1:MTKL
    ijk
    %首先构建4G模拟模型
    [POS_1,POS_2]                    = func_actual(lamda1,lamda2);
    
    %定义网络的大尺度衰落
    [Fading_DB,Fading]               = func_Fading(POS_1,POS_2);
    
    %选择femto的基站
    [femto_Sel,Sel_Start,NSel_Start] = func_Sel(Fading_DB,POS_1,POS_2,User_num);
    
    %用户选择
    [UEsel,NUEsel]                   = func_UEsel(femto_Sel);
    
    %矩阵映射
    Smaps                            = func_Bue(femto_Sel,Sel_Start,UEsel);
    
    %大尺度衰减下的选择
    Sel_PLdb                         = Fading_DB(UEsel,Sel_Start);
    Sel_PL                           = Fading(UEsel,Sel_Start);
    
    %信道
    H_Channel                        = func_channel(NSel_Start,NUEsel,Sel_PL);                

    %预编码            
    Weight_Channel                   = func_PreCode(NSel_Start,Smaps,H_Channel,Pts,0);
 
    %计算SIR
    for jn = 1:length(intersect(1:length(POS_2(1,:)),UEsel));  
        [Rs2,PowerX,Sel_diff,NSel_diff,Userid] = func_R2(Weight_Channel,H_Channel,Smaps,UEsel,Sel_Start,jn);
        Rs1                                    = func_R1(Weight_Channel,H_Channel,jn,Sel_diff,NSel_diff);
        SIRv(ijk,Userid)                       = SIRv(ijk,Userid) + func_SIRcal(PowerX,Rs1,Rs2,sigmas2);
    end  
end
 
[Pc,SIR] = func_Pc(SIRv);
figure
plot(SIR,Pc,'b-o'); 
xlabel('SIR threshold');
ylabel('Coverage Probability');
% axis([-6,10,0.1,1]);

save data_actual1.mat SIR Pc




三、仿真结果

本仿真得到的结果:

 

 

 

 

 

 

 A12-25

 

 

以上是关于异构蜂窝网络K-Tier下行链路的建模与matlab分析的主要内容,如果未能解决你的问题,请参考以下文章

5G无线技术基础自学系列 | 下行链路预算

LoRaWAN 未确认的下行链路和重新加入程序

通过 ThingPark 社区网络服务器发送 LoRaWAN 下行消息

[4G&5G专题-107]:部署 - LTE无线网络覆盖的规划覆盖问题与应对措施

如何在 LoRaWAN 中重新创建加入接受下行链路消息?

NB-IoT的上行SC-FDMA与下行OFDMA的matlab误码率仿真