多小區下小區上行速率的計算(3)

接着爲了確定計算小區速率在空分上出了什麼問題,我們將這種計算小區速率的思想運用到時間同步的方法中來和paper的結果作對比,以便找出其中的問題。

clear;
SNR=0;
result=zeros(1,10);
for i=1:10000
    result1=zeros(1,10);
    pu=10;
    %pr=10db
    pr=10;
    r=-3.8;
    K=15;
    z=0.01;
    d_in=rand(1,K)*0.99+0.01;
    theta_in=rand(1,K)*(2*pi);
    d_out=rand(6,K)*0.99+0.01;
    theta_out=rand(6,K)*(pi);
    for j=1:K
        x=1;
        result2=zeros(1,10);
        for M=50:50:500
            %產生alpha
            beta_of_alpha=zeros(1,7);%總共三個區域
            d1=sqrt(2^2+d_out(1,j)^2-2*2*d_out(1,j)*cos(theta_out(1,j)));
            d2=sqrt(2^2+d_out(2,j)^2-2*2*d_out(2,j)*cos(theta_out(2,j)));
            d3=sqrt(2^2+d_out(3,j)^2-2*2*d_out(3,j)*cos(theta_out(3,j)));
            d4=sqrt(2^2+d_out(4,j)^2-2*2*d_out(4,j)*cos(theta_out(4,j)));
            d5=sqrt(2^2+d_out(5,j)^2-2*2*d_out(5,j)*cos(theta_out(5,j)));
            d6=sqrt(2^2+d_out(6,j)^2-2*2*d_out(6,j)*cos(theta_out(6,j)));
            beta_of_alpha(1)=z*d_in(j)^r;
            beta_of_alpha(2)=z*d1^r;
            beta_of_alpha(3)=z*d2^r;
            beta_of_alpha(4)=z*d3^r;
            beta_of_alpha(5)=z*d4^r;
            beta_of_alpha(6)=z*d5^r;
            beta_of_alpha(7)=z*d6^r;
            alpha_jk=sum(pr*beta_of_alpha*K)+1;
            
            %產生first項
            beta_target_user=z*d_in(j)^r;
            first=pu*pr*beta_target_user^2*K*(M-1)/alpha_jk;
            
            %產生的second項
            second=pu*beta_target_user*(1-pr*beta_target_user*K/alpha_jk);
            
            %產生third項
            third=0;
            for m=2:7
                third1=pu*beta_of_alpha(m)*(1+pr*beta_of_alpha(m)*K*(M-2)/alpha_jk);
                third=third+third1;
            end
%             third=pu*beta_of_alpha(2)*(1+pr*beta_of_alpha(2)*K*(M-2)/alpha_jk)+pu*beta_of_alpha(3)*(1+pr*beta_of_alpha(3)*K*(M-2)/alpha_jk);
            
            %產生forth項,forth項共分爲小區內的干擾和小區間的干擾
            forth_1=sum(pu*z*d_in.^r)-pu*z*d_in(j);
            %注意相鄰小區到本小區的距離的計算
            
            forth_2=sum(sum(pu*z*d_out_ture.^r))-sum(pu*z*d_out_ture(:,j).^r);
%             forth_2=sum(pu*z*d_out_ture(1,:).^r)-pu*z*d_out_ture(1,j)^r;
%             forth_3=sum(pu*z*d_out_ture(2,:).^r)-pu*z*d_out_ture(2,j)^r;
            forth=forth_1+forth_2;
            result2(x)=first/(second+third+forth+1);
            x=x+1;
        end
        result1=result1+result2;
    end
    result=result+result1;
end
result=result/10000;
result0=6/15*log2(1+result);
M=[50:50:500];
plot(M,result0,'x-');
xlabel('Numbers of antennas at BS');
ylabel('Sum rate(bits/symbol)');
hold on;

運行結果表明:確實小於paper中的結果。
在這裏插入圖片描述
新的問題出現了:查找代碼中的問題項。
在這裏插入圖片描述
依然是forth項的問題嗎?

  • 看了代碼,沒有感覺到forth項的代碼有什麼問題
  • 基於第一點,我們可以得到一個結論:在那些距離基站較近的用戶可以有更大的速率
    d的分佈如下:
    在這裏插入圖片描述

在d=0.8148時,我們有result
在這裏插入圖片描述
在d=00651的時候,我們有result
在這裏插入圖片描述
這個值是合理的嗎???
更多謎底等待明天探索。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章