Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Massive MIMO Partial LSE

  1. Apr 9, 2015 #1
    I am not seeing why my curve is not smooth. I normalized the data so it is not due to that. The partial LSE just assumes all other channels are part of the noise term (i.e. it performs worse than the full LSE model).

    Code (Text):

    clear all;
    close all;
    clc;

    %Parameters
    M = 5; %base station antennas
    K = 8; %number of users
    tau = 4; %pilot length
    SNR = 1:30; %range of SNR
    TRIALS = 10000;
    MSE = 0;

    %pilots
    % s_i = randn(tau, K);
    % s_i = ones(tau, K); %all pilot sequences are non ortho
    % s_i = 2*(randi(2, tau, K)-1) -1;
    % s_i = s_i/tau;
    % s_i = randi(2, tau, K) -1;
    s_i = [1, 1, 1, 1, 1, 1, 1, 1;
      1, 1, 1, 1, -1, -1, -1, -1;
      1, 1, -1, -1, 1, 1, -1, -1;
      1, -1, 1, -1, 1, -1, 1, -1;]

    % s_i = triu(s_i)
    % for j = 1:K
    %  v = s_i(:, j);
    %  for i = 1:j-1
    %  R(i, j) = Q(:,i)'* s_i(:,j);
    %  v = v - R(i, j)*Q(:,i);
    %  end
    %  R(j,j) = norm(v);
    %  Q(:, j) = v/R(j,j);
    %  
    % end



    for i = 1:K
      S_i(:, : , i) = kron(s_i(:,i), eye(M));
    end

    for n = 1:size(SNR, 2);
     
      for t = 1:TRIALS

      %channel vector (not needed based on model)
      h_i = randn(M, K);

      %noise vector
      z_i = 1/(sqrt(SNR(n)*2))*(rand(tau*M, 1) + 1i * rand(tau*M, 1));
     
      %MSE
      p_wbe = (K - tau)/((K-1)*tau); %using WBE, (roe_ij)^2
      sum_hj = sum(h_i(:,2:end),2);
      MSE_t = p_wbe*sum_hj + S_i(:, :, 1).'*z_i;
      MSE_t = norm(MSE_t)^2;
      MSE(TRIALS, n) = MSE_t;
      end %end Trials


    end %end SNR

    MSE = sum(MSE,1)/TRIALS
    MSE_dB = 10*log10(MSE)

    figure, plot(MSE)
    figure, plot(MSE_dB)
     
     
    Last edited by a moderator: Apr 9, 2015
  2. jcsd
  3. Apr 12, 2015 #2

    Baluncore

    User Avatar
    Science Advisor

    Welcome to PF.
    I am sure that all here thank you for your confidence in our ability to guess what you are doing but;
    What is a massive MIMO ?
    What is a partial LSE ?
    In what language did you write your code ?
     
  4. Apr 12, 2015 #3

    donpacino

    User Avatar
    Gold Member

    Looks like matlab.
    I'm guessing MIMO is multi input multi output?

    thestrong, can you tell us more about the application and what you expect to see and why?
    also not everyone has matlab so it might be useful to post the graphs
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook