amana
Newbie level 1

Hi all
I have code for single link (source- destination) using QAM simulation to produce BER curve. however I need to add relay node between source and destination and produce BER curve. can anyone help me with this please
here is the code (matlab)
Thanks in advance
I have code for single link (source- destination) using QAM simulation to produce BER curve. however I need to add relay node between source and destination and produce BER curve. can anyone help me with this please
here is the code (matlab)
Code:
M = 16; % Size of signal constellation
k = log2(M); % Number of bits per symbol
n = 10^6; % Number of bits to process
nSyms = n/k; % Number of symbols
hMod = modem.qammod(M); % Create a 16-QAM modulator
hMod.InputType = 'Bit'; % Accept bits as inputs
hMod.SymbolOrder = 'Gray'; % Accept bits as inputs
hDemod = modem.qamdemod(hMod); % Create a 16-QAM based on the modulator
x = randi([0 1],n,1); % Random binary data stream
tx = modulate(hMod,x);
EbNo = 0:10; % In dB
SNR = EbNo + 10*log10(k);
rx = zeros(nSyms,length(SNR));
% Simulation bit error rate
bit_error_rate = zeros(length(SNR),1);
for i=1:length(SNR)
rx(:,i) = awgn(tx,SNR(i),'measured');
end
% Demodulation
rx_demod = demodulate(hDemod,rx);
for i=1:length(SNR)
[num,bit_error_rate(i)] = biterr(x,rx_demod(:,i));
end
% fprintf('\nThe Gray coding bit error rate = %5.2e, based on %d errors\n', ...
% bit_error_rate(i), num)
% Theoritical bit error rate
theoryBer = (1/k)*3/2*erfc(sqrt(k*0.1*(10.^(EbNo/10))));
figure;
semilogy(EbNo,theoryBer,'ro-',EbNo, bit_error_rate, 'b*');
grid on;
legend('theory', 'simulation ');
xlabel('Eb/No, dB');
ylabel('Bit Error Rate');
title('Bit error probability curve for 16-QAM modulation');