how to calculate outage probability
snr_db= [-15:35]
nr_of_bits = 2^10;
iterations = 1000;
snr_linear = 10.^(snr_db/10);
BER = zeros(1,size(snr_db,2));
for iSNR =1:size(snr_db,2)
sigma=1/sqrt(snr_linear(iSNR));
for i=1:iterations
transmit_bit =round(rand(1,nr_of_bits))*2-1;
h = complex(randn(1,nr_of_bits),randn(1,nr_of_bits));
noise = 1/sqrt(2)*[randn(1,nr_of_bits)+1j*randn(1,nr_of_bits)]*sigma;
received_bits = h.*transmit_bit + noise;
estmtd_h = conj(h);
detected_bits = ((received_bits.*estmtd_h)>=0)*2-1;
nr_of_errors= sum(not(detected_bits == transmit_bit));
BER(iSNR) = BER(iSNR)+ nr_of_errors;
end
BER(iSNR) = BER(iSNR) ./iterations./nr_of_bits;
end
semilogy(snr_db,BER)