tomatokid
Newbie level 6
Hi all.. I have the following codes for plotting the BER of a fading channel, with diversity of order 2...
Something seems to be wrong when i combine the receiving signals... Can someone please help?
snr=0:2:24;
for m=1:size(snr,2)
N(m)=0;
efade = 0; % error counter for fading AWGN channel
No = 10^(-snr(m)/10); % PSD of AWGN with signal energy normalise to 1, ie E=1
sigma = sqrt(No/2); % Standard deviation
while(efade ~= 100)
N(m)=N(m)+1;
%for n=1:N
tx_signal = (-1)^round(rand); % to either get a +1 or -1 signal
rfade = 0;
for k=1:2
% channel model
x=randn/sqrt(2);
y=randn/sqrt(2);
p=x^2 + y^2; % fading power of real and imaginary component
a=sqrt(p); % fading amplitude
rfadeTemp = a * tx_signal + sigma*randn; % faded signal + AWGN
rfade = rfade + rfadeTemp;
end; % for
% received signal
if (rfade>0)
estimate_fade = +1;
else
estimate_fade = -1;
end
% checking for error
if (estimate_fade ~= tx_signal)
efade = efade + 1;
end
end %end while
% calculating error probability
pe(m)=efade/N(m); % BER flat Rayleigh fading
% results
fprintf('%f \t %e\n',snr(m),pe(m));
end
semilogy(snr,pe,'-')
%legend('Simulated Rayleigh Fading');
ylabel('Bit Error Rate (BER)');
xlabel('SNR (dB)');
title('Perfomance of BPSK over Rayleigh fading channels');
Something seems to be wrong when i combine the receiving signals... Can someone please help?
snr=0:2:24;
for m=1:size(snr,2)
N(m)=0;
efade = 0; % error counter for fading AWGN channel
No = 10^(-snr(m)/10); % PSD of AWGN with signal energy normalise to 1, ie E=1
sigma = sqrt(No/2); % Standard deviation
while(efade ~= 100)
N(m)=N(m)+1;
%for n=1:N
tx_signal = (-1)^round(rand); % to either get a +1 or -1 signal
rfade = 0;
for k=1:2
% channel model
x=randn/sqrt(2);
y=randn/sqrt(2);
p=x^2 + y^2; % fading power of real and imaginary component
a=sqrt(p); % fading amplitude
rfadeTemp = a * tx_signal + sigma*randn; % faded signal + AWGN
rfade = rfade + rfadeTemp;
end; % for
% received signal
if (rfade>0)
estimate_fade = +1;
else
estimate_fade = -1;
end
% checking for error
if (estimate_fade ~= tx_signal)
efade = efade + 1;
end
end %end while
% calculating error probability
pe(m)=efade/N(m); % BER flat Rayleigh fading
% results
fprintf('%f \t %e\n',snr(m),pe(m));
end
semilogy(snr,pe,'-')
%legend('Simulated Rayleigh Fading');
ylabel('Bit Error Rate (BER)');
xlabel('SNR (dB)');
title('Perfomance of BPSK over Rayleigh fading channels');