基于MATLAB的LTEA载波聚合算法仿真
目录
一、理论基础
二、案例背景
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
基于MATLAB的LTEA载波聚合算法仿真相关推荐
- 基于matlab的信号能量检测算法仿真
能量检测方法,即将接收到的模拟信号变为数字信号后,通过FFT变换,然后再进行,在现有的通信系统中,通常为ASK.PSK.FSK.QAM等,它们都由数字基带脉冲对周期性载波的参数进行调制.采样频率fs ...
- 基于matlab的GPS信号相关检测算法仿真
目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 全球定位系统(Global Positioning System,GPS),是一种以人造地球卫星为基 ...
- 基于matlab的自适应PSO优化算法仿真
目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 粒子群优化算法(PSO),粒子群中的每一个粒子都代表一个问题的可能解, 通过粒子个体的简单行为,群体 ...
- 基于matlab的图像HOG特征提取算法仿真
目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来 ...
- 基于matlab的立体图像编码解码算法仿真与分析
欢迎订阅<FPGA学习入门100例教程>.<MATLAB学习入门100例教程> 目录 一.理论基础 二.核心程序 2.1 获得左右两个图像
- 【中继功率分配】基于MATLAB的中继功率分配算法仿真
1.软件版本 matlab2013b 2.本算法理论知识
- 基于matlab的智能天线波束方向图仿真,基于MATLAB的智能天线波束方向图仿真
第29卷第6期孝感学院学报V OL,基于M AT LA B的智能天线波束方向图仿真,汪 睿1,(1,3,摘 要:结合一种直线阵智能天线模型,关键词:智能天线,中图分类号:T N911,随着移动通信技术 ...
- 传输预编码matlab,基于MATLAB的MIMO系统预编码性能仿真教程.doc
基于MATLAB的MIMO系统预编码性能仿真教程 PAGE \* MERGEFORMAT - 33 - 摘要在现今的移动通信系统中,被极多的国际通信标准采纳为基础性关键技术的一种方法是多输入多输出的技 ...
- 传输预编码matlab,基于MATLAB的MIMO系统预编码性能仿真.doc
基于MATLAB的MIMO系统预编码性能仿真.doc (33页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 摘要在现今的移动通信系统 ...
最新文章
- ASP.NET Get和Post两种提交的区别
- [图示]话剧《被结婚时代》将剩女分4级
- 手把手教你AndroidStudio多渠道打包
- SqlAlchemy初探
- ios 轻扫手势_轻扫即可快速删除iOS计算器中的数字
- python编写一个程序、计算字符串中子串出现的次数_急求。。。C语言实现,计算字符串中子串出现的次数,就是先输入一个字符串,再输入一个上面字符串中存在...
- Netty学习笔记(一) 实现DISCARD服务
- WinForm小程序系列:注册表阅读器
- 贝叶斯定理决策规则及Bayes思想总结
- oracle flashback 功能,oracle 10g中开启flashback功能
- 华为服务器欧拉系统怎么改ip,EulerOS系统配置
- 中科院的matlab课件,中科院matlab课件
- python风变编程是骗局吗-请问风变编程的Python课怎么样?
- openwrt问题汇总
- (附源码)springBoot高校宿舍交电费系统 毕业设计 031552
- 计算机查找保存的文件,电脑保存文件到哪里找
- 大于4G的文件无法拷贝到U盘
- \t\t使用INDY的IdMappedPortTCP控件实现动态的HTTP代理服务器
- Mysql :Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
- phpstudy启动MySQL服务遇到的问题及解决过程