不得不说,移动通信的MATLAB实验越来越难了,这才第二次试验,表示上次实验课上什么都没干,感觉其他同学有做的挺快的,然而自己就画出了一层六边形蜂窝,蜂窝不会,复用不会,更别提CCIR了,根本没时间研究,实在是失落至极╮(╯▽╰)╭
明天上午又是实验课,新的实验任务已经出来了,没办法,写了半个上午加半个下午的MATLAB实验,最终算是大体完成了,过程也是一波三折,尤其频率复用的标号,模7运算竟然出现了7,见鬼Q_Q弄过来弄去,午休的时候也在想,想了半天,可能因为六边形里的sqrt(3),然后在计算坐标的时候就出现了各种问题,开始是出现接近于0的小数,我就尝试取整,后来发现一个cluster里有同频的,最后就是上面说的模7运算竟然出现了7,真是懵掉了。。最后用fix向0取整,而且在(u,v)坐标的时候取整,而不是给标号L取整,终于搞定了,蜂窝图大体正确没花很长时间,但是细节上出错让我极其地心烦,因为一直改不对。。
代码虽然不是很长,但需要点数学和逻辑理解,迭代加平移变换之类的。附上改正确之后的代码:
R = 1;dy = sqrt(3)*R;dx = 1.5*R;N = 7;
A = pi/3*[1:7];
yp =[0:dy:100,0:-dy:-100];
xp = [0:dx:100,0:-dx:-100];
for t = 1:1:length(yp)
for m = 1:1:length(xp)
y = sqrt(3)/3*xp(m)+ yp(t);
if -15<xp(m) && xp(m)<15 && -10<y && y<10
plot(xp(m)+1i*y+R*exp(1i*A),'linewidth',1);
L = mod(fix(2*xp(m)/R) + fix(yp(t)/(sqrt(3)*R)),N);
text(xp(m),y,num2str(L),'FontSize',10);
hold on
end
end
end
grid on
axis equal
title('Cell label for 7-cell cluster')
然后是同信道干扰比,由上可发现,N=3 和N=7时第一层的同频小区数均为6(N=3时上述程序稍作修改即可),所以,每个坐标的夹角为60°。首先,需要确定第一个同频小区中心坐标的位置,然后再依次旋转60°即可得到6个同频小区的坐标,然后计算同频小区到MS的距离,再根据公式即可得到CCIR,注意MS到服务基站的距离为0时,需要将距离重新赋值为一个较小的数,否则CCIR为无穷大。主要代码如下所示:
pxy = 0:0.2:R;
for k = 1:length(pxy)
if pxy(k) <exp(-10)
pxy(k) = 0.1;
end
end
co_cell(1) = sqrt(3)*R*m1*exp(i*pi/6) + sqrt(3)*R*exp(i*pi/2);
for t = 2:6
co_cell(t) = co_cell(t - 1)*exp(i*pi/3);
end
sum = 0;
for u = 1:6
sum = abs(co_cell(u) - pxy).^(-alpha) + sum;
end
gamma = pxy.^(-alpha)./sum;
生成的图像如下: