function megaMISO(SNRdB,Nsamples)

%%% Flags 
save_mode = 0;

Nfreq = 20;
% Nsamples = 2000;

% SNRdB=10;
M_Tx=4;
N_Rx=1;
SNR=10^(SNRdB/10);
%%% MMSE regularization factor
mu = M_Tx/SNR;
factor = 0.5*mu;
%%% noise variance
n_p=1/SNR;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Channel generation
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% generate iid channel matrices SU
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


% MU Capacity calculations - 2users
Cap_2U_MMSE_iid=zeros(Nfreq,Nsamples);
Cap_2U_MMSEfactor_iid=zeros(Nfreq,Nsamples);

Users=4;
for k=1:Users
HH_4U_4x1=1/sqrt(2)*complex(randn(N_Rx,M_Tx,Nfreq,Nsamples,k),randn(N_Rx,M_Tx,Nfreq,Nsamples,k));
end
HH_2U_4x1=HH_4U_4x1(:,:,:,:,[1:2]);



for k1=1:Nfreq
    for k2=1:Nsamples
    HS = HH_2U_4x1(:,:,k1,k2,[1:2]);
% HS = squeeze(HS).';
[gain,Cap_2U_MMSE_iid(k1,k2)] = MISO_MMSE(M_Tx,HS,n_p,mu);
[gain_factor,Cap_2U_MMSEfactor_iid(k1,k2)] = MISO_MMSE(M_Tx,HS,n_p,factor);

    end
end


% MU Capacity calculations - 4users
Cap_4U_MMSE_iid=zeros(Nfreq,Nsamples);

for k1=1:Nfreq
    for k2=1:Nsamples
    HS = HH_4U_4x1(:,:,k1,k2,[1:Users]);
% HS = squeeze(HS).';
[gain,Cap_4U_MMSE_iid(k1,k2)] = MISO_MMSE(M_Tx,HS,n_p,mu);
    end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% CDF calculation
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% MU
[Cap_2U_MMSE_iid_f,Cap_2U_MMSE_iid_x] = ecdf(Cap_2U_MMSE_iid(:));
[Cap_2U_MMSEfactor_iid_f,Cap_2U_MMSEfactor_iid_x] = ecdf(Cap_2U_MMSEfactor_iid(:));
[Cap_4U_MMSE_iid_f,Cap_4U_MMSE_iid_x] = ecdf(Cap_4U_MMSE_iid(:));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Plot results
figure(20)
hold off
plot(Cap_4U_MMSE_iid_x,Cap_4U_MMSE_iid_f,'r')
hold on
plot(Cap_2U_MMSE_iid_x,Cap_2U_MMSE_iid_f,'b')
plot(Cap_2U_MMSEfactor_iid_x,Cap_2U_MMSEfactor_iid_f,'k')
ylabel('CDF');
xlabel('Capacity (bits/ch.use)');
legend('MMSE 4x1 4us iid','MMSE 4x1 2 us iid ','MMSE 4x1 2 us iid factor test')
grid on
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%