vaidehihoshing
Newbie level 1
Plot of ber vs ebno for qpsk in rayleigh channel using the object rayleighchan changes for each simulation. Why does this happen? My code is as follows:
% Create Rayleigh fading channel object.
chan = rayleighchan(1/10000,0);
% Generate data and apply fading channel.
M = 4; % QPSK modulation order
hMod = modem.pskmod('M', M,'InputType','bit'); % Create a QPSK modulator
hDemod =modem.pskdemod('M',M,'OutputType','bit','DecisionType','hard decision'); % Create a QPSK demodulator
tx = randsrc(50000,1,[0 1]); % Generate a random bit stream
dpskSig = modulate(hMod, tx); % QPSK modulate the signal
fadedSig = filter(chan,dpskSig); % Apply the channel effects
% Compute error rate for different values of SNR.
SNR = 0:2:40; % Range of SNR values, in dB.
numSNR = length(SNR);
BER = zeros(1, numSNR);
for n = 1:numSNR
rxSig = awgn(fadedSig,SNR); % Add Gaussian noise
rx = demodulate(hDemod, rxSig); % Demodulate
% Compute error rate.
[nErrors, BER] = biterr(tx,rx);
end
% Compute theoretical performance results, for comparison.
% Plot BER results.
semilogy(SNR,BER,'r*');
legend('Empirical BER');
xlabel('SNR (dB)'); ylabel('BER');
title('Binary QPSK over Rayleigh Fading Channel');
% Create Rayleigh fading channel object.
chan = rayleighchan(1/10000,0);
% Generate data and apply fading channel.
M = 4; % QPSK modulation order
hMod = modem.pskmod('M', M,'InputType','bit'); % Create a QPSK modulator
hDemod =modem.pskdemod('M',M,'OutputType','bit','DecisionType','hard decision'); % Create a QPSK demodulator
tx = randsrc(50000,1,[0 1]); % Generate a random bit stream
dpskSig = modulate(hMod, tx); % QPSK modulate the signal
fadedSig = filter(chan,dpskSig); % Apply the channel effects
% Compute error rate for different values of SNR.
SNR = 0:2:40; % Range of SNR values, in dB.
numSNR = length(SNR);
BER = zeros(1, numSNR);
for n = 1:numSNR
rxSig = awgn(fadedSig,SNR); % Add Gaussian noise
rx = demodulate(hDemod, rxSig); % Demodulate
% Compute error rate.
[nErrors, BER] = biterr(tx,rx);
end
% Compute theoretical performance results, for comparison.
% Plot BER results.
semilogy(SNR,BER,'r*');
legend('Empirical BER');
xlabel('SNR (dB)'); ylabel('BER');
title('Binary QPSK over Rayleigh Fading Channel');