Search Search Any Topic from Any Website Search
MATLAB Code close all; clear; rng('shuffle'); clc; % Simulation parameters t = 32; % Number of Tx/Rx Antennas r = 32; % Number of Tx/Rx Antennas numRF = 6; % Number of RF Chains G = 64; % Grid Size L = 8; % Grid Size Ns = 6; % Sparsity level ITER = 100; % Number of iterations % Initializations H = zeros(r,t); % Channel matrix SNRdB = -5:1.5:15; % SNR in dB C_HYB = zeros(length(SNRdB), 1); % Capacity of Hybrid MIMO C_MIMO = zeros(length(SNRdB), 1); % Capacity of Conventional MIMO A_T = zeros(t, G); % Transmit response matrix A_R = zeros(r, G); % Receive response matrix % Generate transmit array response matrix for l = 1:G dirCos = 2/G*(l-1) - 1; % Direction cosine for each grid point for K = 1:t A_T(K, l) = 1/sqrt(t) * exp(-j*pi*(K-1)*dirCos); end end % Assume A_R = A_T for simplicity A_R = A_T; % Main simulation loop for iter1 = 1:ITER % ===== Channel Generation ===== A_T_genie = zeros(t, L); A_R_genie = zeros(r, L); % Generate AoD/AoA uniformly in grid AoDlist = ran...