基于MATLAB的LTEA载波聚合算法仿真

article/2025/10/30 4:52:23

目录

一、理论基础

二、案例背景

1.问题描述

2.思路流程

三、部分MATLAB仿真

四、仿真结论分析

五、参考文献


一、理论基础

       在非连续载波聚合( 高频+低频) 场景下,载波衰减特性不同,聚合的载波有不同的覆盖范围,使得不同用户可调度的载波数量不同,若使用传统比例公平( PF) 算法会导致小区不同位置用户资源配置的不公平性。

       提出了一种分组权重 PF 调度算法( GWPF) ,根据用户可调度的载波数量,将用户和载波分组,并引入加权因子对原比例公平算法进行加权处理,从而提高用户公平性。
GWPF 调度算法的核心思想是先根据用户可调度的载波数量,将用户和载波分组,并引入加权因子对原比例公平算法进行加权处理,从而提高用户公平性。

 

二、案例背景

1.问题描述

       现阶段,无线通信技术发展迅速,移动用户数量逐年增加,用户对通信业务中的带宽和速率的要求也越来越高,新的多媒体业务和传统的语音业务比较发展更为迅速。上世纪,蜂窝网的概念首次被提出,然后提出了第一代移动通信系统AMPS,第一代移动电话系统又称为l G系统,主要采用的技术是模拟调制,提供的业务主要是语音服务,因而第一代通信系统的标准常被称为模拟标准。由于模拟系统有很多的不足之处,例如存在频率利用率低、容量不足、不能支持速率变化的数据业务和安全性差等问题,在这种情况下第二的移动通信系统(2G)出现,与第一代系统相比,最突出的变化就是数字化,二代系统采用的标准是GSM(Global System for Mobile Communications),能够提供语音电话业务,并可以实现网络覆盖的国家之间的漫游功能,增加了短信等文本业务。基于2G的演进系统是2.5G,这个系统的增强之处是在语音业务基础上加入分组交换业务,2.5G系统的是2G到3G的一个过渡系统。

2.思路流程

       使用 Matlab 系统级仿真,来评估 GWPF 调度算法在 LTEA 非连续载波聚合场景下的性能。首先给出相应的仿真参数配置及性能评估指标,最后给出仿真结果和相应的分析。

三、部分MATLAB仿真

顶层程序如下:

clc;
clear;
close all;
warning off;
rng('default');Nums = [4:30];
f1   = 860;
f2   = 2300;
f3   = 3400;
B    = 20;
Twind= 100;
Tmax = 2;
dist = 500;
v    = 3;
power= 40;
%边缘用户和中心用户的比例因子
ker  = 0.2;for i = 1:length(Nums)iPF_times = 100;%m为调度次数G        = Nums(i);%为UE个数CC       = 3; %个数T        = Twind;Rbs      = zeros(G,CC,PF_times);   %矩阵s为每次调度RB所分配的UERates    = zeros(G,G);            %整个调度过程每个UE所获得的速率Avg_rate = ones(1,G,PF_times+1);  %每个UE所获得的平均速率Rand_rate= [];Sum_rate = [];%根据用户在CC上的路径损耗进行分组%我们建设CC坐标为,用户坐标随时产生XY1      = [100,200];XY2      = [300,100];XY3      = [200,400];XY       = 1000*rand(2,G);SET      = [];%定义权重因子L        = CC;for j=1:Gdist1 = sqrt((XY(1,j)-XY1(1))^2 + (XY(2,j)-XY1(2))^2); dist2 = sqrt((XY(1,j)-XY2(1))^2 + (XY(2,j)-XY2(2))^2);dist3 = sqrt((XY(1,j)-XY3(1))^2 + (XY(2,j)-XY3(2))^2);dist  = [dist1,dist2,dist3];%不同载波频率衰减不一样PL1(j)   = 58.83+37.6*log(10*dist1/1e3) + 21*log(10*f1);PL2(j)   = 58.83+37.6*log(10*dist2/1e3) + 21*log(10*f2);PL3(j)   = 58.83+37.6*log(10*dist3/1e3) + 21*log(10*f3);[V,I]    = min([PL1(j),PL2(j),PL3(j)]);SET(j)   = I;%分组号Wk(j)    = L/G*dist(I)/Avg_rate(1,j,end);distt(j) = min(dist);endWk = Wk/max(Wk);%距离较大的定义为郊区[VV,II] = sort(distt);Ijiq    = II(round((1-ker)*G):G);Izx     = II(1:round((1-ker)*G)-1);for n=1:PF_times;  %调度次数rng(n);%初始化alphaalpha            = zeros(1,G);%侵略因子%生成随机速率信息Rand_rate(:,:,n) = randint(G,CC,[0 500]);  %pf调度%每个RB开始分配for jq = 1:CC;  t  = 1;if jq == 1;PL=PL1;end;if jq == 2;PL=PL2;end;if jq == 3;PL=PL3;end;for jG = 2:G; if Rand_rate(jG,jq,n)/Avg_rate(1,jG,n)>Rand_rate(t,jq,n)/Avg_rate(1,t,n) & PL>=300+50*rand;t = jG;endendRbs(t,jq,n) = G*rand;end %获得的速率Sum_rate(:,:,n) = Rbs(:,:,n)*Rand_rate(:,:,n)';   %整个调度过程每个UE所获得的速率Rates(:,:)  = Sum_rate(:,:,n)+Rates(:,:); %更新平均速率for k2=1:G;              if rand>0.2%得到服务Avg_rate(1,k2,n+1)=(1-1/T).*Avg_rate(1,k2,n); elseAvg_rate(1,k2,n+1)=(1-1/T).*Avg_rate(1,k2,n)+(1/T).*Sum_rate(k2,k2,n);endendendRates_=Wk*Rates;speed1(i) = sum(sum(Rates_(:,Ijiq)))/1e6;speed2(i) = sum(sum(Rates_(:,Izx)))/1e6;speed(i)  = speed1(i)+speed2(i);
endfigure;
bar([speed(end),speed1(end),speed2(end)]);
ylabel('吞吐量/Mbps');save R1.mat speed speed1 speed2

PF顶层如下所示:

clc;
clear;
close all;
warning off;
rng('default');Nums = [4:30];
f1   = 860;
f2   = 2300;
f3   = 3400;
B    = 20;
Twind= 100;
Tmax = 2;
dist = 500;
v    = 3;
power= 40;
%边缘用户和中心用户的比例因子
ker  = 0.2;for i = 1:length(Nums)iPF_times = 100;%m为调度次数G        = Nums(i);%为UE个数CC       = 3; %个数T        = Twind;Rbs      = zeros(G,CC,PF_times);   %矩阵s为每次调度RB所分配的UERates    = zeros(G,G);            %整个调度过程每个UE所获得的速率Avg_rate = ones(1,G,PF_times+1);  %每个UE所获得的平均速率Rand_rate= [];Sum_rate = [];%不同载波频率衰减不一样PL1      = 58.83+37.6*log(10*dist/1e3) + 21*log(10*f1);PL2      = 58.83+37.6*log(10*dist/1e3) + 21*log(10*f2);PL3      = 58.83+37.6*log(10*dist/1e3) + 21*log(10*f3);for n=1:PF_times;  %调度次数rng(n);%初始化alphaalpha            = zeros(1,G);%侵略因子%生成随机速率信息Rand_rate(:,:,n) = randint(G,CC,[0 500]);  %pf调度%每个RB开始分配for jq = 1:CC;  t  = 1;if jq == 1;PL=PL1;end;if jq == 2;PL=PL2;end;if jq == 3;PL=PL3;end;for jG = 2:G; if Rand_rate(jG,jq,n)/Avg_rate(1,jG,n)>Rand_rate(t,jq,n)/Avg_rate(1,t,n) & PL>=300+50*rand;t = jG;endendRbs(t,jq,n) = G*rand;end %获得的速率Sum_rate(:,:,n) = Rbs(:,:,n)*Rand_rate(:,:,n)';   %整个调度过程每个UE所获得的速率Rates(:,:)  = Sum_rate(:,:,n)+Rates(:,:); %更新平均速率for k2=1:G;                 Avg_rate(1,k2,n+1)=(1-1/T).*Avg_rate(1,k2,n)+(1/T).*Sum_rate(k2,k2,n);endendspeed(i)  = sum(sum(Rates))/1e6;speed1(i) = ker*speed(i);speed2(i) = speed(i)-ker*speed(i);
endfigure;
bar([speed(end),speed1(end),speed2(end)]);
ylabel('吞吐量/Mbps');save R1.mat speed speed1 speed2

四、仿真结论分析

 

 

五、参考文献

[1]邵琪萍, 葛万成. LTE-A系统中比例公平调度算法的改进[J]. 通信技术, 2014, 47(11):4.A01-181


http://chatgpt.dhexx.cn/article/HSHvttFP.shtml

相关文章

LTE-A载波聚合技术(1)---载波聚合的技术特征、分类、仿真场景

1 技术特征 1.1 Carrier Aggregation概述 为了支持LTE-A达到100MHz的系统带宽的要求,3GPP在#53bis会议上提出了载波聚合。所谓载波聚合,就是LTE-A为了支持下行传输带宽超过20MHz聚合两个或者更多的成分载波(component carrier)。…

载波聚合CA

为什么需要载波聚合? 一般来说,要提升网速或者容量,有下面几个思路: 建更多的基站:这样一来同一个基站下抢资源的人就少了,网速自然就上去了。但缺点是投入太大了,运营商肯定不会做亏本的买卖…

CA(载波聚合)

文章目录 CA基本概念1. CA分类2. Pcell、Scell以及Serving CellPcell(Primary Cell)Scell(Secondary Cell) 3. Pcell、Scell部署场景场景1场景2场景3场景4 4. CA的协议控制4.1 Camping/Connetion Establishment:4.2 CC Management…

通俗说法+专业解释,载波聚合

通俗说法专业解释,载波聚合那些事全明白 发布时间:2016-05-19 13:36:30 来源:RF技术社区 (http://rf.eefocus.com) 标签:传输带宽载波聚合(CA)LTE频段 导读:随着LTE深入发展,用户…

载波聚合

一.为什么要进行载波聚合? lte中最大带宽是20M(100个PRB),该小区下ue能获得速率是有限的(LTE_FDD上行理想状态下75Mbps左右,而下行理想状态在175Mbps(注:后面我会专门一篇文章计算LTE_TDD&#…

载波聚合(CA)

载波聚合(CA) 1. 载波聚合目的 为了满足LTE-A下行峰速1 Gbps,上行峰速500 Mbps的要求,需要提供最大100 MHz的传输带宽,但由于这么大带宽的连续频谱的稀缺,LTE-A提出了载波聚合(Carrier Aggregation,CA&…

载波聚合(CA)-carrier aggregation

1 为什么需要载波聚合? 一般来说,要提升网速或者容量,有下面几个思路: 建更多的基站:这样一来同一个基站下抢资源的人就少了,网速自然就上去了。但缺点是投入太大了,运营商肯定不会做亏本的买…

到底什么是载波聚合(CA)?

1 为什么需要载波聚合? 一般来说,要提升网速或者容量,有下面几个思路: 建更多的基站:这样一来同一个基站下抢资源的人就少了,网速自然就上去了。但缺点是投入太大了,运营商肯定不会做亏本的买卖…

ntpdate同步时间出现:no server suitable for synchronization found 最终解决方案!

搭建zabbix服务器时,用ntpdate同步时间出错 ntpdate[2685]: no server suitable for synchronization found 百度查阅资料,尝试了以下数种方法: 换别的时间服务器 ping 域名得到IP,在linux和windows上都ping,根据得到…

内网安装ntpdate时间同步工具

查询是否安装NTP服务 # rpm -qa | grep ntp 根据系统版本寻找合适的RPM安装包。 RPM下载网站:​​https://pkgs.org/download/ntp​​(几乎涵盖了所有RPM包) 下载安装ntpdate wget http://mirror.centos.org/centos/7/os/x86_64/Packages/ntpdate-4.2.6p5-29.el7.ce…

CentOS服务器ntpdate同步及使用ntpdate同步时钟服务器时间

一、centos服务器ntpdate同步 如有多台CentOS服务器运行相同的服务,且对时间准确性要求较高,那必须保证多台服务器时间统一。 最简单的就是每台服务器都用ntpdate同步同一台网络时间服务器的时间。 1、输入ntpdate time.nist.gov同步网络时间 [rootl…

工业协议:DNP协议

一、 数据链路层规约 数据链路层规约文件规定了DNP3.0版的数据链路层,链路规约数据单元(LPDU)以及数据链路服务和传输规程。数据采用一种可变帧长格式:FT3。 FT3 帧长格式: 一个FT3帧被定义为一个固定长度的报头,随后是可以选用…

ICMPv6与NDP

1 ICMPv6 1.1 报文格式 ICMPv6协议号为58,即next header值为58,除了IPv4的作用外,还增加了邻居发现、无状态自动配置、PMTU等功能,报文格式如下: 0 7 15 31 Type Code Checksum Message Body…

ndpi工作流程

这里以ndpi的例程ndpiReader.c为例,讲述一下ndpi从抓包到最终分析出具体协议的流程。简单来讲ndpi是从下层开始逐层向上对数据包进行分析的。 先上一发自己画的流程图 这张图是我在最开始看ndpi源码的时候做的流程图,还不是非常的清楚和正确&#xff0…

【随笔记】linux usb gadget ncm wrong ndp sign 问题修复

一、模拟网卡简介 在 Linux 通过 usb 模拟网卡时,有四种方式: 1. 使用 usb gadget rndis 2. 使用 usb gadget ecm 3. 使用 usb gadget ncm 4. 使用 usb gadget eem rndis:是微软公司制定的协议规范, 不过似乎规范不完整, 引起 rndis host …

nDPI分析

nDPI分析 一.概述 nDPI是保持高度欢迎的OpenDPI,在GPL证书下发布,它的目标是增加新的协议,扩展原有的库;为了支持多平台的体验,它除了支持UNIX系列外,还支持windows版本;而且,可以…

如何实现在on ethernetPacket中自动回复NDP response消息

对于IPv4协议来说,如果主机想通过目标ipv4地址发送以太网数据帧给目的主机,需要在数据链路层填充目的mac地址。根据目标ipv4地址查找目标mac地址,这是ARP协议的工作原理 对于IPv6协议来说,根据目标ipv6地址查找目标mac地址,它使用的不是ARP协议,而是邻居发现NDP(Neighb…

IPv6 NDP邻居发现协议 1

NDP(Neighbor Discovery Protocol,邻居发现协议)是IPv6的一个关键协议,它组合了IPv4中的ARP、ICMP路由器发现和ICMP重定向等协议,并对它们作了改进。作为IPv6的基础性协议,NDP还提供了前缀发现、邻居不可达…

NPDP是什么?

NPDP由美国产品开发与管理协会(PDMA)发起,是国际公认的唯一的新产品开发专业认证,集理论、方法与实践为一体的全方位知识体系。 一,为什么要考NPDP认证? 1.对于个人: 1)确保精通新…

802.11 NDP Sounding

NDP Sounding 1.NDP原理2.NDP 过程3.帧结构3.1 NDPA结构3.2 CBF帧 1.NDP原理 802.11n标准提供的波束成形技术,可以通过预先补偿发射天线的相位,让两条波束进行叠加以实现最好的效果 显式波束成形需要终端反馈信道信息: AP向STA发送探测数据…