【通信】考慮(配備大型天線陣列)和單天線用戶設(shè)備的大規(guī)模 MIMO 系統(tǒng)附matlab代碼
【通信】考慮(配備大型天線陣列)和單天線用戶設(shè)備的大規(guī)模 MIMO 系統(tǒng)附matlab代碼
TT_Matlab
博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測、信號處理、元胞自動機(jī)、圖像處理、路徑規(guī)劃、無人機(jī)等多種領(lǐng)域的Matlab仿真,完整matlab代碼或者程序定制加qq1575304183。
1 內(nèi)容介紹
由于大大提高了空間分辨率和陣列增益,大規(guī)模天線陣列的使用可以為無線系統(tǒng)帶來能量和/或頻譜效率的顯著提高。大規(guī)模多輸入多輸出 (MIMO) 領(lǐng)域的最新工作表明,當(dāng)基站 (BS) 上的天線數(shù)量增加時,用戶信道會去相關(guān),因此可以在用戶間干擾很小的情況下實現(xiàn)強(qiáng)信號增益。由于這些結(jié)果依賴于漸近,因此研究常規(guī)系統(tǒng)模型在這種漸近狀態(tài)下是否合理是很重要的。本文考慮了一種新的系統(tǒng)模型,該模型在 BS(配備大型天線陣列)和單天線用戶設(shè)備 (UE) 處結(jié)合了通用收發(fā)器硬件損傷。與理想硬件的傳統(tǒng)情況相反,我們表明硬件損傷會在信道估計精度和每個 UE 的下行鏈路/上行鏈路容量上產(chǎn)生有限的上限。令人驚訝的是,容量主要受 UE 的硬件限制,而大規(guī)模陣列中損傷的影響逐漸消失,用戶間干擾(特別是導(dǎo)頻污染)變得可以忽略不計。此外,我們證明了大規(guī)模 MIMO 提供的巨大自由度可用于降低發(fā)射功率和/或容忍更大的硬件損傷,從而允許使用廉價且節(jié)能的天線元件。
2 仿真代碼
%This Matlab script can be used to generate Figure 4, in the article:
%
%Emil Bj鰎nson, Jakob Hoydis, Marios Kountouris, M閞ouane Debbah, 揗assive
%MIMO Systems with Non-Ideal Hardware: Energy Efficiency, Estimation, and
%Capacity Limits,?To appear in IEEE Transactions on Information Theory.
%
%Download article: http://arxiv.org/pdf/1307.2584
%
%This is version 1.0 (Last edited: 2014-08-26)
%
%License: This code is licensed under the GPLv2 license. If you in any way
%use this code for research that results in publications, please cite our
%original article listed above.
%
%Please note that the channels are generated randomly, thus the results
%will not be exactly the same as in the paper.
%Initialization
close all;
clear all;
%%Simulation parameters
rng(’shuffle’); %Initiate the random number generators with a random seed
%%If rng(’shuffle’); is not supported by your Matlab version, you can use
%%the following commands instead:
%randn(’state’,sum(100*clock));
N = 50; %Number of BS antennas
%Compute normalized channel covariance matrix R according to the exponential
%correlaton model in Eq. (17).
correlationFactor = 0.7;
R = toeplitz(correlationFactor.^(0:N-1));
%Maximal pilot length
Bmax = 10;
%Define the level of hardware impairments at the UE and BS
kappatUE = 0.05^2;
kapparBS = 0.05^2;
%Range of SNRs in simulation (we have normalized sigma2 to 1)
SNRdB = [5 30]; %In decibel scale
SNR = 10.^(SNRdB/10); %In linear scale
%%Initialize Monte Carlo simulations
%Number realizations in Monte Carlo simulations
nbrOfMonteCarloRealizations = 100000;
%Generate random realizations
h = sqrtm(R)*(randn(N,nbrOfMonteCarloRealizations)+1i*randn(N,nbrOfMonteCarloRealizations))/sqrt(2); %Generate channel realizations
etatBS = (randn(1,nbrOfMonteCarloRealizations,Bmax)+1i*randn(1,nbrOfMonteCarloRealizations,Bmax))/sqrt(2); %Generate distortion noise at transmitter (to be scaled by kappatUE)
etarUE = ( repmat(abs(h),[1 1 Bmax]) .* (randn(N,nbrOfMonteCarloRealizations,Bmax)+1i*randn(N,nbrOfMonteCarloRealizations,Bmax)))/sqrt(2); %Generate distortion noise at receiver (to be scaled by kapparBS)
nu = (randn(N,nbrOfMonteCarloRealizations,Bmax)+1i*randn(N,nbrOfMonteCarloRealizations,Bmax))/sqrt(2); %Generate receiver realizations
%Placeholders for storing simulation results
normalizedMSE_corr_distortion = zeros(length(SNR),Bmax); %Normalized MSE for estimator in Eq. (15) for fully correlated distortion noise
normalizedMSE_uncorr_distortion = zeros(length(SNR),Bmax); %Normalized MSE for estimator in Eq. (15) for uncorrelated distortion noise
normalizedMSE_ideal = zeros(length(SNR),Bmax); %Normalized MSE for LMMSE estimator with ideal hardware
%Go through SNR values
for m = 1:length(SNR)
%Output the progress of the simulation
disp([’SNR: ’ num2str(m) ’/’ num2str(length(SNR))]);
%Compute the pilot signal for the given SNR value
d = sqrt(SNR(m));
%Go through different pilot lengths
for B = 1:Bmax
%Compute matrix A in the LMMSE estimator (see Eq. (9))
A_LMMSE = conj(d) * R(1:N,1:N) / (abs(d)^2*(1+kappatUE)*R(1:N,1:N) + abs(d)^2*kapparBS*diag(diag(R(1:N,1:N)))+eye(N));
%Compute matrix A in the LMMSE estimator (see Eq. (9)) for ideal hardware
A_ideal = conj(d) * R(1:N,1:N) / (abs(d)^2*R(1:N,1:N) +eye(N));
%Placeholders for storing squared estimation errors at current SNR
errors_corr_distortion = zeros(nbrOfMonteCarloRealizations,1);
errors_uncorr_distortion = zeros(nbrOfMonteCarloRealizations,1);
errors_ideal = zeros(nbrOfMonteCarloRealizations,1);
%Go through all Monte Carlo realizations
for k = 1:nbrOfMonteCarloRealizations
%Compute received signals
z_corr = h(1:N,k) * ( d + abs(d)*sqrt(kappatUE)*etatBS(1,k,1) ) + abs(d)*sqrt(kapparBS)*etarUE(1:N,k,1) + sum(nu(1:N,k,1:B),3)/B;
z_uncorr = h(1:N,k) * ( d + abs(d)*sqrt(kappatUE)*sum(etatBS(1,k,1:B),3)/B ) + abs(d)*sqrt(kapparBS)*sum(etarUE(1:N,k,1:B),3)/B + sum(nu(1:N,k,1:B),3)/B;
z_ideal = h(1:N,k) * d + sum(nu(1:N,k,1:B),3)/B;
%Compute channel estimates
hhat_corr = A_LMMSE*z_corr;
hhat_uncorr = A_LMMSE*z_uncorr;
hhat_ideal = A_ideal*z_ideal;
%Compute the squared norms of the channel estimation errors
errors_corr_distortion(k) = norm(hhat_corr - h(1:N,k)).^2/N;
errors_uncorr_distortion(k) = norm(hhat_uncorr - h(1:N,k)).^2/N;
errors_ideal(k) = norm(hhat_ideal - h(1:N,k)).^2/N;
end
%Compute normalized MSEs as the average of the squared norms of the
%estimation errors over the Monte Carlo realizations
normalizedMSE_corr_distortion(m,B) = mean(errors_corr_distortion);
normalizedMSE_uncorr_distortion(m,B) = mean(errors_uncorr_distortion);
normalizedMSE_ideal(m,B) = mean(errors_ideal);
end
end
%Plot Figure 4 from the paper
figure; hold on; box on;
for m = 1:length(SNR)
plot(1:Bmax,normalizedMSE_corr_distortion(m,:),’ro-’,’LineWidth’,1);
plot(1:Bmax,normalizedMSE_uncorr_distortion(m,:),’bd-.’,’LineWidth’,1);
plot(1:Bmax,normalizedMSE_ideal(m,:),’k*--’,’LineWidth’,1);
end
set(gca,’YScale’,’log’);
xlabel(’Pilot Length (B)’);
ylabel(’Relative Estimation Error per Antenna’);
legend(’Fully-Correlated Distortion Noise’,’Uncorrelated Distortion Noise’,’Ideal Hardware’,’Location’,’NorthEast’);
3 運(yùn)行結(jié)果
4 參考文獻(xiàn)
[1] Bjornson E , Hoydis J , Kountouris M , et al. Massive MIMO Systems With Non-Ideal Hardware: Energy Efficiency, Estimation, and Capacity Limits[J]. IEEE Transactions on Information Theory, 2013, 60(11):7112-7139.
博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測、信號處理、元胞自動機(jī)、圖像處理、路徑規(guī)劃、無人機(jī)等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問題可私信交流。
部分理論引用網(wǎng)絡(luò)文獻(xiàn),若有侵權(quán)聯(lián)系博主刪除。
-
2023年各省最新電價一覽!8省中午執(zhí)行谷段電價! 2023-01-03
-
PPT導(dǎo)出高分辨率圖片的四種方法 2022-09-22
-
全國消防救援總隊主官及簡歷(2023.2) 2023-02-10
-
盤點(diǎn) l 中國石油大慶油田現(xiàn)任領(lǐng)導(dǎo)班子 2023-02-28
-
我們的前輩!歷屆全國工程勘察設(shè)計大師完整名單! 2022-11-18
-
關(guān)于某送變電公司“4·22”人身死亡事故的快報 2022-04-26
