A myterious problem in help example of DPSK in Rayleigh channel
2 views (last 30 days)
Show older comments
The following Matlab HELP code evaluates the performance of dpsk modulation in Rayleigh channel:
% Create Rayleigh fading channel object.
chan = rayleighchan(1/10000,100);
% Generate data and apply fading channel.
M = 2; % DBPSK modulation order
hMod = modem.dpskmod('M', M); % Create a DPSK modulator
hDemod = modem.dpskdemod(hMod); % Create a DPSK demodulator
% using the modulator
tx = randi([0 M-1],50000,1); % Generate a random bit stream
dpskSig = modulate(hMod, tx); % DPSK modulate the signal
fadedSig = filter(chan,dpskSig); % Apply the channel effects
% Compute error rate for different values of SNR.
SNR = 0:2:20; % Range of SNR values, in dB.
numSNR = length(SNR);
BER = zeros(1, numSNR);
for n = 1:numSNR
rxSig = awgn(fadedSig,SNR(n)); % Add Gaussian noise
rx = demodulate(hDemod, rxSig); % Demodulate
reset(hDemod);
% Compute error rate.
[nErrors, BER(n)] = biterr(tx,rx);
end
% Compute theoretical performance results, for comparison.
BERtheory = berfading(SNR,'dpsk',M,1);
% Plot BER results.
semilogy(SNR,BERtheory,'b-',SNR,BER,'r*');
legend('Theoretical BER','Empirical BER');
xlabel('SNR (dB)'); ylabel('BER');
title('Binary DPSK over Rayleigh Fading Channel');
The oupt put is completely ok but when I increase the SNR range to 80dB like this:
SNR = 0:2:80; % Range of SNR values, in dB.
this time there will be an irriducible BER floor in the output ber curve after SNR of 30dB. I think bcuz of limmited number of dpsk samples the BER should be zero for high SNRs. Can anyone justify why this happens?
1 Comment
oziyakuza
on 3 Dec 2016
I have the same problem, but I could not solve the issue. If you have any progress please let me know.
Answers (0)
See Also
Categories
Find more on Propagation and Channel Models in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!