m基于matlab的wcdma软切换算法的研究分析和仿真

news2024/12/24 8:58:08

目录

1.算法概述

2.仿真效果预览

3.MATLAB部分代码预览

4.完整MATLAB程序


1.算法概述

        软切换是WCDMA系统的关键技术之一,软切换算法和相关参数的设置直接影响着系统的容量和服务质量。通过WCDMA系统的软切换技术可以提高小区覆盖率和系统容量。所以软切换技术是WCDMA系统中一个十分关键的技术。首先,在概述WCDMA系统的无线资源管理功能和切换技术的基础上,详细介绍了WCDMA系统中的软切换过程。通过Matlab对WCDMA进行系统级的仿真,并对传统的软切换技术进行仿真分析,提出了其存在的缺陷,然后在此基础上提出了改进的软切换算法,并对改进后的算法进行了性能分析。通过研究,WCDMA软切换对下行容量的影响与软切换比例密切相关,在相同的条件下,改进后的软切换算法较传统的软切换算法,具有更佳的软切换增益值。本文总结得到的仿真结果,可以作为WCDMA系统实际应用的参考和借鉴。

       软切换,指的是用户的移动设备在载波频率相同的小区之间进行信道的切换。在软切换的过程中,用户完全有可能同时和两个或更多的基站进行通信,在切换过程中,软切换不需要改变设备的频率,也不会出现信号中断的情况,通常情况下,软切换进一步能分为软切换和更软切换两种类型。软切换:在这种切换过程中,当移动台开始与一个新的基站联系时,并不立即中断与原来基站之间的通信,即“先连后断”。
 

       软切换过程和硬切换相似,就是在区域边界出会频繁的出现反复切换的现象,这也是所谓的乒乓效应。但由于软切换过程是先连后断进行,所以一般不会出现硬切换中频繁掉话的现象。而更软切换则是软切换的一种特殊情况。这种切换形式发生在同一基站的具有相同频率的不同扇区之间。软切换和更软切换的主要区别在于:软切换发生在两个Node-B之间,分集信号在RNC中合并处理;而更软切换则发生在同个Node-B内,分集信号在Node-B中做最大增益合并。这里,具体就不多做介绍了。

       通常,WCDMA系统中的软切换过程划分为以下三个步骤:无线测量、网络判决、系统执行。软切换执行的阶段示意图如下:

       其中,无线测量由UE和Node-B完成的;网络判决在RNC中进行;系统执行在UE、Node-B和RNC共同协作下完成。

      切换测量阶段,移动台要首先要测量下行链路的信号质量、所属的小区及临近小区的信号能量;测量结果被送到相关的RRC层。

      切换判决阶段。测量结果与预先设定的门限进行比较,以决定是否执行切换操作,同时要进行接纳控制,防止别的小区由于别的用户的加入,从而导致降低已有用户的通信质量。

       在执行阶段,移动台先进入软切换状态,RNC根据测量结果判决切换的目标,并通知移动台进行切换,一个新基站或小区被加入、释放或者替换。

2.仿真效果预览

matlab2022a仿真

 

3.MATLAB部分代码预览

index = 1;
for i = 0.1:0.001:0.6
f(index) = 1;
index = index + 1;
end
for i = 0.601:0.001:1
f(index) = 1.137-0.637*i^3;   
index = index + 1;
end
 
 
if select == 1
%将负载因子引入到参数选择中,
%边缘覆盖率算法对比
figure;
delta=10;
M    =0:1:40;
Y = 0.5 + 0.5*erf(M/(sqrt(2)*delta));
plot(Y,'b-o');title('边缘覆盖率与衰落余量');hold on;
 
delta= 10;
M    = 0:1:40;
pp   = 0.773;
k    = 1;
Y = 0.5 + 0.5*erf(M/(k*f(1000*pp)*sqrt(2)*delta));
plot(Y,'r-o');title('边缘覆盖率与衰落余量');
legend('传统算法','改进算法');
grid on;
 
xlabel('衰落余量M');
ylabel('边缘覆盖率');
end
 
 
 
 
if select == 2
%软切换增益
figure;
delta = 10;
a     = 0.7071;
b     = 0.7071;
M     = -20:2:10;
index = 1;
n     = 3;
for i = 1:length(M)
syms  x;    
i
v=0;
Q=0;
data3 = 0;
v=((M(i)+a*delta*x)/(b*delta));
Q = 1/(sqrt(2*pi))*int(exp(-x^2/2),x,v,100);
data3 = 1 - 1/(sqrt(2*pi))*int(exp(-x^2/2)*Q^n,x,-100,100);
value2(i) = double(data3);
index = index + 1;
end
 
plot(M,value2,'r-o');hold on
Y = 0.5 + 0.5*erf(M/(sqrt(2)*delta));
plot(M,Y,'b-o');title('采用三个软切换的仿真对比图');hold off
legend('软切换','未通过软切换');
save value2.mat value2
 
xlabel('衰落余量M');
ylabel('边缘覆盖率');
end
 
 
if select == 3
%软切换增益
figure;
delta = 10;
a     = 0.7071;
b     = 0.7071;
M     = -20:2:10;
pp    = 0.773;
k     = 1;
index = 1;
n = 3;
for i = 1:length(M)
syms  x;    
i
v=0;
Q=0;
data3 = 0;
v=((M(i)+a*delta*x)/(b*delta/(k*f(1000*pp))));
Q = 1/(sqrt(2*pi))*int(exp(-x^2/2),x,v,100);
data3 = 1 - 1/(sqrt(2*pi))*int(exp(-x^2/2)*Q^n,x,-100,100);
value3(i) = double(data3);
index = index + 1;
end
 
plot(M,value3,'r-o');hold on
Y = 0.5 + 0.5*erf(M/(sqrt(2)*delta));
plot(M,Y,'b-o');title('采用三个软切换的仿真对比图');hold off
legend('软切换','未通过软切换');
save value3.mat value3
xlabel('衰落余量M');
ylabel('边缘覆盖率');
end
 
if select ==4
    M = -20:2:10;
    load value2.mat
    load value3.mat
    
    plot(M,value2,'r-o');hold on
    plot(M,value3,'b-o');hold off
    legend('原算法','改进后算法');    
    xlabel('衰落余量M');
    ylabel('软切换增益');
end
 
if select == 5
    figure;
    load value2.mat
    load value3.mat    
    M=8:0.25:9;
    for i = 1:length(M)
    Ss_Sh1(i)=10^(M(i)/(40)); 
    Ss_Sh2(i)=10^((1+(value3(i)-value2(i)))*M(i)/(40)); 
    end
    plot(10*M,Ss_Sh2,'b-o');hold on;
    plot(10*M,Ss_Sh1,'r-o');hold on;
   
    
    legend('改进后的算法的小区面积扩大倍数','传统算法的小区面积扩大倍数');
    title('小区面积扩大倍数的分析仿真图');
    xlabel('边界覆盖率');
    ylabel('小区面积扩大倍数');    
end
 
 
 
 
 
if select == 6
    
   pp    = 0.603;
   k     = 1; 
    
   figure;
   Rh_R=0:0.1:0.9;
   for i=1:length(Rh_R)
      x(i) = (1 - 2*pi/(3*sqrt(3))*Rh_R(i)^2); 
   end
   subplot(121);
   plot(Rh_R,x,'r-*');title('软切换开销(比例)');
   xlabel('边界覆盖范围');
   ylabel('软切换开销'); 
   %由于计算公式是否复杂,以下数据是传统的方法得到的,根据数据计算得到改进后的数据
   XX   = [0   5    10   15    20   25   30   35    40    45  ];
   Ps1A = [10  12.5 12.8 10    7.75 9.25 7.25 12    16.25 9.75];
   Ps1S = [0.5 1.0  0.63 0.44  0.3  0.41 0.4  0.68  0.77  0.97];
   PSHO = [0.6 0.2  0.5  0.43  0.4  0.5  0.4  0.88  1.77  0.97];
   
   G=(Ps1A./(Ps1S + PSHO)) -1 ;
   subplot(122);
   plot(XX,G,'b-*');title('下行软切换增益');grid on;hold on;
   G=(Ps1A./(Ps1S + (k*f(1000*pp))*PSHO)) -1 ;
   plot(XX,G,'r-o');title('软切换增益');grid on;   
   legend('传统算法','改进后算法');
    xlabel('衰落余量M');
    ylabel('下行软切换增益');
end
 
01_032_m
 

4.完整MATLAB程序

matlab源码说明_我爱C编程的博客-CSDN博客

V

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/21118.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ASM】字节码操作 工具类与常用类 LocalVariablesSorter 类 简单介绍与使用

文章目录 1.概述2. LocalVariablesSorter#2.1 class info2.2 fields3.案例3.1 编码实现3.2 编码实现v21.概述 在上一节:【ASM】字节码操作 工具类与常用类 GeneratorAdapter 介绍 我们知道了对于GeneratorAdapter 类来说,它非常重要的一个特点:将一些visitXxx()方法封装成一…

Java面向对象详解(上)

Java面向对象详解(上)🪅面向对象与面向过程的区分✨面向过程:✨面向对象:🪅类是什么?🪅对象是什么?🪅类的结构🪅类中方法:✨成员方法与…

实战讲解SpringBoot启动时自动加载数据库数据到内存:通过回调方法自动运行Bean(图+文+源码)

1 缘起 在补充SpringCloud网关(Gateway)配置白名单相关知识过程中, 有两种实现方案: (1)SpringBoot的启动配置文件application.yml进行配置; (2)自动加载MySQL数据库中的…

【人工智能】Mindspore框架中保存加载模型

前言 MindSpore着重提升易用性并降低AI开发者的开发门槛,MindSpore原生适应每个场景包括端、边缘和云,并能够在按需协同的基础上,通过实现AI算法即代码,使开发态变得更加友好,显著减少模型开发时间,降低模…

深度学习在图像处理中的应用学习笔记

这篇学习笔记用于记录本人在读研期间的学习内容 在刚入学不久,发现一个B站up主对这方面进行了一系列的整理总结,并上传了代码,并且非常成体系,因此本人打算跟着这位up主的步骤,对这方面进行学习并且做一个记录&#xf…

Vue安装并使用axios发送请求

前言 本文主要介绍的是使用在Vue项目中安装并使用axios发送请求 axios介绍 axios是一种Web数据交互方式 它是一个基于promise的网络请求库,作用于node.js和浏览器中,它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中) 本质是对原生XHRX…

NAND Flash原理

Flash 简介 Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memory Device)。关于什么是非易失性/易失性,从名字中就可以看出,非易失性就是不容易丢失&…

BGP→→

BGP-4 提供了一套新的机制以支持无类域间路由。这些机制包括支持网络前缀的通告、取消 BGP 网络中 “ 类 ” 的概念。 BGP-4 也引入机制支持路由聚合,包括 AS 路径的集合。 特点 BGP属于外部或域间路由协议。BGP的主要目标是为处于不同AS中的路由器之间进行路由信…

Spring Cloud Config 配置中心

最简单的配置中心,就是启动一个服务作为服务方,之后各个需要获取配置的服务作为客户端来这个服务方获取配置。 Spring Cloud Config,可以用 git ,还可以用数据库、svn、本地文件等作为存储。 1. Config Server 引入 config-ser…

Day08--自定义组件的properties属性

提纲挈领: 1.properties属性 我的操作: 1》 2》 3》输出看看效果是不是真的有接收到。 ********************************* ********************************* ********************************* ********************************* **************…

Spring 源码阅读

1. beanFactory The root interface for accessing a Spring bean container. 2. BeanFactoryPostProcessor 对bean定义进行后置处理,比如jdbc类读取配置的密码,用户名等。 3.BeanPostProcessor public interface BeanPostProcessor {Object postProce…

ctfshow--RCE极限挑战

本周ctfshow的挑战注重点为RCE,主要利用是:自增绕过RCE RCE挑战1 属于简单类型 源码 error_reporting(0); highlight_file(__FILE__); $code $_POST[code]; $code str_replace("(","括号",$code); $code str_replace(".&q…

Arcgis使用教程(十一)ARCGIS地图制图之经纬网格设置参数详解

Arcgis地图制图中,经纬网格的添加详细参见: Arcgis使用教程(十)ARCGIS地图制图之经纬网格添加_空中旋转篮球的博客-CSDN博客 1.加载数据 在Arcmap中加载中国矢量图层数据(中国省级行政区图,国界线两个图层…

善于使用二阶思维

事情往往不是你想象的那样,有时候,看似解决了问题,却在不经意间,引发了更严重的后果。帮助我们思考、决策、解决问题的最有效方法是,运用二阶思维。 什么是二阶思维? 一阶思维是单纯而肤浅的,几…

34.nacos客户端读取共享配置文件实例(springcloud)

其他配置环境和上文相同,本实例不再演示 https://blog.csdn.net/weixin_59334478/article/details/127953755?spm1001.2014.3001.5501https://blog.csdn.net/weixin_59334478/article/details/127953755?spm1001.2014.3001.55011.新建共享配置文件,使…

高NA (数值孔径)物镜的分析

高NA(数值孔径)物镜常用于光学显微及光刻,并已广泛在其他应用中得以使用。众所周知,在高数值孔径物镜的使用中,电磁场矢量特性的影响是不可忽略的。一个众所周知的例子就是由高NA(数值孔径)物镜聚焦线性偏振圆光束时,焦斑的不对称…

过控Matlab-实验法建立被控过程的数学模型(一)

太原理工大学过程控制实验之实验法建立被控过程的数学模型 过控Matlab实验法建立被控过程的数学模型实验内容1.利用MATLAB根据作图法建立系统的一阶惯性环节加纯迟延的近似数学模型。2.利用MATLAB根据计算法建立系统的一阶惯性环节加纯迟延的近似数学模型。3.利用MATLAB根据计算…

[附源码]计算机毕业设计JAVA基于JSP社区生鲜配送系统

[附源码]计算机毕业设计JAVA基于JSP社区生鲜配送系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM …

[附源码]java毕业设计网上手机商城

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

驱动开发基础

1、Hello驱动 我们应用程序使用open函数的时候,会调用内核的sys_open函数,然后接下来 1、然后打开普通文件的话会使用文件系统操作硬件, 2、要是打开驱动文件,会使用驱动程序对应的drv_open函数 怎么写驱动程序 我们驱动对应的d…