资源简介
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、模糊熵增强算法
相关资源
- 多目标跟踪 论文+代码
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- MPC路径跟踪
-
Fuzzysimuli
nk有关模糊PID问题概述-自适 -
基于Simuli
nk的电动助力转向控制策略 - OFDM_and_MC-CDMA_for_Broadband_Multi-User_Comm
- 粒子群算法优化pid源码 matlab仿真.ra
-
瑞利信道simuli
nk仿真模型及源代码 -
Matlab+Simuli
nk-cmi、miller、双相码 -
MATLAB/simuli
nk短路电流仿真 - 二连杆系统独立PD控制和PD+重力补偿控
-
PLLsimuli
nk仿真模型 -
simuli
nk锁相环仿真 - 冲击电压发生器MATLAB仿真,主要是单
-
跳频通信仿真simuli
nk包含程序和线路 - 高压直流输电系统的滤波器设计及仿
-
Simuli
nk TI C2000 DSP 硬件支持包离线安 - 高压直流输电系统的滤波器设计及S
-
同步发电机Matlab/simuli
nk仿真 -
simuli
nk三电平背靠背变流器控制永磁 - madgwick_传感器融合算法_matlab
- 单连杆系统独立PD控制和PD+重力补偿控
-
simuli
nk中的UWB和6轴imu融合算法程序 - 基于数字电路的交通红绿灯设计 mul
- matlab开发-MuellerStokesJonesCalculus
-
基于Simuli
nk的车辆行驶液压系统仿真 - MIMO-OFDM无线通信技术及MATLAB实现
-
飞控simuli
nk仿真.zip - 多任务高斯过程模型 Matlab工具箱 包括
- 优化的基于不定频滞环的SVPWM控制si
评论
共有 条评论