1 簡介
MIMO(Multiple Input Multiple Output)技術采用多個天線,在相同時頻資源上傳輸信号,能在不增加系統帶寬的前提下提高信道容量,也能在較低的發射功率情形下得以實作。是以,MIMO技術越來越多地受到無線通信研究者的關注,大規模MIMO(Massive MIMO)技術也被應用于5G系統。而無論是在MIMO技術的理論研究階段還是在MIMO系統的應用階段,對MIMO信道模型的研究都是必不可少的。
本文主要研究了MIMO信道模組化,總結了常見的用于仿真的信道模型。在此基礎上,所做的主要研究如下:
(1)深入學習了基于幾何的二維SCM和三維WINNER Ⅱ模型,研究了這兩種模型的模組化算法。對比于二維SCM模型,三維WINNER Ⅱ模型考慮了仰角次元,大尺度參數之間的相關性更加複雜,但其比二維SCM模型更加符合實際信道。
(2)深入學習了基于相關的二維Kronecker和三維Kronecker模型,這兩種模型的模組化算法較為簡單,但也能很好地描述實際信道。三維Kronecker模型由于考慮仰角次元,其相關矩陣的計算比二維Kronecker模型的要複雜。
(3)對上述四種模型算法進行了MATLAB仿真,對比分析了其信道容量和相關性等信道特征。研究發現,三維信道模型的信道容量和空間相關性都比二維信道的更優。不同模型下,宏小區的信道容量都不及微小區。三維 Kronecker模型中,對比于仰角服從高斯分布的系統,仰角服從VMF分布的系統信道容量更大,空間相關性也更好,但在二維 Kronecker模型中兩種分布方式的信道性能并無太大差別。
WINNER項目組織于2005年初對SCM模型進行了一些擴充,建立了SCM擴充模型(SCME,Spatial Channel Model Extended)。随後相繼提出了WINNER模型和WINNER Ⅱ模型。
與二維SCM模型所不同的是,三維WINNER信道模型中考慮了仰角次元的擴充,二維SCM信道模型中的離開角、到達角和角度擴充參數都是針對水準方位角的,引入俯仰角後的三維WINNER信道,天線增益将不僅與方位角有關,也會受到俯仰角的影響。3GPP工作組測量了城市微小區和城市宏小區兩種場景下的不同環境(LOS,NLOS和O-to-I)MIMO信道參數。與上述二維SCM模型所不同的是,三維MIMO信道模型中,每個天線單元都有自己的坐标系(ECS,Element Coordinate System),各天線單元之間的相對位置由陣列坐标系(ACS,Array Coordinate System)來确定,而對于整個收發天線系統,還需要建立一個全局坐标系(GCS,Global Coordinate System)來精準定位每個天線單元.
2 部分代碼
% 生成AoD,ZoD,AoA,ZoA
function [pha_aod_n_m,pha_zod_n_m,pha_aoa_n_m,pha_zoa_n_m,p]=angles(clusterE,clusterD,...
sigma_ASD,sigma_ZSD,sigma_ASA,sigma_ZSA,sigma_DS,N_cluster,N_ray,c_ASD,c_ASA,c_ZSA,m_ZSD,Dsp,Pcs,m_ZSD_offset)
% 輸入
% sigma_ASD:水準離開角角度擴充
% sigma_ZSD:垂直離開角角度擴充
% sigma_DS:時延擴充
% N_cluster:簇數
% N_ray:子徑數
% c_ASD:簇的水準離開角角度擴充
% m_ZSD:垂直離開角角度擴充的mu值
% Dsp:時延縮放參數
% Pcs:每一簇的陰影衰落
% m_ZSD_offset:垂直離開角角度擴充的mu值偏移量
% 輸出
% pha_aod_n_m:每一子徑的水準離開角
% pha_zod_n_m:每一子徑的垂直離開角
% p:N條多徑分量的歸一化功率
% 水準離開角和垂直離開角
if N_cluster == 20,
cnst_AoD = 1.289; % 縮放因子C
cnst_ZoD = 1.178;
cnst_AoA = 1.289;
cnst_ZoA = 1.178;
else % N_cluster=12
cnst_AoD = 1.146;
cnst_ZoD = 1.104;
cnst_AoA = 1.146;
cnst_ZoA = 1.104;
end
% 簇的水準離開角和垂直離開角
c_AoD = c_ASD;
c_ZoD = 3*10^(m_ZSD)/8;
c_AoA = c_ASA;
c_ZoA = c_ZSA;
% 确定N條多徑分量的随機時延
x=rand(1,N_cluster);
tau1 = -Dsp*sigma_DS*log(x);
tau = sort(tau1,'descend');
% 确定N條多徑分量的随機平均功率
z = Pcs*randn(1,N_cluster);
p1 = exp(-tau*(Dsp-1)/(Dsp*sigma_DS)).*10.^(-z/10);
p = p1/sum(p1); % 歸一化,使功率之和為1
MaxP= max(p);
% 生成 AoD p.26
pha_aod1 = 2/1.4/cnst_AoD*sigma_ASD*sqrt(-log(p/MaxP));
Xn = sign(randn(1,N_cluster)); % 值為1和-1的均勻分布
Yn = sigma_ASD/7*randn(1,N_cluster); % Yn分布:N(0,sigma_ASD^2/7^2)
pha_aod = Xn.*pha_aod1+Yn;
pha_aod_n_m = (repmat(pha_aod,N_ray,1)+c_AoD*randn(N_ray,N_cluster))/180*pi+clusterD;
pha_aod_n_m = real(pha_aod_n_m);
pha_aod_n_m=mod(pha_aod_n_m,2*pi);
% 使AoD範圍為0到Pi
index_a = find(pha_aod_n_m>pi);
pha_aod_n_m(index_a)=2*pi-pha_aod_n_m(index_a);
% 生成 ZoD
pha_zod1 = 1/cnst_ZoD*sigma_ZSD*(-log(p/MaxP));
Xn = sign(randn(1,N_cluster));
Yn = sigma_ZSD/7*randn(1,N_cluster);
pha_zod = Xn.*pha_zod1+Yn;
pha_zod_n_m = (repmat(pha_zod,N_ray,1)+c_ZoD*randn(N_ray,N_cluster)+m_ZSD_offset)/180*pi+clusterE;
pha_zod_n_m = real(pha_zod_n_m);
pha_zod_n_m=mod(pha_zod_n_m,2*pi);
index_z = find(pha_zod_n_m>pi);
pha_zod_n_m(index_z)=2*pi-pha_zod_n_m(index_z);
% 生成 AoA
pha_aoa1 = 2/1.4/cnst_AoA*sigma_ASA*sqrt(-log(p/MaxP));
Xn = sign(randn(1,N_cluster));
Yn = sigma_ASA/7*randn(1,N_cluster);
pha_aoa = Xn.*pha_aoa1+Yn;
pha_aoa_n_m = (repmat(pha_aoa,N_ray,1)+c_AoA*randn(N_ray,N_cluster))/180*pi+clusterD;
pha_aoa_n_m = real(pha_aoa_n_m);
pha_aoa_n_m=mod(pha_aoa_n_m,2*pi);
% 使AoA範圍為0到Pi
index_aoa = find(pha_aoa_n_m>pi);
pha_aoa_n_m(index_aoa)=2*pi-pha_aoa_n_m(index_aoa);
% 生成 ZoA
pha_zoa1 = 1/cnst_ZoA*sigma_ZSA*(-log(p/MaxP));
Xn = sign(randn(1,N_cluster));
Yn = sigma_ZSA/7*randn(1,N_cluster);
pha_zoa = Xn.*pha_zoa1+Yn;
pha_zoa_n_m = (repmat(pha_zoa,N_ray,1)+c_ZoA*randn(N_ray,N_cluster))/180*pi+clusterE;
pha_zoa_n_m = real(pha_zoa_n_m);
pha_zoa_n_m=mod(pha_zoa_n_m,2*pi);
index_zoa = find(pha_zoa_n_m>pi);
pha_zoa_n_m(index_zoa)=2*pi-pha_zoa_n_m(index_zoa);
3 仿真結果
編輯
編輯
編輯