【LTE】LTEMIMO系统的MATLAB仿真
生活随笔
收集整理的這篇文章主要介紹了
【LTE】LTEMIMO系统的MATLAB仿真
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
clc;
clear;
close all;
warning off;RandStream.setDefaultStream(RandStream.create('mt19937ar','seed',1));
%定義2*2天線
M = 2;
N = 2;
% Pt = 14;%發射功率
% Gt = 64;%發送天線的增益
% Gr = 64;%接收天線的增益
% R = 0.6;%小區半徑
% Phatloss = 128.1 + 37.6*log10(R);%路徑損耗
% Shadowfading = 8;%陰影衰落
% PN = 5;%噪聲功率
% SNRs = Pt + Gt + Gr - Phatloss - Shadowfading - PN;
SNRs = 10;
tc = 10;
Num_user = 24;
sel = 1;%1,2,3,4,選擇四種不同的方法進行仿真
sel2 = 0;%0直接出圖,1進行逐個仿真if sel2 == 1for j=1:Num_userj%計算第一個用戶的相關值In_index = zeros(1,10*j);though_Output = zeros(1,10*j);though_Input = zeros(1,10*j);SNR = SNRs*rand(1,10*j);%調用調度函數if sel == 1[H,number] = func_No_Scheduling(10*j,M,N);endif sel == 2[H,number] = func_Random_Paring_Scheduling(10*j,M,N);end if sel == 3[H,number] = func_Orthogonal_Paring_Scheduling(10*j,M,N);end if sel == 4[H,number] = func_Determinant_Paring_Scheduling(10*j,M,N);end %基于MMSE的接收 [M,Nes] = func_MMSE_receiver(H,SNR(number));sirer = zeros(1,10*j);sirer(number) = log2(1+Nes);[though_Output,indexout,uenow]=func_calc(sirer,though_Input,tc,In_index,number); though_Input = though_Output;In_index = indexout;S(1) = sum(log2(1+Nes));%計算其余用戶的相關值for k=2:10*jM = 2;H = zeros();%調用調度函數 if sel == 1[H,number] = func_No_Scheduling(10*j,M,N);endif sel == 2[H,number] = func_Random_Paring_Scheduling(10*j,M,N);end if sel == 3[H,number] = func_Orthogonal_Paring_Scheduling(10*j,M,N);end if sel == 4[H,number] = func_Determinant_Paring_Scheduling(10*j,M,N);end %基于MMSE的接收 [M,Nes] = func_MMSE_receiver(H,SNR(number));sirer = zeros(1,10*j);sirer(number) = log2(1+Nes);[though_Output,indexout,uenow]=func_calc(sirer,though_Input,tc,In_index,number);though_Input = though_Output;In_index = indexout;S(k) = sum(log2(1+Nes));endfair(j) = sum(though_Output)^2/(length(though_Output)*sum(though_Output.^2));%計算信道容量SNR_Linear = 10^(SNRs/10);Capacity(j) = 0.5 * log10(1 + (SNR_Linear * sum(abs(fair(j))))); end%根據信道容量計算CDF值CDFs=func_CDF(Capacity,Num_user);if sel == 1save data0.mat CDFsendif sel == 2save data1.mat CDFsend if sel == 3save data2.mat CDFsend if sel == 4save data3.mat CDFsend
elseload data0.matfigureplot(1:0.5:12,CDFs,'k','LineWidth',2);grid onhold on;load data1.matplot(1:0.5:12,CDFs,'b','LineWidth',2);grid onhold on;load data2.matplot(1:0.5:12,CDFs,'r','LineWidth',2);grid onhold on;load data3.matplot(1:0.5:12,CDFs,'g','LineWidth',2);grid onhold on;axis([1,12,0,1]);legend('Receive Diverse','Random Pairing','Orthogonal Pairing','Determinant Pairing');xlabel('Thoughout');ylabel('CDF');
end
這里,主要是對論文最后的四個圖進行仿真,下面一一對四個圖的仿真進行介紹:
Figure3:
??? 下面在MATLAB中給出這個圖的仿真:
??? 從上面的仿真結果可以看到,采用行列式配對的方法后的系統容量大于采用正交配對后的系統容量大于隨機配對后的信道容量,而直接傳輸方法的系統容量最小。
Figure4:
??? 下面在MATLAB中給出這個圖的仿真及對應的分析:
??? 從上面的仿真結果可以看到,配對的PF方法的容量大于配對的RR方法的容量大于一般PF方法大于一般RR方法。
Figure5:
??? 下面在MATLAB中給出這個圖的仿真及對應的分析:
??? 從上面的仿真結果可知,當用戶到達率標高的時候,PF算法具有最大的丟包率,其次為RR算法,然后是配對后的PF算法,配對后的RR算法丟包率最低。
Figure6:
??? 下面在MATLAB中給出這個圖的仿真及對應的分析:
從上面的仿真結果可知,采用全配對的方法,可以獲得較大的數據吞吐量,但是其數據丟失率也較大,所以設計了基于SINR的配對算法,這樣可以根據實際的噪聲等干擾因素的影響來進行合理的配對。由于仿真較慢,所以仿真的點數較少,所以看起來不是很平滑。
A01-39
總結
以上是生活随笔為你收集整理的【LTE】LTEMIMO系统的MATLAB仿真的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于simulink的QAM-WIMAX
- 下一篇: 【Efficient-Net】基于Eff