EbNo BER problem in noise channel model

Status
Not open for further replies.

ReComm

Member level 2
Joined
Aug 26, 2010
Messages
43
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
Egypt
Activity points
1,627
I use the following formula to generate noise in AWGN BPSK and QPSK , but it failed in QAM16,QAM256
Any suggestion , why it failed?

Es = Rc * log2M*Eb
σ2 = No/2

Rc : Coding rate =1
M : constellation points
Es: energy per symbol
Eb: energy per bit
σ : Standard deviation
No : noise spectral;

Eb/No (BPSK) = 1/2σ2
Eb/No (QPSK) = 1/4σ2

Eb/No (QAM128) = 1/14σ2

using the following code to generate noise channel

EbNo = 10.^(x/10); %Converting Eb/N0 dB value to linear scale
noiseSigma = sqrt(1./(2*EbNo)); %Standard deviation for AWGN Noise
noise_tx_signal1 = noiseSigma*((randn(1,length(rx_signal1l)))+1j*(randn(1,length(rx_signal1l))));
rx_signal = rx_signal1l + noise_tx_signal1;

it works correctly in BER vs. EbNo curves for BPSK, QPSK but not for higher modulation schemes?
Is there any error in formula or matlab code?

wait your reply
 

Eb/No (QAM128) = 1/14σ2 ,,is not correct because in the case of qam you have to consider the constellation of qam before calculating the average power of signal.
It comes out to be correct in case of qpsk because there magnitude is constant, only symbol duration is double of bit duration.
 

how can i use new correct formula for QAM128?
 

just make the constellation and calculate average power by E(sum(abs(x*x)))..
eg. bpsk Pav= 0.5*1+0.5*abs(-1)=1...........Eb/No (BPSK) = 1/2σ2
qpsk..in your constellation the symbols are at [1,1],[1,-1],[-1,-1],[-1,1]..
Es=2...Eb=1... but here noise have in phase and quadrature components so noice variace = 2σ2....No=4σ2........Eb/No (QPSK) = 1/4σ2
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…