資源簡介
Channel Inversion for Multiuser MIMO with MMSE criteria. It picks 4 active users out of 20 users and make a MU-MIMO layout for Multi-user operation.
代碼片段和文件信息
%?multi_user_MIMO.m
clear?all;?clc;?clf
mode=1;?%?Set?0/1?for?channel?inversion?or?regularized?channel?inversion
N_frame=20?
N_packet=80?%?Number?of?frames/packet?and?Number?of?packets
b=2?%?
NT=2?%?No?of?Tx?Antennas
N_user=2?%?Total?users
N_act_user=2?%Active?users?are?4
I=eye(N_act_userNT)?%?4?x?4?Eye?matrix?generation?(Active?users?x?Tx?Antennas)
N_pbits?=?N_frame*NT*b?%?Number?of?bits?in?a?packet
N_tbits?=?N_pbits*N_packet?%?Number?of?total?bits
SNRdBs?=?[0:5:30]?%?SNR?range
sq2=sqrt(2)??%?square?root?of?2
for?i_SNR=1:length(SNRdBs)
SNRdB=SNRdBs(i_SNR)?;
N_ebits?=?0?;
rand(‘seed‘1)?;
randn(‘seed‘1);
sigma2?=?NT*0.5*10^(-SNRdB/10)?;
sigma?=?sqrt(sigma2);
for?i_packet=1:N_packet
msg_bit?=?randint(1N_pbits);?%?Bit?generation
symbol?=?QPSK_mapper(msg_bit).‘?;%?bits?to?symbols
x?=?reshape(symbolNTN_frame);?%?arranging?sysmbols
for?i_user=1:N_user
H(i_user:)?=?(randn(1NT)+j*randn(1NT))/sq2;?%?ith?user?channel?(one?by?one)
Channel_norm(i_user)=norm(H(i_user:));?%?norm?calculation?(one?by?one)
end
[Ch_normIndex]=sort(Channel_norm‘descend‘);
H_used?=?H(Index(1:N_act_user):);
temp_W?=?H_used‘*inv(H_used*H_used‘+(mode==1)*sigma2*I);
beta?=?sqrt(NT/trace(temp_W*temp_W‘));?%??Beta=underroot(No?of?tx?antannas/trace?of?inv(H)*(inv(H))^H
W?=?beta*temp_W;???%??Beta?into?MMSE?matrix?it?is?used?to?distribute?equal?power?to?tx?antennas
Tx_signal?=?W*x;?%?Pre-equalized?signal?at?Tx
%%%%%%%%%%%%%?Channel?and?Noise?%%%%%%%%%%%%%
Rx_signal?=?H_used*Tx_signal?+?...
sigma*(randn(N_act_userN_frame)+j*randn(N_act_userN_frame));
%%%%%%%%%%%%%%?Receiver?%%%%%%%%%%%%%%%%%%%%%
x_hat?=?Rx_signal/beta;??%Rx?signal?is?divided?by?Beta
symbol_hat?=?reshape(x_hatNT*N_frame1);
symbol_sliced?=?QPSK_slicer(symbol_hat);
demapped=QPSK_demapper(symbol_sliced);
N_ebits?=?N_ebits?+?sum(msg_bit~=demapped);
end
BER(i_SNR)?=?N_ebits/N_tbits
end
semilogy(SNRdBsBER‘-o‘‘LineWidth‘2)?grid?on
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1945??2012-10-19?08:41??Matrix_inversion_Multiuser_MIMO\Matrix_inversion_Pre_coding_debug.m
?????文件????????214??2012-10-04?10:12??Matrix_inversion_Multiuser_MIMO\QPSK_demapper.m
?????文件????????198??2012-10-04?10:10??Matrix_inversion_Multiuser_MIMO\QPSK_mapper.m
?????文件????????282??2012-10-04?10:11??Matrix_inversion_Multiuser_MIMO\QPSK_slicer.m
?????目錄??????????0??2012-10-19?08:42??Matrix_inversion_Multiuser_MIMO
-----------?---------??----------?-----??----
?????????????????2639????????????????????5
- 上一篇:Cancerdetection
- 下一篇:pal-King、模糊熵增強算法
評論
共有 條評論