m在LTE-A系统载波聚合下的资源分配算法的matlab仿真

2023-11-10 11:21

本文主要是介绍m在LTE-A系统载波聚合下的资源分配算法的matlab仿真,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1.算法描述

2.仿真效果预览

3.MATLAB核心程序

4.完整MATLAB


1.算法描述

        载波聚合即CA,是LTE-A中的关键技术。是为满足用户峰值速率和系统容量提升的要求,增加系统传输带宽的技术,通过CA技术,用户最高上网速率可提升到300Mbps,带来极速上网体验。载波聚合是LTE-A中的关键技术。为了满足单用户峰值速率和系统容量提升的要求,一种最直接的办法就是增加系统传输带宽。因此LTE-Advanced系统引入一项增加传输带宽的技术,也就是CA。CA技术可以将2~5个LTE成员载波聚合在一起,实现最大100MHz的传输带宽。有效提高了上下行传输速率。终端根据自己的能力大小决定最多可以同时利用几个载波进行上下行传输。CA功能可以支持连续或非连续载波聚合,每个载波最大可以使用的资源是110个RB。每个用户在每个载波上使用独立的HARQ实体,每个传输块只能映射到特定的一个载波上。

      LTE采用由eNB构成的单层结构,这种结构有利于简化网络和减小延迟,实现低时延、低复杂度和低成本的要求。与3G接入网相比,LTE减少了RNC节点。名义上LTE是对3G的演进,但事实上它对3GPP的整个体系架构作了革命性的改变,逐步趋近于典型的IP宽带网络结构。

      LTE的架构也叫E-UTRAN架构,如图3所示。E-UTRAN主要由eNB构成。同UTRAN网络相比,eNB不仅具有NodeB的功能,还能完成RNC的大部分功能,包括物理层、MAC层、RRC、调度、接入控制、承载控制、接入移动性管理和Inter-cellRRM等。

为了满足LTE-A下行峰速1 Gbps,上行峰速500 Mbps的要求,需要提供最大100 MHz的传输带宽,但由于这么大带宽的连续频谱的稀缺,LTE-A提出了载波聚合的解决方案。

载波聚合(Carrier Aggregation, CA)是将2个或更多的载波单元(Component Carrier, CC)聚合在一起以支持更大的传输带宽(最大为100MHz)。

每个CC的最大带宽为20 MHz。

为了高效地利用零碎的频谱,CA支持不同CC之间的聚合(如图1)

·         相同或不同带宽的CCs

·         同一频带内,邻接或非邻接的CCs

·         不同频带内的CCs 


      从基带(baseband)实现角度来看,这几种情况是没有区别的。这主要影响RF实现的复杂性。

      CA的另一个动力来自与对异构网络(heterogeneous network)的支持。后续会在跨承载调度(cross-carrier scheduling)中对异构网络进行介绍。

2.仿真效果预览

matlab2022a仿真结果如下:

 

3.MATLAB核心程序

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);
end
01_181m

4.完整MATLAB

V

这篇关于m在LTE-A系统载波聚合下的资源分配算法的matlab仿真的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/382344

相关文章

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

使用Python实现Windows系统垃圾清理

《使用Python实现Windows系统垃圾清理》Windows自带的磁盘清理工具功能有限,无法深度清理各类垃圾文件,所以本文为大家介绍了如何使用Python+PyQt5开发一个Windows系统垃圾... 目录一、开发背景与工具概述1.1 为什么需要专业清理工具1.2 工具设计理念二、工具核心功能解析2.

Linux系统之stress-ng测压工具的使用

《Linux系统之stress-ng测压工具的使用》:本文主要介绍Linux系统之stress-ng测压工具的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、理论1.stress工具简介与安装2.语法及参数3.具体安装二、实验1.运行8 cpu, 4 fo

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

ubuntu20.0.4系统中安装Anaconda的超详细图文教程

《ubuntu20.0.4系统中安装Anaconda的超详细图文教程》:本文主要介绍了在Ubuntu系统中如何下载和安装Anaconda,提供了两种方法,详细内容请阅读本文,希望能对你有所帮助... 本文介绍了在Ubuntu系统中如何下载和安装Anaconda。提供了两种方法,包括通过网页手动下载和使用wg