You are on page 1of 11

wireless communication systems, Quality of Service (QoS) is one of the most important issues from both the users

and operators point of view. All the parameters related to QoS are not same important for all users and applications.There are many QoS parameters defined by different standardization bodies like 3GPP, 3GPP2, GSMA, ITU-T,Mobile WiMAX Forum etc. [2-7] to meet user's QoS requirement.

QoS Parameters with Priority Order


For physical layer:
BER CINR

EJ/Io (Eb/1o)
SNR

Minimum Path Loss Channel Capacity Maximum Bit Rate Delay Variation ,Jitter Handover Delay Max Transfer Delay Dropped Call Rate Call Completion Rate Call Setup Success Ratio

For network layer:

For application layer


The blocking probability for cleared calls and an infinite number of sources

This is Erlang's Loss Formula or the Erlang B formula for blocking probability

The call congestion (holding probability) is the probability that N channels are busy with

M-1 users:

The final equation for the QoS of SMS is

where: QoS = overall QoS [unitless] MR = number of received message [messsages] MS;ideal = number of messages attempted to be sent [messsages] MS;actual = actual number of messages sent [messsages] TI = Timeliness Index [seconds] TD = average time delay [seconds] LC = load consumption

BER for different modulation scheme

(a) Generation of random BPSK modulated symbols +1s and -1s (b) Passing them through Additive White Gaussian Noise channel (c) Demodulation of the received symbol based on the location in the constellation (d) Counting the number of errors
(e) Repeating the same for multiple Eb/No value.
clc clear N = 10^4% number of bits or symbols rand('state',100); % initializing the rand() function randn('state',200); % initializing the randn() function % Transmitter ip = rand(1,N)>0.5; % generating 0,1 with equal probability s = 2*ip-1; % BPSK modulation 0 -> -1; 1 -> 1 n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % white gaussian noise, 0dB variance Eb_N0_dB = [-3:10]; y=qfunc(Eb_N0_dB); ps= 0.5*y semilogy(Eb_N0_dB,ps); hold on xlabel('Eb/No, dB'); ylabel('Bit Error Rate'); title('Bit error probability curve for BPSK modulation');

clear N = 10^4% number of bits or symbols rand('state',100); % initializing the rand() function randn('state',200); % initializing the randn() function % Transmitter ip = rand(1,N)>0.5; % generating 0,1 with equal probability s = 2*ip-1; % BPSK modulation 0 -> -1; 1 -> 1 n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % white gaussian noise, 0dB variance Eb_N0_dB = [-3:10]; % multiple Eb/N0 values for ii = 1:length(Eb_N0_dB) % Noise addition y = s + 10^(-Eb_N0_dB(ii)/20)*n; % additive white gaussian noise % receiver - hard decision decoding ipHat = real(y)>0; % counting the errors nErr(ii) = size(find([ip- ipHat]),2); end simBer = nErr/N; % simulated ber theoryBer = 0.5*erfc(sqrt(10.^(Eb_N0_dB/10))); % theoretical ber % plot

close all figure semilogy(Eb_N0_dB,theoryBer,'b.-'); hold on semilogy(Eb_N0_dB,simBer,'mx-'); axis([-3 10 10^-5 0.5]) grid on legend('theory', 'simulation'); xlabel('Eb/No, dB'); ylabel('Bit Error Rate'); title('Bit error probability curve for BPSK modulation');

clear N = 10^5; % number of symbols alpha4pam = [-3 -1 1 3]; % 4-PAM alphabets Es_N0_dB = [-3:20]; % multiple Eb/N0 values ipHat = zeros(1,N); for ii = 1:length(Es_N0_dB) ip = randsrc(1,N,alpha4pam);

s n y r

= = = =

(1/sqrt(5))*ip; % normalization of energy to 1 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; s + 10^(-Es_N0_dB(ii)/20)*n; % additive white gaussian noise real(y); % taking only the real part

ipHat(find(r< -2/sqrt(5))) = -3; ipHat(find(r>= 2/sqrt(5))) = 3; ipHat(find(r>=-2/sqrt(5) & r<0)) = -1; ipHat(find(r>=0 & r<2/sqrt(5))) = 1; nErr(ii) = size(find([ip- ipHat]),2); end simBer = nErr/N; theoryBer = 0.75*erfc(sqrt(0.2*(10.^(Es_N0_dB/10)))); close all figure semilogy(Es_N0_dB,theoryBer,'b.-'); hold on semilogy(Es_N0_dB,simBer,'mx-'); axis([-3 20 10^-5 1]) grid on legend('theory', 'simulation'); xlabel('Es/No, dB') ylabel('Symbol Error Rate') title('Symbol error probability curve for 4-PAM modulation')

clear N = 10^5; % number of symbols Es_N0_dB = [-3:20]; % multiple Eb/N0 values ipHat = zeros(1,N); for ii = 1:length(Es_N0_dB) ip = (2*(rand(1,N)>0.5)-1) + j*(2*(rand(1,N)>0.5)-1); % s = (1/sqrt(2))*ip; % normalization of energy to 1 n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; y = s + 10^(-Es_N0_dB(ii)/20)*n; y_re = real(y); % real y_im = imag(y); % imaginary ipHat(find(y_re < 0 & y_im < 0)) = -1 + -1*j; ipHat(find(y_re >= 0 & y_im > 0)) = 1 + 1*j; ipHat(find(y_re < 0 & y_im >= 0)) = -1 + 1*j; ipHat(find(y_re >= 0 & y_im < 0)) = 1 - 1*j; nErr(ii) = size(find([ip- ipHat]),2); end simSer_QPSK = nErr/N; theorySer_QPSK = erfc(sqrt(0.5*(10.^(Es_N0_dB/10)))) (1/4)*(erfc(sqrt(0.5*(10.^(Es_N0_dB/10))))).^2; close all figure semilogy(Es_N0_dB,theorySer_QPSK,'b.-'); hold on semilogy(Es_N0_dB,simSer_QPSK,'mx-'); axis([-3 15 10^-5 1]) grid on legend('theory-QPSK', 'simulation-QPSK'); xlabel('Es/No, dB') ylabel('Symbol Error Rate') title('Symbol error probability curve for QPSK(4-QAM)')

clear N = 2*10^5; % number of symbols alpha16qam = [-3 -1 1 3]; % 16-QAM alphabets Es_N0_dB = [0:20]; % multiple Es/N0 values ipHat = zeros(1,N); for ii = 1:length(Es_N0_dB) ip = randsrc(1,N,alpha16qam) + j*randsrc(1,N,alpha16qam); s = (1/sqrt(10))*ip; % normalization of energy to 1 n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % white guassian noise, 0dB variance y = s + 10^(-Es_N0_dB(ii)/20)*n; % additive white gaussian noise % demodulation y_re = real(y); % real part y_im = imag(y); % imaginary part ipHat_re(find(y_re< -2/sqrt(10))) ipHat_re(find(y_re > 2/sqrt(10))) ipHat_re(find(y_re>-2/sqrt(10) & y_re<=0)) ipHat_re(find(y_re>0 & y_re<=2/sqrt(10))) ipHat_im(find(y_im< -2/sqrt(10))) ipHat_im(find(y_im > 2/sqrt(10))) ipHat_im(find(y_im>-2/sqrt(10) & y_im<=0)) = -3; = 3; = -1; = 1; = -3; = 3; = -1;

end

ipHat_im(find(y_im>0 & y_im<=2/sqrt(10))) = 1; ipHat = ipHat_re + j*ipHat_im; nErr(ii) = size(find([ip- ipHat]),2); % couting the number of errors

simBer = nErr/N; theoryBer = 3/2*erfc(sqrt(0.1*(10.^(Es_N0_dB/10)))); close all figure semilogy(Es_N0_dB,theoryBer,'b.-','LineWidth',2); hold on semilogy(Es_N0_dB,simBer,'mx-','Linewidth',2); axis([0 20 10^-5 1]) grid on legend('theory', 'simulation'); xlabel('Es/No, dB') ylabel('Symbol Error Rate') title('Symbol error probability curve for 16-QAM modulation')

For an M-PSK scheme, the symbol error rate is,

BPSK modulation in Rayleigh fading channel,

The capacity of the SISO additive white Gaussian noise (AWGN) channel is

For MIMO, when assuming the transmitter has M antennas and the receiver has N antennas and Channel Side Information (CSI) is not present, the

capacity i where _ is a constant, H is the channel matrix and is the average SNR at each receiver branch

Next task: to compare BER for BPSK modulation with 2x2 MIMO with different MIMO receiver structures. MIMO equalization schemes (a) Minimum Mean Square Error (MMSE) equalization, (b) Zero Forcing equalization with Successive Interference Cancellation (ZF-SIC) and (c) ZF-SIC with optimal ordering.

You might also like