qpsk in rayleigh channel simulation changes everytime you simulate

4 次查看(过去 30 天)
plot of ber vs enno for qpsk in rayleigh channel using the object rayleighchan changes for each simulation.why is this happening?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 % using the modulator 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(n)); % Add Gaussian noise rx = demodulate(hDemod, rxSig); % Demodulate % Compute error rate. [nErrors, BER(n)] = biterr(tx,rx); end
% Plot BER results. semilogy(SNR,BER,'r*'); legend('Empirical BER'); xlabel('SNR (dB)'); ylabel('BER'); title('Binary QPSK over Rayleigh Fading Channel');
  3 个评论
sharvari samant
sharvari samant 2013-9-30
编辑:sharvari samant 2013-9-30
plot of ber vs enno for qpsk in rayleigh channel using the object rayleighchan changes for each simulation.why is this happening?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(n)); % Add Gaussian noise
rx = demodulate(hDemod, rxSig); % Demodulate
% Compute error rate.
[nErrors, BER(n)] = 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');

请先登录,再进行评论。

回答(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