1、 重庆交通大学信息科学与工程学院 综合性设计性实验报告 专 业: 通信工程专业11级 学 号: 63106040114 姓 名: 宋伟锋 实验所属课程:第三代移动通信及其演进技术 实验室(中心): 软件与通信实验中心 指 导 教 师 : 吴仕勋 2014年3月 教师评阅意见: 签名: 年 月 日 实验成绩: 一、题目 第三
2、代移动通信的功率控制 二、仿真要求 要求1:简单仿真内环功率控制的思想,并仿真比较PCA1和PCA2两种算法的性能。 要求2: 画出横坐标为用户个数,纵坐标为均方根误差的对比图。 三、仿真方案详细设计 功率控制:其目的是确保发射机输出合适的发射功率,使得到达接收端的信号强度大致相同,尽量降低对其他信道的干扰,进而提高系统容量。CDMA系统中还存在所谓的“远近效应”、“边缘问题”的影响,同时由于移动信道是一个衰落信道,要求功率控制可以随着信号的起伏快速改变发射功率,使接收电平由起伏变得平坦。 功率控制分为前向与反向功率控制,反向功率控制又分为开环功率控制和闭环功率控制,闭环
3、功率控制细分为外环功率控制和内环功率控制。 内环功率控制:具体来说,内环功率控制是指接收端通过测量,得到信噪比SIRest的估计值,然后将此估计值SIRest与外环功率控制输出的目标信噪比SIRtarget进行比较,产生功率控制命令TPC,这个命令通过无线信道传到发送端,发射端根据此命令在开环功率控制设定的功率值基础上调整某一功率值。 具体设计思路: 3GPP协议中上行DPCCH链路的内环功控可以采取两种算法(PCA1或PCA2)。 内环功控的参数设置 其主要参数为功率控制步长△tpc、功率速度freq、动态范围userNum、目标信噪比SIRO和周期simTim。此处我们将其
4、设置为G=0.7; I=2.5; SIRO=7; simTime=1; freq=1500; iter= freq * s imTime;userNum=5:20。 PCA1算法函数PCA1(G,I,SIRO,iter,user_num,ini_power) 通过式SIR(:,k)=G*power(:,k)/I计算每个时隙的信噪比,依次将目标信噪比与得到的每时隙信噪比估计值SIR做比较,若估计值大于目标信噪比,产生的功率控制命令TPC=0,TCP_cmd=-1,表示上下行发射功率应减小步长△tpc,若估计值小于目标信噪比,产生的功率控制命令TPC=1,T
5、PC_cmd=1,表示上下行发射功率应增长步长△tpc,依次迭加处理TPC命令,完成PCA1的算法,利用式powerControlError=sqrt(mean(sum(1/user_num*(SIR-SIRO).^2)))计算均方根的误差。 PCA2算法函数PCA2(G,I,SIRO,iter,user_num,ini_power) 与PCA1算法一致求的每个时隙信噪比的估计值,信噪比估计值与目标值的关系对功控命令TPC的影响也是一致的,不同的是:在PCA2算法中,是以5个时隙为单位进行功控。将每帧划分成3组(每5个slot一组),在每组的前4个slot,功率保
6、持不变,在第5个slot,硬判决这5个slot的TPC命令,因此可以得到编码,当TPC(t,5*floor(k/5)-4:5*floor(k/5)-1)==zeros(1,4)时,合成命令TPC_cmd=-1,发射功率应减小步长△tpc,当TPC(t,5*floor(k/5)-4:5*floor(k/5)-1)==ones(1,4)时,TCP_cmd=1,发射功率应增长步长△tpc,否则,△tpc=0,即上下行发射功率不变。再者与PCA1算法同样的合并处理TPC命令和计算均方跟误差。 ④以用户个数为横坐标,均方根误差为纵坐标,针对PCA1和PCA2这两种算法观察对比图,分析并得
7、出结论。 四、仿真结果及结论 结论:上图中蓝色的折线为算法PCA1的均方根误差随着用户个数的变化情况,绿色的折线为算法PCA2的均方根误差随着用户个数的变化情况,如图所示,很直观的可以看出随着用户个数在一定范围内的变化,算法PCA1的均方根误差小于算法PCA2的均方根误差,即内环功率控制中算法PCA1的性能优于算法PCA2。 五、总结与体会 通过此次实验,让我学习到了有关功率控制的知识,我们知道如果多址干扰达到一定的程度,系统就不能正常工作,这将限制同时通话的用户数量,即系统容量。此处的功率控制即是提高系统容量的一种方法。在本次实验中,我们重点掌握了内环功率控制的过程与思
8、想,包括其两种算法PCA1和PCA2。 这里,我们首先对内环功率控制的原理有了一定的了解,大致为将在接收端得到的信噪比估计值与预置的目标信噪比相比,产生功率控制命令TPC以缩小测量值与标值的差距。在这个大前提下,我们深究了内环功控中的两种算法并通过仿真对比,总结出其各自的特点。 TPC指令处理算法1即PCA1是针对每个时隙进行的功控调整,TPC指令算法2即PCA2则是每5个时隙进行调整一次,并且UE将以5个时隙为单位处理接收到的TPC指令,在对均方根误差的一个对比后,我们进一步了解到PCA1的性能优于PCA2。 在大致理解了本实验原理之后,再进一步对代码进行构思与分析,就来的轻松容易了。
9、当然本实验不仅让我进一步熟悉MTALAB的语言环境,更是锻炼了自己的一种编程思维,熟能生巧。 六、 主要仿真代码 主函数: clear all; clc; G=0.7; I=2.5; SIRO=7; %目标信噪比 simTime=1; %周期 freq=1500; %功率速度 iter=freq*simTime; userNum=5:20; %用户个数 powerControlError1=zeros(1,length(userNum)); powerControlError2=zeros(1,length(userNum)); fo
10、r i=1:length(userNum) user_num=userNum(i); power=randint(user_num,1,[-10 10])+25; powerControlError1(i)=PCA1(G,I,SIRO,iter,user_num,power); %进行PCA1算法 powerControlError2(i)=PCA2(G,I,SIRO,iter,user_num,power); %进行PCA2算法 end plot(5:20,powerControlError1,'-s',5:20,powerControlE
11、rror2,'-h') xlabel('用户的个数') ylabel('均方根的误差') PCA1算法函数 function [powerControlError,power]=PCA1(G,I,SIRO,iter,user_num,ini_power) power=zeros(user_num,iter+1); power(:,1)=ini_power; for k=1:iter SIR(:,k)=G*power(:,k)/I; %测量得到的信噪比 for t=1:user_num if SIR(t,k)>=SIRO %比较
12、测量值和目标值 TPC(t,k)=0; TPC_cmd=-1; %应减小步长 deltaP=1; else TPC(t,k)=1; TPC_cmd=1; %应增长步长 deltaP=1; end power(t,k+1)=power(t,k)+TPC_cmd*deltaP; end end powerControlError=sqrt(mean(sum(1/u
13、ser_num*(SIR-SIRO).^2))); %计算均方根误差 PCA2算法函数 function [powerControlError,power]=PCA2(G,I,SIRO,iter,user_num,ini_power) power=zeros(user_num,iter+1); power(:,1)=ini_power; for k=1:iter SIR(:,k)=G*power(:,k)/I; for t=1:user_num if SIR(t,k)>=SIRO TPC(t,k)=0;
14、 else TPC(t,k)=1; end if mod(k,5)==0 deltaP=1; if TPC(t,5*floor(k/5)-4:5*floor(k/5)-1)==zeros(1,4) %每5个时隙为单位处理TPC TPC_cmd=-1; elseif TPC(t,5*floor(k/5)-4:5*floor(k/5)-1)==ones(1,4) TPC_cmd=1; else TPC_cmd=0; end power(t,k+1)=power(t,k)+TPC_cmd*deltaP; else power(t,k+1)=power(t,k); end end end powerControlError=sqrt(mean(sum(1/user_num*(SIR-SIRO).^2)));
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818