欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

移动边缘计算卸载MATLAB仿真【源码】

程序员文章站 2022-06-01 16:24:08
...

之前看了一个移动边缘计算的三级卸载方案,然后打算做一个仿真
由于文中涉及的变量和公式过多,导致仿真异常难做
这里整理出几个问题和大家一起讨论,一个月后,博主会附上完整版matlab源码。

#include<stdio.h>
#inlcude<math.h>
int main()
{
#定义大基站结构体MBS
int mbs[50];
int sbs[50];
int Pr=4//MEC服务器的计算能力是4GHZ/s
double Pl[i]=random(0.11//用户的计算能力是0.1-1
int Rr=1//MEC服务器的能耗是1W/GHZ
float Fai=0.0001//回传时延系数fa=0.0001秒/KB
int d[50]=random(300,800)
float c[50]=random(0.1,1)
float dead[50]=random(0.5,1)
int el[i];
#下面是假设的系数#
pm、gm//大基站的信道增益和传输功率未知-------------------思考一个问题:基站上的每个信道是否不同
ps、gs//小基站的信道增益和传输功率未知
rou=-100//背景噪声功率dBm
I//彼此信道干扰
#临时筛选用的数组#
GR[50]
GL[50]
GO[50]

/*class mbs:
    def __init__(self):
        self.rate = 0  # 传输速率
        self.than = 0  # 信噪比
        self.time = 0  # 时间
*/		

int Pr=1 #(fr)MEC的计算能力,是一个常数
mb = pm*gm/(I+rou*rou)#信噪比
mr = w*log(2,1+mt)#速率
mt = d[i]/mr+c[i]/Pr#传输时间

####同理可得####
sb
sr
st=d[i]/sr+c[i]/Pr+d[i]*Fai


########第一级卸载机制########
for(i=0,j=0,k=0,l=0;i<=49;i++{
tl[i]=c[i]/Pl
if(tl>dead[i])
GR[j++]=i;

else if(tl<=dead[i])
{
int nm=di/((dead[i]-ci/pl[i])*(wlong2,(1+pm*gm/(rou*rou))))	
int ns=di/((dead[i]-ci/pl[i]-d[i]*Fai)*(wlong2,(1+ps*gs/(rou*rou))))
int min=minimize(pm*nm,ps*ns)//缺少的数据:pm[i];gm[i];ps[i];gs[i];el[i]
if(e[i]<min)
Gl[k++]=i;
}
	
else
{GO[l++]=i;
}

########第二级卸载机制########
int m;##系数m未知,大小需要假设出来
int G0[25];
int Ai,hm,hs

#每个任务计算mb sb
for(i=0;i<50;i++)
{
	for(k=0;k<50;k++){
	if(mb>=m)
		hm++;
	if(sb>=m)
		hs++;
	}
}

#每个任务计算h
for(i=0;i<50;i++){
if(hm>=hs)
{int h[i]=hm;
p[j]=h[i];
j=i;}

else
{h[i]=hs;
p[j]=h[i];
j=i;
}
}

for(i=0;i<=50;i++)
{
en=el[i]-c[i]*Rr
p[i]=t1*(dead[i]/sum(dead[i]))+t2*(h[i]/sum(h[i]))+t3*(sum(en)/en)	
}	
#排序p[i]

#
#WARNING:想要进行下一步动作,还得让每一个i对应相应的设备i(用一步结构体)
#而且GR有最高的优先级,先选择信道,剩下的信道再留给GO进行选择
#

########第三级卸载机制########
for(i=0;i<50;i++{
if((pm/mr>=ps/sr)&&(e[i]<el))#还是先把ps pr规定好了

}
相关标签: 边缘计算