A myterious problem in help example of DPSK in Rayleigh channel

2 次查看(过去 30 天)
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?

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Propagation and Channel Models 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by