Академический Документы
Профессиональный Документы
Культура Документы
1
Acknowledgment
First of all we thank ALLAH for teaching us to love
each other and to co-operate in the development of
the project.
2
Team Members
3
Contents
Dimensioning:
Chapter 1: Blocking in multiservice systems………………………(7)
Physical Layer:
Chapter 1: WCDMA Physical layer implementation………………..(57)
5
Chapter4:DSP………………………………………………………(97)
References…………………………………………………………..(102)
6
UMTS
Dimensioning
7
Chapter 1
Now we will construct a state diagram for this multiservice system. Each state
is characterized by a pair of numbers. The first number gives the number
users in the system utilizing the 2MHz-band width service, where as the
second gives the number of users in the system using the 4MHz-band width
service. For instance, state ‘(2, 1)’ means two 2MHZ-service users and one
4MHz-service user.
Let’s start the system in state ‘(0, 0)’, i.e., no users. Assume that the average
rate of arrival of users demanding the first 2MHz service ,
(customers/second). Parameter µ is the average number of users serviced in
unit time. The reciprocal of µ1, i.e. (second /customers), is the mean
as the traffic
service time for first service (the 2MHz service). Define
(in erlangs) as associated with first service. For the second 4MHz service, we
have ,
, and a2 defined in a similar way.
Since we are in the state ‘(0, 0)’, the probability of going to state ‘(1, 0)’is
proportional to , where as the probability of a transition to ‘(0, 1)’ is
proportional to .
8
On other hand, the probability of returning to ‘(0, 0)’ from ‘(1, 0)’ is
proportional to
, and from ’(0,1)’ is proportional to
.
!
∆
∆ 1 ∆
2 …….
!
1 ∆
If f(t) is the inter-arrival pdf, then ∆ gives the probability of one user
arriving after time‘t’ from the last arrival. That is, we have zero arrival for
time‘t’ and then one arrival at ‘∆’ following period t
9
∆ "0|%&'( )*' + "1|%&'( )*' ∆
Back to our queue: The system moves to state ‘(2, 0)’ from ‘(1, 0)’ with a
probability proportional to . To come back to ‘(1, 0)’, we have two
possibilities; either the 1st user would finish or the second. This mean that the
probability of coming back is proportional to 2
. All this is applicate to
transitions between ‘(0, 2)’ and ‘(0, 1)’.
2
2
10
Now, note that we can’t go to a state ‘(0, 3)’. The second service demands
4MHz. Two already-existing users consume 8MHz. The total band width is
10MHz.
Therefore, there is no ’(0, 3)’ state. Using this idea, we can now complete the
state diagram
Note that in states ‘(1, 2)’,’(3, 1)’,and’(5, 0)’ all the resources (i.e., the full
10MHz) are consumed.
The system is in any of these states, and the first 2MHz service is demanded,
it will not be granted.
11
Because if
The system is in any of these states, and the second 4-MHz service is
requested, the demand will be blocked.
Fortunately there is a method to collapse the whole state into a simple one
dimension diagram.
12
Chapter 2
Kaufman-Roberts Technique
Kaufman and Roberts solved the problem of calculating state probabilities by
assuming a basic service unit, ∆r.
Assume that all the services require resources that are integer multiples of ∆r.
So service ‘t’ demands rt ∆r resources, where rt is an integer .In our example
, ∆r can be taken 2MHz .As are result, r1 =1 and r2 =2, because first service
4 MHz
demands 2MHz and = 1 , whereas the second service demands 4MHz
∆r
2 MHz 4
and = = 2 .The states of the system are numbered according to
∆r 2
how many basic units are being utilized in each state. The final state is the
total resource divided by basic unit .so in our example, we have states 0, 1,
2, 3, 4 and 5.
µ1
λ 1
State ‘l’ now means one basic unit of resources is being utilized. This is 2MHz.
The only way that we can get there from state ‘0’ is to have a customer
demanding 1st 2MHz service arrives into the system. Note that the states now
are characterized by single numbers.
What about state ‘2’? State ‘2’ means two basic resources are being used
.This could be two 2MHz a service customer or one 4MHz service customer.
Here is the state diagram.
13
2
3
3
2
Similarly, State ‘3’ may mean 3 2MHz service customer, or one 2 MHz
customer and one 4MHz customer.
If one 4MHz-service user leaves the system, two out of the three utilized
basic service units are set free. For two basic units to be released
µ2
simultaneously, the probability is proportional to .
2
3µ 2
We have three possibilities so total probability is proportional to .
2
A B C
A B C
3 possibilities
14
Full state diagram
2
3
4
5
3 5
2
2 2
For example,
15
Interestingly, the equations can be written as
rt at
P( j ) = ∑ P( j − rt ) P(0)=1
t j
P( χ )=0 if χ <0
Where at is the traffic of service‘t’
r1a1 ra
P(1) = P(1 − 1) + P(1 − 2) 2 2
1 1
r1a1 ra
= P(0) + P(−1) 2 2
1 1
= P(0)r1a1
= r1 a1
= a1
P(2) = +
16
And so on. Recursively we can get each probability. In order to normalize
0 (j) = so that ∑2 67 8 = 1
12
∑5 14
(<
9 0 : ; 1
&=
= ∑ D ∑>
2=?
12(<
= ∑ D ∑> 0
2=? 8 D
∑5 C4
1 ∑(&=
<
0 : ; 1
H I ∑ D 1 J
17
Chapter 3
K) =
LM
NO
P) = R% =
1M N<O< 1M
QM S
Where:
R% is the sum of powers of noise (N), users controlled by BS (Iown), and
users controlled by other BS’s (Iother).
Note that for K) calculation Pi is subtracted from Itot as a user does not
interfere with her or himself.
K) =
1M S
QM N<O< 1M
In the above formula we assume that user ‘i’ is fully active. If the user is
active for only a fraction vi of the time
K) =
1M S
&M QM N<O< 1M
K) = )
1M S S
QM N<O< 1M QM UM
= Itot – Pi
R%
)
V
1T K
) )
18
W)
X
F
Let
YM ZM
) R% W)
N<O<
>
At BS the ratio is called rise over thermal
R% R%
: R% R%[\ R%]'(
If R%]'( R%[\ , i.e., interference from other cells is some factor of R%[\
R% 1
: R
1 1 %[\
R%
) R% W)
Since
F^ ∑ `
N<O<
> M _M
19
The uplink is interference- limited. In actual systems a is kept below, say 0.8.
1a
N<O< >
> ` N<O<
:
a 1 d a*bc
R%
But
R%[\ R% ∑ W)
∑ W)
R%[\ R%]'( :
1 ∑ W)
:
1 d a*bc
R%[\ R%]'( :
: 1 ∑ W) :
1 1 d a*bc
1 R%]'( :
R%]'( :
1 ∑ W)
R%]'( :
9 W) d a*bc
R%]'( : R%]'( :
R%]'( R%]'( :
9 W) d a*bc e f
: :
R%]'(
9 W) 1 a*bc d a*bc
:
R%]'(
1 a*bc a*bc j9 W) Wc k
:
R%]'( is taken as a log normally distributed random variable. This means that
log R%]'( is Gaussian.
>l`m@g ∑ _M F_g n
Blocking R%]'(
`m@g
20
:la*bc ∑ W) Wc n
log R%]'( log r s
1 a*bc
logR%]'(
Blocking probability, given a current load ∑εi for a demanded εx, equals to
xjym@g zl∑{M |{g nk
| tuvw }|µ
zym@g
~
Q[ ], where S is the standard deviation of log (Iother).
µ
µx=b ε (log (Iother)) = b
std(x) ==σx
b
Var(x) = S2
lcµg n
σ √π g
f(x) = exp (- )
lcµg n c Fµg cµg g b
c
E (Iother) = ∫ b
c σ
√π g σ √π g
exp (- ) dx= ∫exp (- ) dx
Eclµg Fg b
nG Fµg lµg Fg b
n
√π g
=σ ∫exp (- ) dx
µc )
g b
=exp (
µc )
g b
E (Iother) =exp (
21
c = log(1+ |N
&b(NO<hiA ~
b O<hiA | b
)=
µ &b(NO<hiA
µc = b= b log [E(Iother)] -
O<hiA |
log(1+|N
b )
22
(The definition of εi sets activity factor v to one). We will call this probability
(t, j).
The difference between β(t, j) & B(t, j) is that in the former all the users are
assumed active & this the true loading which is felt by BS is jP.
In the latter, the loading is jP but true loading is less because some users are
inactive.
P (j) = ∑ 68 D
b< (<
2
(1-B (t, j-rt))
Define occupancy Λ(c, j) as the probability of having loading jP, while the true
loading due to active users is cP.
The first term is due to a service requestor who intends to be active. This
requestor would increase both loading & actual loading by rt.
Note that in Λ(c, j), c can be anything from 0 (no users active) to j (all users
active).
23
- (t, j) are calculated.
Λ (0, 0) =1
B (t, 0) = (t, 0)
P (j) = ∑ 68 D
b< (<
2
(1-B (t, j-rt))
@ A
12(< < < J,2(<
B
12
Pj (t) =
68
68
∑ 68
J 9 68 , 8
2
This calculation depends on statistics of R%]'( .This would be a tricky part. For
the time being we can use:
Called coefficient of variation
D ;
PR%]'( 3 + 10 , 0.57
24
PR%]'( 5 + 10 , ; 0.67
current
Load due to
load
requested
service
8 DI j
∑ _M
b) '(&)' \)
k
>`m@g ∑ _M _<
`m@g
β(t, j) probability that Iother exceeds
25
We will assume Bs receiver noise figure=5 dB. Thus, receiver noise density=-
169 dBm/Hz=1.26*10-20 w/Hz. (‘w’ in units is watts.)
correct to use power density units for both. The value of PR%]'( provided in
Note that in the equation for β(t, j), Iother and N are in power units. It is
One way to solve this problem is to start with a guess for probability
distribution of Iother. This pdf determines the probability that Iother exceeds
some value, and, hence, is employed in the computation of β(t, j).
Given β(t, j), the Kaufman-Roberts is used to get state probabilities, 68, is
which are the probabilities of having a certain load in system. Once we get
state probabilities, we can simulate the system to estimate Iother and its pdf.
26
1. The sum of loads is equal to the loading value being examined.
2. The services are distributed according to their probability.
Since some users may be inactive, we use the activity factors to restrict our
calculation of users’ powers to those users who are active.
Assume, for example, that the service vector corresponding to a certain load
has L entries representing L users with L services. Each entry is an integer
that ranges from one to the number of services. The probability of an entry
being equal to ‘t’ can be taken as the ratio of the traffic of services‘t’ divided
by the total traffic of all services. For three services with
service_vector=ones(1,300);
mask=rand(1,300);
for t=2:num_of_services
indices1=find(mask<sum(p(1:t)));
indices2=find(mask<sum(p(1:t-1)));
indices=setdiff(indices1<indices2);
service_vector(indices)=t;
end
We then take from service_vector the 1st L entries such that the sum of their
loads is equal to the load value under investigation.
cumulative_sum=cumsum(load_vector);
index=max(find(cumulative_sum<load_examined);
service_vector=service_vector(1:index);
To get the actual loading, we make use of activity factors. For each entry in
the service or load vectors, we generate a uniform random variable from 0 to
1. If this variable exceeds the activity factor of the respective service, the
27
user is considered inactive. The sum of the loads of the active users gives the
actual loading on the receiver of the BS under investigation.
We can keep an activity vector of zeros and ones to keep track of which users
are active.
aa
P(r,²) ³ b
DD
³(´(
³ b b
dr = f(r) dr =
D
D √
28
into account the particular structure of cells, or is represented by several
theoretical and empirical models. We can initially use
~ F~
º J~ 10.» DJ~
*
10 ?√
Where the exponent ‘m’ of propagation loss is typically taken from 3 to 5, DJ~
is the distance to BS in meters, and and are two zero-mean normally
distributed random variables, representing shadowing, with a standard
deviation typically in the range of 6 to 10 dB.
F±
º%]'( 10.» D%]'(
*
10 ?√
is the same as the previous formula. is a new random variable that takes
into account the differences in the pathes connecting the mobile unit to the
various BS’s. , and are i.i.d.
Note that ºJ~ must be less than º%]'( for the mobile unit to be controlled
by the BS under investigation. This can be done as follows
radius
²
toto = L;
Loss_to_own_over _Loss_to_other=[];
While toto>0 other
BS
Shadowing1=shadowing_std*randn;
Shadowing2=shadowing_std*randn;
Shadowing3=shadowing_std*randn; Apply Cosine rule
Loss_to_own=10^1.4*(distance_to_BS.^m)*10^((shadowing1+…
shadowing2) /10/sqrt(2)); %angle of user within
cell
phi_user=2*pi*rand;
distance_to_other=sqrt(distance_to_BS.^2+4*radius^2-4*radius*…
distance_to_BS*cos(phi_user));
Loss_to_other=10^1.4*distance_to_other.^m*10^…
((shadowing1+shadowing3)/10/sqrt(2));
Loss_to_own_over_Loss_to_other_X=Loss_to_own/Loss_to_other;
If Loss_to_own_over_loss_to_other_X < 1
Loss_to_own_over_loss_to_other(L-toto+1)=…
Loss_to_own_over_loss_to_other_X ;
toto=toto – 1 ;
end
end
29
Then??
Remember that
),%]'( W) R%
½¾¿,M
½O<hiA,M
R%]'( R% Σ W)
À ½¾¿,M
½O<hiA,M
(2)
Loss_to_own_over_loss_to_other
Iown= (Iown+Iother+N)∑εi
R%]'(
’ ¾¿,M
= (Iown+Iother+N) ∑εi Â
O<hiA,M
Iother is the total interference from users not controlled by the BS under
investigation.
R%]'(
’
is the interference caused by the users controlled by the BS under
investigation on a neighboring BS.
R%]'(
’ I
= other
6
30
*reciprocity* that on average the interference caused by users controlled
by BS1 on neighboring BS2 is the same as the interference caused by users
controlled by BS2 on BS1.
∑ W)
R%[\ R :
1 ∑ W) %]'(
1
R%[\ R%]'( : R :
1 ∑ W) %]'(
R%]'( º J~,)
§I R%[\ R%]'( : 9 W)
6 º %]'(,)
º
6 ∑ W) º J~,)
R%]'( R%]'( :
%]'(,)
1 ∑ W)
º J~,)
6 ∑ W)
º %]'(,)
:
1 ∑ W)
R%]'(
º
6 ∑ W) º J~,)
1 %]'(,)
1 ∑ W)
º
¢6 ∑ W) º J~,) ¤ :
R%]'(
%]'(,)
º J~,)
1 ∑ W) 6 ∑ W)
º %]'(,)
After running the simulations over the possible loadings, we get a vector of
Iother that can be used to estimate its pdf, mean, and variance in a way that is
consistent with admission control algorithm and that is derived from it, rather
than being specified independently.
31
3.3. Uplink calculations
lations flowcharts:
flowcharts
3.3.1. Beta generation:
32
3.3.2. Kaufman-Roberts:
Roberts:
33
3.3.3. Iother cdf estimator:
34
Chapter 4
),c V
K),c
],c Ã),c
º),c T),c ¢: l n ∑Ä %,Ä ¤
º),c º),c %,c ),c ],c º),Ä
Where:
º),c is the total path loss between the BS and the mobile unit,
º),Ä is the total path loss between the BSY and the mobile unit of user i, and
Ã),c is the orthogonality factor which describes the fraction of power which is
seen as interference by the receiver .
The Bs can arrange users’ signals so that they are perfectly aligned. Since
each user’s data are multiplied by a code orthogonal to the codes assigned to
the other users, the interference from other users should be suppresses.
However, due to the multipath effect, each mobile unit receives replicas of
the transmitted signal. These replicas are delayed versions of one another.
The Walsh code , when shifted, are no longer orthogonal.
Hence, there will remain residual interference despite the use of orthogonal
codes. The factor Ã),c characterizes the interference. A value of zero indicates
35
perfect orthogonality, whereas a value of one means complete loss of
orthogonality.
In practice Ã),c takes the intermediate values. Note its dependence on ‘i’. The
reason behind this is that the orthogonality between different users is
degraded by multipath propagation, which in turn, varies according to the
location of the receiver within the cell relative to the Bs.
The SCH has a term as its own in the formulas for K),c because it is not
coded, i.e. not orthogonal to users’ data. Now let’s use the formula for K),c to
get another for ),c :
),c V º),c
: º),c ],c l1 Ã),c n %,c Ã),c Ã),c ),c 9 %,Ä
K),c T),c º),Ä
Ä
1 º),c
),c ¯: º),c ],c l1 Ã),c n %,c Ã),c 9 %,Ä °
V º),Ä
Ã),c K T Ä
),c ),c
Ψ),c
)<,g W),c Î: Ψ),c ],c l1 Ã),c n %,c Ã),c 9 %,Ä Ð
Ψ),Ä
Ä
Where ],c is the power of the common channels emitted by BSx. these
include, for example, the common pilot channel (CPICH), which is an
unmodulated code channel scrambled by the primary scrambling code of the
BS. It is used for code synchronization and channel estimation.
36
We thus have,
%,c
Ψ
: ∑) W),c Ψ),c ],c 1 ∑) W),c 1 Ã),c ],c ∑Ä %,Ä ∑) W),c Ψ),c
),Ä
1 ∑) W),c Ã),c
The local blocking probability would then be the probability that Ptot,x,
including the required power for the requested service, exceeds Pmax :
So, in the calculation of the beta matrix, we would assume statistics for %,Ä .
Then the beta matrix would be fed to the Kaufman-Roberts recursion to get
the blocking probabilities and the state probabilities. The latter can then be
37
used in Monte Carlo simulations to find the distribution and statistics of %,Ä .
These can be used to repeat the whole process until the statistics we start
with get close enough to the statistics we estimate after computing the state
and blocking probabilities.
3 services
γ : 5, 4, 3 dB
Radius: 1 Km
*bc : 8 W
%,Ä : Gaussian
beta=zeros(num_of_services, max_load);
I ÙÚ
max _Ù
§ D; I
38
Generate the corresponding loading vector:
For index=1:G
For requested_service=1:num_of_services
** Append loading to the requested service to the first ‘index’
elements of the
loading vector.
That is,
Loading_vector_partial=[loading_vector(1:index) loading_requested]
** Generate a distribution of ‘index+1’ users around BSX
** Caculate the distance to the 6 neighboring cells.
**Make sure the total path loss between X and mobile units is less
than between Y and the mobile units.
**Do not utilize activity factors because the computation of the beta
matrix assumes total activity.
Ü),c
Metric=
: 9 Û),c Ü),c ],c 1 9 Û),c 1 Ã),c ],c 9 %,Ä 9 Û),c
Ü),Ä
Ä
Column=round(sum(loading_vector(1:index))/basic_service_unit)
**if(column dnum_of_columns_in_beta)
39
visited(requested_service,column+1)=
visited(requested_service,column+1)+1;
visited is a matrix , which , like beta, is initialized by zeros. The ‘visited’ matrix
keeps track of how many times each pair of (requested_service,loading) has
been visited.
**If (metric>0)&&(columndnum_of_columns_in_beta)
beta(requested_service,column+1)=
beta(requested_service,column+1)+1;
end
end
beta=beta./visited;
beta(:,1)=[0;0;0];
beta(find(isnan(beta)==1))=1;
save …..
Note that the entries in beta would be ‘noisy’ because they are produced via
Monte Carlo Simulations. Each row of beta must be non-decreasing. We can
have oscillations, however, in our beta matrix. These can be reduced by
increasing the number of simulation runs.
Then we need to check the validity of our guesses for the average value and
the standard deviation of total power transmitted. We do this via Monte Carlo
simulation.
40
We simulate the loading states whose probabilities exceed some threshold,
say 1%. For each state we do a number of simulations proportional to the
state probability. For instance,
num_of_simulations = round(10000*state_prob) ;
examined_load =basic_service_unit*
(indices_of_loads_to_be_examined(index)-1) ;
num_of_simulations = round(1000*state_prob
(indices_of_loads_to_be_examined(index))) ;
*Take from loading vector the first entries whose sum is equal to
examined_load.
Make sure the total path loss between X & mobile units are less
than
that between the units & neighboring BS’s.
∑LM,g ÍM,g
Ptot,x=
(Incorporate activity)
41
If Ptot,x≤ Pmax, add Ptot,x to a vector that keeps its values, & which is later used
to get the pdf & other statistics. We assume a statistical similarity between
Ptot,x & Ptot,y .
42
4.3. Downlink flowcharts:
4.3.1. Beta generation:
43
4.3.2. Ptot,y cdf estimator:
44
Chapter 5
Uplink Coverage
The coverage calculations based on allowing some losses along the path
between the MU & BS on one condition that the received signal must be at
certain level.
The output power of the MU is around [21 dBm] where the BS output power
is around [13 dBm]; according to that Uplink coverage calculations are the
limiting factor for coverage. But what will be shown in next sections that the
Downlink coverage is taken into account but not separated from the capacity
as the BS output power is divided on all MUs.
The main idea in this step is to get the maximum allowable path loss along
the path between the mobile unit and the base station at certain loading
value. Then using a suitable propagation model and the maximum path loss,
we get the maximum radius of the cell. After getting the cell area we divide
the total area to be covered by the cell area then we get the total number of
sites in that area.
For multi services we get the maximum path loss for each service separately
then we use the minimum value of alpha to get number of sites (cell
range(R) = 10^alpha).
Thus minimum value of alpha represents a minimum radius which leads to
maximum number of sites which insures total coverage for all services.
On the uplink, perfect power control can be assumed. This means that all
users receive the same power and create the same amount of interference
for other users even if the channel conditions are different for each path. On
the downlink each user is in different RF conditions, in terms of channel
conditions, interference, and handover conditions.
Link Budget:
Using the link budget we can get the path loss between the transmitter and
the receiver.
For the uplink, the transmitter is the MU and the receiver is the BS.
The next figure shows the path between Tx and Rx.
45
SSRBS = á – Lpath +Gant –Lf+j âSSdesign
Where the design criterion, SSdesign, is equal to the sensitivity of the radio
base station, RBSsens, plus a number of margins as
Where:
46
5.1.3. RBS Sensitivity:
T'\ : :^ 10 + logT'( R
%
47
5.1.4. Interference Margin (Rise over Thermal):
RoT is also known as Interference Margin or Load Margin. The RoT is
estimated from
the loading value by means of this equation:
RoT = 10 × log10(1/(1 – load))
The result of this equation will be negative to reflect a loss in the Link
Budget.
from the cell edge probability (ε) and the standard deviation in the area (σ),
as shown in the equation :
LNF = −NORMINV(ε, 0, σ) = σ × Q(ε)
Where:
The cell edge confidence, with a standard deviation, is used to calculate the
LNF margin.
The cell edge confidence represents the probability that coverage will be
available at
the periphery of the cell, on the basis of a statistical distribution of the path
loss. Instead
of the cell edge confidence, the cell area probability can be used to estimate
the network
coverage QoS. The cell area and cell edge can be linked.
48
Standard Deviation:
On the Uplink, the handover gain can be seen as a reduction in the LNF. This
assumption is valid if we consider that the paths to the different cells serving
a call are independent, or have a limited correlation. Path independence for
cells from different sites is obvious, because the geographical locations of the
receiver lead to independent path obstructions.
For cells of the same site, as in the softer handover case, paths could have
greater correlation, resulting in a reduced statistical handover gain. The Link
Budget does not take this into account, because it is partly compensated for
by possible soft combining. Assuming that both paths are equal, the
combining gain would be 3 dB for both directions.
49
5.1.7. Body Loss:
Body loss is affected by the evolution of handsets and how people use them.
With hands free kits, the UE can be located anywhere on the user, not
necessarily close to the head.
This could cause large variations in body losses, but no definitive
characterization has been done.
For video-telephony applications, body loss can be ignored or reduced as
compared to voice applications, because users will be holding the UEs at
arm’s length away from their bodies.
For PS data usage, the body loss depends on both the UE and the
application. For mini-browser applications, the UE is held in the hand so the
user can navigate the built-in browser. Body loss is assumed to be similar to
that in video-telephony applications. In contrast, for mobile office applications
on a UE with a Personal Computer (PC)-card, equipment loss is a greater
factor than body loss. The loss created by this equipment depends on the
type of antenna (fixed integrated, swivel integrated, or external) and the
computer to which the card is connected.
The 3 dB value in the Link Budget can be considered conservative.
Measurements can reveal attenuation from 2 to 5 dB for a UE held at head-
level, depending on the UE antenna design and its direction relative to the
main server.
50
5.1.10. Transmit Antenna Gain:
Because a handheld UE typically does not use an external antenna, the gain
is set to null (0 dBi).
51
fc=f x 10-6 carrier frequency [MHz]
λ free space wavelength
[m]
52
Number of sites:
The next step is to get the cell area from the cell radius and the area is
different according to cell type, the following figures show the cell types and
the corresponding cell area:
53
5.3. Uplink Balancing:
In cases where a definite loading has not been given in uplink or downlink it
is possible to minimize the number of sites such that coverage and capacity is
in balance. There are numerous ways to perform this balancing. One method
to balance the coverage and capacity is described in Figure 2. A detailed
example using this flow chart:
54
The given input data consists of an unloaded path loss and an average user
profile. First an uplink loading is assumed. This is a first guess and based on
this the coverage and capacity sites are calculated. Unless the system is in
balance these will differ. A low loading will for example give few sites
required for coverage but many sites for capacity. The uplink load is varied
until balance is achieved.
Once balance in the downlink is achieved a check is made to see that the
downlink capacity/coverage is sufficient. The number of sites is given from
the uplink balancing and it is therefore possible to calculate the load per cell.
This load figure can be used together with the simulated downlink curves
to check that the downlink range is sufficient to cover the required area. If
not the number of sites is increased until enough coverage is achieved.
55
UMTS
Physical Layer
Implementation
56
Chapter 1
1.1. Introduction:
Specifically, we want to implement the base band section in the mobile unit,
which decodes the frames sent by the base band station (BS). The UMTS
í»??
?.?
frame is 10 ms long and has 38400 chips. The chip rate is, thus,
3.84 î6 (mega chip per second), and the chip duration Tc0.26µs.
The number of chips per bit, N, varies according to the service provided;
:
ïð
ïÞ
. The ratio between the bit duration to the chip duration (N) is also
called spreading factor.
∑ô
ô=? ¥P ñN
VñN cos2ò ∑=? ¥P ñó ñVñó sin 2ò )
O ôO
57
Explanation of terms:
• ‘K’: Is an index running over the users controlled by BS. Ko is the
number of the users. The ‘K=0’ term is the pilot signal sent by the BS
to help the mobile units to:
1. Synchronize the received signal.
2. Estimate the channel characteristic.
• ‘d(K)’: are data of user ‘K’. ‘d(0)’ is always one.’dI(K)’ and ‘dq(k) are
the data sequences multiplied by cos(2πfct) and sin(2πfct) respectively.
This means that we have quadrature phase shift key (QPSK)
modulation.
In this scheme, every two bits are taken together with one multiplied
by cos and other by sin.
‘I’ stands for inphase and ‘q’ for quadrature (The names given to the
two carrier components).
• ‘Ec(K)’: Is the chip energy of the user ‘K’. ‘εc(0)’ is the pilot’s energy.
Note the dependence of εc on K. The BS amplifies the signal of its
users by different factors to take into account their different situations
inside the cell.
For instance, users near cell border need higher transmitted energy to
compensate for significant path or propagation loss than those close to
BS.
1 1 õ V
are orthogonal when aligned. The two-chip long Walsh codes are :
1 1 õ V
Correlation of W1=(1)(1)+(1)(1)=2
Correlation of W2=(1)(1)+(-1)(-1)=2
Cross correlation of W1 and W2=(1)(1)+(1)(-1)=0
They are orthogonal when aligned.
Tc
1
-1
58
Walsh codes of length N can be generated recursively from length-2 Walsh
sequence. If we want the codes of length 4,
1 1 1 1
1 1 1 1
Same as 2*2 Same as 2*2
1 1 1 1
1 1 1 1
Same as 2*2 Negative of 2*2
1 1 1 1 1 1 1 1
Same as 4*4 1 1 1 1 1 1 1 1 Same as 4*4
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 Negative of 4*4
1 1 1 1 1 1 1 1
Same as 4*4
1 1 1 1 1 1 1 1
Note that:
59
1.3. Downlink Receiver:
'Ã4 ' is the gain of path ' ɭ ' and 'Ü4 ' is the phase.The phase difference between
paths results from path length difference and Doppler shift which is a function
of the angle between received path and direction of motion of the mobile
unit . 'dI,l', 'Wl(k)', 'SI,l', 'Sq,l' are the shifted versions of transmitted 'dI', 'W(k)',
'SI', 'Sq'.
1.3.2. Demodulation:
The first order of business at the receiver is to multiply by locally generated
carriers cos 2ò and sin 2ò and then low pass filter (or more accurately
match filter).
Received Signal
60
Therefore at point A (figure page 3), we have:
ã ÷ ÷
9 ö9 ¥P
N,4
V4
N,4 Ã4 cos Ü4 9 ¥P
ó,4
V4
ó,4 Ã4 sin Ü4 ø
4= =? =?
At point B:
ã ÷ ÷
9 ö9 ¥P
N,4
V4
N,4 Ã4 sin Ü4 9 ¥P
ó,4
V4
ó,4 Ã4 cos Ü4 ø
4= =? =?
Samples of the
received frame
time
1.3.3.1. Multipath:
Each sample carries users' data, noise, and interference from the different
paths through which the transmitted signal has reached the receiver.
61
The BS sends:
0 1 2 3 4 5 101 102 313 314 38399
Noise
+
+
First significant path
+
Second signification path
+
Third significant path
>38400 samples
62
1.3.3.2. Path Searcher Construction and Analysis:
At what sample does the first significant path starts? the second? the third ?
How can we construct a path searcher?
What if N,4
+
is synchronized with N,4 ?
A 'one' from N,4
+
would be multiplied by a 'one' from N,4 . A minus 'one' by a
minus 'one'. The result would be always one. On the other hand, N,4
+
ó,4
would have an approximatly equal mixture of ones and minus ones.
Not only that, summation over N chips, and in case we are synchronized,
would zero all users' Walsh sequences (see #2, page 2).
Note that we are here talking about two different paths ɭ and v
(see #2, page 3).
Taking all this into account, what we get after the summation is:
63
thus,
VI , Vq are Gaussian
ε(VI) = ε(Vq) = 0
ε(VI Vq) = 0
>N÷ þ
ε(ýN ) = ε(ýó ) =
= where V = N I0
R? is the total (interference plus noise) power spectral density. The power
(variance) of interference plus noise is assumed to be equal on average over
the inphase and quadrature branches. The interference plus noise power per
N÷
chip in each branch is .
> N÷
We get because we have summed over N chips over which interference
plus noise are assumed to be uncorrlated from chip to chip.
Z = N + ü
What is the probability density function of signal 'Z' at point E
z x¥P 0 5 5 |
z x¥P 0 5 5
Ä ,Ä ªN , ªó
³þ
Why?
Any two jointly Gaussian random Variables have the joint distribution:
ß z ß z ß z ß z
| z
z
³ ¥
µ1 is the mean of y1 ≫ εy µ
Where:
µ2 is the mean of y2 ≫εy µ
σ1 is the standard deviation of y1 ≫ ;Dª Pª Pª
σ2 is the standard deviation of y2 ≫ ;Dª Pª Pª
LÄ Ä
ρ is the correlation coefficient between y1 and y2
64
In our case:
PªN :¥P 0Ã4 cos Ü4 PýN :¥P 0Ã4 cos Ü4
Plªü n :¥P 0Ã4 sin Ü4 Plýó n :¥P 0Ã4 sin Ü4
(Note that Ã4 , φl are treated till now as constants)
;DªN ;DýN
þ
;Dlªü n ;Dlýó n
þ
P jlªN :¥P 0Ã4 cos Ü4 nlªó :¥P 0Ã4 sin Ü4 nk PlýN ýó n 0 0
What is fz,β(Z,β)?
Ä ,Ä ªN , ªó ,
Ä ,Ä
,
,
u
√ sin
,
Ò
cos
Ä ,Ä
sin
√
√
√ cos
ß
|ß
|x {Þ ÷5 zß x¥{Þ ÷ 5 5 zß
x¥{Þ ÷ 5 5
,
,
³þ
|x {Þ ÷
5 z√ x¥{Þ ÷5 l!z5 n
,
,
³þ
|x {Þ ÷
5 z√ x¥{Þ ÷5 l!z5 n
" , , "? ³þ
³
|x {Þ ÷
"
√ x
5 ³
¥LÞ ?Í5 u
#5
þ ³ ?
þ R? $ %
ý ý
65
If there is no line of sight (LOS) between BS and mobile unit, Ã4 is mostly
Rayleigh. Consequently, K Ã4 is exponentially distributed.
U K
Z
, Kâ0
PK
PK 2 »
;DK PK |PK| »
"? þ
' |x {Þ ÷Z
Z
R? e f K
¥> LÞ ?U
þ
|x {Þ ÷| Z
"
'
R? e f K
¥> LÞ ?U
þ
? þ
Z| (
x {Þ ÷|
(
"
' ( ¥> LÞ ? U
R% e f K
x {Þ ÷|
& ? &
;
We need here to have:
;
: P 0
Z| (
x {Þ ÷|
x { ÷ Z
+ x {Þ÷| /
Þ
( , (
"?
' (
R% * . K
x {Þ ÷|
(
& (
x {Þ ÷|
) -
66
: P 0 : P 0
' K ; ; ;
1 + : P 0 : P 0 : P 0 /
µ 6 *
; ; .
;
?
j: P 0 k
) -
: P 0 K
2,
+ : P 0 ; /
. R% * ;
. K
* ; .
: P 0
) -
; needs to be:
;
: P 0
x {Þ ÷ x { ÷ Z
+ x {Þ÷| /
UF , Þ (
(
"? exp ö
' x {Þ ÷|
ø R% * . K
( ( (
( ( (
x {Þ ÷| x {Þ ÷| x {Þ ÷|
) -
This integrates to one. Compare with the enclosed formula in page 8 to
ascertain that this is a pdf proper.
1
&F > L ?
; : P 0
Þ
Remember that since N+ is not synchronized with any path, the summation
over chips (which with multiplication is basically a correlation process) would
only produce a noise-like signal.
1
It can be easily shown that in this case:
&
;
67
So what we have now are the pdfs of Z in the two cases of synchronization
and lack of alignment:
1
|1ª1 &F > LÞ ?
; : P 0
1
| I ª1 &
À
;
Recall in your mind the meaning of a pdf before looking at the figure below.
ý.
: P 0
ý. |À I ª À 2
;
ý. |À ª À
z/v
68
In what region is it more likely that there is no synchronization? In what
region is it more likely that the locally generated scrambling code is aligned
with one of the received paths?
received
samples
sequence of
ones and
minus ones of
the locally
generated
scrambling
code
Align scrambling code
starting here
• Multiply and add over ‘N’ consecutive chips (in both the in-phase and
quadrature branches).
• You then get YI & YQ.
• Compute Z=YI2+YQ2.
• Compare Z with a threshold Z* . If Z>Z*, decide that a path has been
found.
• If Z<Z*, shift the scrambling code by one sample and repeat.
69
is called false alarm because we decided that there is alignment but we are
just being fooled
oled by noise. The second case is called miss.
Vf(Z|
Vf(Z|’un-sync’)
'
3 " + þ
Z/V
70
And so we decide in favor of alignment.
4 " +
'
| x {Þ ÷
þF > L Þ ?
+
| x {Þ ÷
Vf(Z|’sync’)
Z/V
Detection probability is
this area
corresponding to z*=0
corresponding to z*=∞
71
Bad news! In a perfect world, we want PD =1 and PF =0. In reality,
What is a good operating point for best PD and PF? Assume PD– PF relation as
follows
Using Z*
corresponding to this
as PD is close to one ,
> 5Þ ?
H Increasing
þ
would do the trick. But note that there is a hefty price.
We need to increase 5 0 and the total power transmitted by BS is limited to
a maximum value. Also, increasing 5 0 would increase ‘V’ for other BS’s.
We have so far ignored the other cells. They are alive and kicking, however.
When they increase their power, they harm the performance at their
neighbors.
72
1.3.3.5. Averaging:
Rather than taking Z at point 5 (figure in page 6), we would average over L
bit durations to get Z
5
Z is now here
What are the new pdfs of Z in both cases of synchronization and lack of
synchronization?
When there is no alignment,
;
À
þ
we will take À , À , … … as i.i.d → independent and identically distributed.
This means that the pdf of Z is the convolution of pdfs of À , À , . We
can, thus, use Laplace transform to facilitate computation.
;
À
þ ~F
Laplace
þ
we have
L i.i.d
<z =Ó>j k
?
' Ý@
þ < ã! ³Ò < þ < j~F k<
þ < j~F k
|1Iª1
Similarly,
Similarly ,
zC
ABz =Ó>
D| E F G ÷
B
lHF I J K ?n L!
f(Z|’sync’) =
73
PF="A+ fZ|À un sync À dZ
'
BC
LB A Bz =Ó>
=" +
'
D
dZ
HB L!
ã
þ
Let =x
PF="<
' LB HBz H
+ x L expx dx
HB L! LBz L
< +
)("? x L expxdx - "? x L expxdx)
'
L!
= (
{Г (L)-Г(L) Гinc (
ã +
L! þ
=( , L)} where: Г is gamma function
) "? ã
c
Гã
Гinc(x, L) = (
Г (L) = (L-1)!
H PF= 1- Гinc(
ã +
þ
, L)
ã +
Similarly ,
þF > K ?
PD= 1- Гinc( , L)
74
ý¸ 1!
¸ã
L=5
: P 0
f(Z|’un-sync’)
4
ý
f(Z|’sync’)
Z/V
PD
L=5
L=1
PF
75
In practice, we may oversample the received signal in order to achieve finer
alignment resolution.
76
1.3.4. Rake Receiver:
Estimate O , ¸+
Back to the detection circuit
A E
cos(2πfct) N,ã
+
+ Vã+ ñ + G
B D F
sin(2πfct) N,ã
+
+ Estimate O» , ¸+ Vã+ ñ +
N,ã
+
+ is aligned with path L as a result of the work of path searcher and
*
synchronization circuit.
Np is an integer multiple of N
Let:
ù4 ²4 O,4
ù4 ²4 O,4
=? ¥
N,4
V4
N,4 N,4 + O,4 ∑=? ¥
ó,4
V4
ó,4 N,4 + O,4 °
∑ã4= ¯ ∑ôO + ôO +
At point D:
ã ÷ ÷
77
When we sum over Np chips:
O,4+ ýÀ
O,4+ W4+
>P ¥LÞ ? N
O»,4 + O,4+
Similarly,
ýÀ
O,4+ R4+
>P ¥LÞ ? ó
This is similar to ;DýN and ;Dýó (page 6), but with N replaced by Np.
;DW4+ ;DýNÀ
N÷
>P LÞ ? >P LÞ ?
;DR4+
N÷
>P LÞ ?
lO,4+ n O,4
+
lO»,4+ n O,4
+
4= =?
÷
9 ¥P
ó,4
V4
V4+
+ ó,4 N,4 + O,4 O,4 + Ð + O,4 +
+
=?
78
ã ÷
4= =?
÷
9 ¥P
ó,4
V4
V4+
+ ó,4 N,4 + O,4 O»,4 + Ð + O»,4 +
+
=?
N¥P
+ N,4+
+ (O,4+ O,4+ + O,4+ O»,4+ ) + O,4+ ýN,4+ + O»,4+ ýó,4+
We then add the output from all significant paths. This receiver is called
Rack receiver [3] and each path processor is a finger. Below is a 3-finger
rack. Note that the difference between N,+
, N,
+
, N,
+
and
¨
, ¨
, ¨
is a mere time shift.
+ + +
79
O :¥P
+ N ∑4lO,4 O,4 O,4 O»,4 n ∑4 O,4 ýN,4 O»,4 ýó,4
Let X be the aligned sum of all path processors:
multiplication by ó,4
(Don’t forget that dq is obtained by repeating the above but through
+
+)
Pe is the probability that 'minus one' was sent, but we decide 'one' because
X>0, and that 'one' is sent, but we decide 'minus one' because X<0, If the
probability of the transmitter sending 'one' is equal to the probability of
sending 'minus one'.
' "? c /
′ 1 ′ "∞ c /′ 1 ′
∞ ?
Ω c
1 Ω"
0 ÔΩ
Unit Step Function =ä
= Ω P c
¥LÞ +
NO
for a Gaussian variable =
c F*
P
∑4 ,4
given that ‘-1’ was transmitted
»,4
>NO >NO
T {Þ U+ xO ¥{Þ U+
∑5c,5
F cT,5 ¥LÞ + > ∑5c,5 c,5 Fc±,5 cT,5
c
' d P
O O
x {Þ U+
∑5
Ec,5 F cT,5 lc,5 c,5 Fc±,5 cT,5 nG
O
zx {Þ U+
∏4
Wlc,5 c,5 Fc±,5 cT,5 nc,5
cT,5 X
O
2O,4
2O,4 W4 2O,4
2O,4 R4 O,4
W4 2O,4 W4 O,4
R4 2O,4 R4
O,4
O,4
W4 R4
But O,4 Ã4 cos Ü4
O,4 Ã4 sin Ü4
(page 19)
x{Þ U+ x{Þ U+
Y l_5 FZ5 n[
H ' d ∏4
j Í5 k ÷
÷
Are we done? Not yet because Ã4 , W4 , R4 are random variables. We need to
average over their distributions.
Ã4
5
x{Þ U+ x{Þ U+
"? "?
' 5 ' j F
Ã4 Ã4
j Í5 k kÍ5
÷ ÷
x{Þ U+
F
÷
81
£
5
W4
÷ ⁄xP {Þ ÷
√³®x {÷ ÷
P Þ
x{Þ U+ £
"?
' 5
W4
_5 ÷ ⁄xP {Þ ÷
÷
√³®x {÷ ÷
P Þ
x{Þ U+
"? ÷⁄xP{Þ÷
' e f_5
W4
÷
√³®x {÷ ÷
P Þ
O F 5 ÷ F 5 U+ x 5 U+
®x 5 ÷ ® ] Þ ] Þ ® x 5Þ ÷
P Þ O O P Þ
' d . ¦
F5Þ U+ x 5Þ U+
F
O xP 5Þ ÷
1
x 5Þ U+ To reduce' , we want this term to be as close to
xP 5Þ ÷
one as possible. This can be achieved by increasing pilot energyP 0, and
number of averaged chips to estimate channel.
Of course, there are limits. The total power emitted by the BS constrained.
Also, the channel varies with time and, hence, ‘:C ’ must be restricted to the
chips transmitted to almost the same channel.
Ô1
F5Þ U+
To reduce' , we want this term to be as small as
F
O
82
Note that: the contribution of Rake receiver evident in this ' formula. If what
is inside the brackets is less than one, raising it to L would reduce it
significantly.
O ∑ V O ∑ V
We want to find wk that maximizes SINR.
∑ O
|∑U SU `U | |∑U SU `U |
∑U SU ∑U SU
â0
H |∑ V O | d ∑ V ∑ O Schwarz Inequality
|∑U SU `U ∑U SU ∑ `U ∑ `U
SINR d d
|
∑U X
∑
U XU U
83
Chapter 2
2.1. Introduction:
Forward Error Correction is the addition of redundant bits to sent data in
order to allow the receiver to detect and correct (up to a limit) errors that
have occurred.
An example that illustrates this concept is to send each data bit thrice and
use ‘Voting’ at the receiver. So rather than sending ‘0’, we send ‘000’. ‘1’ is
sent as ‘111’.
At the receiver we decide whether each bit is 0 or 1, and then apply the rule
000 0
001 0
010 0
011 1
100 0
101 1
110 1
111 1
That is, the probability of sending ‘1’ and deciding ‘0’ at the receiver because
of noise and interference is 6' . And the probability of sending ‘0’ and deciding
‘1’ is also 6' .
Assume that ‘000’ was sent. If two or three bits are decoded as ‘1’ in the
receiver, we would say that ‘1’ was transmitted, while it was zero.
Probability of 3 bits in
error in error
2 out of 3 bits
coded system One correct
2 errors
84
6'′ 3 6' 1 6' 6'
In our example, Single errors are corrected. If we send 000, and decide 010
at the receiver, we would say that ‘0’ has been transmitted. Therefore, the
single error has been corrected. Similarly, if we send 111, and decide 011 at
the receiver, we would say that ‘1’ has been sent.
Again the error can be corrected. If we decide 010, however, we would say
that ‘0’ has been transmitted. This is an erroneous decision. Let’s look at the
hamming distance as if it is a true distance
000 111
1st 2nd
codeword codeword
bits.
´mMb
We can correct up to floor (
Why do we say *)\ ? because in actual cases we use more than two
codewords. The minimum hamming distance, *)\ , is the minimum among
pairs of codewords. The error correcting capacity is a function of*)\ .
85
The probability of error of a coded system, 6'′ , can be written as a function
of *)\ .
6′
' 9 a2\ 6' 2 1 6' \2
´
2=F^4%%( mMb
Where ‘n’ is the length of a codeword in bits. This sum is often dominated by
the 1st term.
´mMb
6'′ a \ ´ 6' F^4%%(
F^4%%( mMb
86
For each input bit , two outputs are produced. The output does not only
depend on the current bit , but also the two previous bits. The constraint
length of a covolutional code is the number of message bits influencing the
output. We denote the constraint length as k. k=3 in our toy example. The is
often initialized by (k-1) zeroes. Also a (k-1) zeroes are added to the bit
sequence to be decoded to return the register to the all-zero condition after
the data frame is finished. The input data sequence is thus of length (L+k-1)
where L is the actual data length. If number of outputs per bit is n (n=2 is
our example), the output number of bits = n(L+k-1). The code rate is
therefore D
ã
\ãF
. It is the ratio of number of actual data bits to the
After shifting , the state would remain 00 .If the input data is one
87
a solid arrow means that input is zero,
outputs.
R means that to move out of 00 the input is one, and two ones result as an
output. In general, the exponent of R is the number of input ones, where as
the exponent of is the number of output ones.
88
The above diagram gives all the possible ways of starting at 00 and coming
back to it. Using Mason’s sum rule of flow graphs, the transfer function from
Z
e
input to output is ©
Z
1
1 2R 4R 8R f
1 2R
© R g 2R h 4R i f
What is the meaning of this? A one at the input produces a sequence of 5
ones at the output. That is one codeword that differs from the all-zero output
by 5 bits.
If two ones are fed to the register, two codewords are produced with 6 ones
before emerging back with the all-zero output sequence. And so forth.
89
2.3. Viterbi Algorithm For Detection : [1]
State 00
State 10
State 01 j=2
State 11
Received
sequence
State 00
State 10 j=3
State 01
State 11
Received
sequence
State 00
State 10 j=4
State 01
State 11
90
Received
sequence
State 00
State 10 j=5
State 01
State 11
Implement WCDMA channel coding procedure using both hard and soft
decoding.
What is explained above is hard decoding. Soft decoding means retaining the
received input by quantizing it to more than one bit. For example, assume
that the input is normalized to a value between 0 and one. Due to noise, the
input to the receiver can be something like 0.34, 0.719, etc. A hard decoder
would transform any value ≥ 0.5 to one, and any value < 0.5 to zero.
Afterwards, Hamming distances are used. A soft decoder would quantize
using, say, 3 bits. The eight possible values would then be compared with
output of state transitions on the basis of Euclidean distances.
91
To see the difference between soft and hard decoding, assume a BPSK
system where the code words are a sequence of ones and minus ones. In the
receiver, we correlate received sequence with all the code words forming
correlation metrics.
aî) 9 a)2 D2
2
Where a)2 is the 8 ] bit of the ] codeword, and D2 is the 8 ] received bit plus
noise.
D2 ¥Dj a2 ;2
Where a2 is the 8 ] bit of the
] codeword, the codeword that has been
transmitted, j is the bit energy, here multiplied by code rate to take into
account the effect of adding redundancy, and ;2 is the noise added to the 8 ]
transmitted bit.
If k=i
aî ¥Dj 9 a2 ;2
2
If i≠k
aî) ¥Dj 2 9 a)2 ;2
2
Where:
92
An error takes place if
aî aî) Ô 0
2*)\ ¥Dj 2 Dj
'′ + / ö, *)\ ø
:? :?
®
) 4*)\ 2 -
"
ß
ª Ù
∞ ß
√³ c
"
Ù d 1
∞ ' z5 g c
g
√ ³ √4 √³
for
k Ajð
′ ù ù
g mMb
x ÷
'
2Dj
' ,
:?
k z kmMb
F^4%%(j mMb k
′
' ù '
ù '
´mMb
2Dj
'′ ~ Î ö, øÐ
:?
(jðkmMb ´ (j
mMb ð
′
' ù >÷ + ù >÷
Note: the added ‘r’ is to take into account the addition of redundancy.
93
Chapter 3
The most important question now is how much confidence we have in the
estimated BER in relation to its (unknown) true value.
nµ
A known result from probability theory is that, for large N, the quantity ~
µ
√>
follows Students’ T distribution With N-1 degrees of freedom
7
-x √:
n
This upper bound depends on the desired confidence. Suppose that we want
goes below – be less than ù, where ù is chosen to
/√>
the probability that
be something like 5% or 1%.
94
The Matlab instruction tinv gives the inverse of student’s T comulative
distribution function. It needs two arguments: α and the degrees of freedom of
the T distribution.
X = - tinv (α,N-1)
d
7 O
n
â O
7
â O
~ ~
√> √>
>
√
In other words, we have (1- α) confidence that true BER is less than
7 O
~
√>
Guessing N:
Assume the sequence ª , ª , ª . . . . , ª , of i.i.d random variables y,
0 , ¨å 6D§ 1 6
ªW
1, ¨å 6D§ 6
jª 01 6 1 6 6
jª 0 1 6 1 6 6
;Dª jª |jª| 6 6 61 6
x
;D6̂ > 9 &b(ÄU=
CC
>
Um
95
6̂
6 3 p
¥CC
30 61 6 6 :
√>
= 0.1p
The simulation run examines the transmission and reception of 150 bits, i.e.,
m=150.
u÷÷
h
e÷
JQ JQ
For the specifications
fications above, the required number of runs = .
96
Chapter 4
DSP
4.1.Processor Supported:
TMS320C6416 on TMS320C6416 DSK
4.1.3.Code generator
Code Composer Studio ™ & c code is used
4.1.4.Files
Main.c
Contains data multiplication by Walsh, Scrambling and branch metrics
calculation.
Scrambling_code_generator.c
Walsh.c
deinterleaver_final 8-6.c
Main.h
Vcp_parameters.h
Contains different configurations of VCP parameters
4.2.Code sequence:
for (bit_index=0;bit_index<150;bit_index++)
97
{ Tx->Interleaved_input[bit_index]=0;
for(i=0;i<1024;i++) /*“probe point to acquire
data”*/
{
j=(i>>5)+(bit_index*32);
k=i%32;
scrambling=
(Tx->oversampled_scrambling_code[j]>>k)&0x00000001;
if (scrambling==0)
{
scrambling=-1;
}
chips[i]=scrambling*chips[i];
Afterwards the the Tx-> interleaved_input is passed to the deinterleaver to get the
encoded data with errors (Tx->Deinterleaved).
deinterleaver(Tx->Interleaved_input,Tx->Deinterleaved);
The BranchMetrics and the VCP parameters are given to the Vcp therough the Edma
*userData[0] is BM address, *vcpParameters [i] is VCP parameters address while
(i) is used to choose the desired configuration from (vcp_parameters.h), and
decisions is the output data.
98
submitEdma(&userData[0], &vcpParameters[i], &decisions,
&outParms, &numDec);).
4.3.system components
4.3.1.Scrambling:
Generated according to the standard.¯°
38400 bit oversampled at rate of 4 packed in 4800 word.
4.3.2.Walsh:
Walsh of length 256 is used but generating 256*256 matrix will bust the memory, so
we resorted to generating only one row at a time.
Algorithm:
Knowing the row no. in the 256 matrix inform us about the place of that row within
the matrix, in the upper or lower half.
If it was in upper half so the right half of the row is the same as the left, if in the lower
half ,the right half will the complement of the left one.
And the left half of the row is just the whole row of the smaller submatrix!!!!.
That row can be generated by the same operation and same for matrix ,128,64…2
submatrices
Take the 3rd row of a 4*4 walsh matrix.
1 1 1 1
Î 1 1 1 1Ð
1 1 1 1
1 1 1 1
1 1
3rd row is in the lower half so right half -1 -1 is the complement of 1 1 which is
p, and can be obtained by repeating the
1 1
the upper half of the smaller matrixo
left half of the row that is 1.
4.3.3.Deinterleaver :
Deinterleaving is performed using block interleaving, with 10*15 matrix.
Interleaver:
Theory:
Used in conjunction with repetition or coding. Interleaving is a form of time diversity
that is employed to disperse bursts of errors in time. A sequence of symbols is
permuted or interleaved before transmission over a bursty channel. If a burst of errors
occurs during transmission, restoring the original sequence to its original ordering has
the effect of spreading the errors over time. If the interleaver is designed well, then
99
the errors have a more random pattern that can more easily be corrected by coding
techniques.
- Block interleaving is known for its ease of implementation, so we used it in our
system.
Operation:
An (I, J) block interleaver can be viewed as an array of storage locations which
contains I columns and J rows. The data are written into the array by columns and
read out by rows, as demonstrated in Figure the first symbol written into the array is
written into the top left corner, but the first symbol read out is from the bottom left
corner.
4.3.4.BranchMetrics:
The branch metrics (BM) are calculated by the DSP and stored in the DSP memory
subsystem as 7-bit signed values. Per symbol interval T, for a rate R = k/n and a
constraint length K, there are a total of 2K−1+k branches in the trellis. For rate 1/n
codes, only 2n−1 branch metrics need to be computed per symbol period and passed
to the VCP. Moreover, n symbols are required to calculate 1 branch metric.
Assuming BSPK modulated bits (0 → 1, 1 → −1), the branch metrics are calculated
as follows:
_ Rate 1/2: there are 2 branch metrics per symbol period
_ BM0(t) =D? (t)+ D(t)
_ BM1(t) =D? (t)- D(t)
where D(t) is the received codeword at time t (2 symbols, D? (t) is the symbol
corresponding to the encoder upper branch.
The branch metrics can be saved in the DSP memory subsystem in either their native
format or packed in words (user implementation). When working in big-endian mode,
the VCP endian mode register (VCPEND) has to be programmed accordingly.
100
output[i]= tempr[4*i]+ (tempr[4*i+1]<<8 )+ (tempr[4*i+2]<<16)+
(tempr[4*i+3]<<24);
4.3.5.VCP:
Output Data:
The decisions buffer start address must be double-word aligned and the buffer size
must contain an even number of 32-bit words.
Used VCP parameters:
VCPParameters[2] = {
{
VCP_RATE_1_2, /* rate */
9, /* constLen */
113, /* poly0 *
235, /* poly1 */
0, /* poly2 */
0, /* poly3 */
0, /* yamTh */
150, /* frameLen */
100, /* relLen */
24, /* convDist */
250, /* maxSm */
0, /* minSm */
0, /* stateNum */
16, /* bmBuffLen */
16, /* decBuffLen */
3, /* traceBack */
1, /* readFlag */
0, /* decision */
0, /*numBranchMetrics */
0 /* numDecisions */
}
101
References
[1] M.R.KARIM, MOHSEN SARRAF “ W-CDMA and cdma2000 for 3G Mobile
Networks” McGraw Hill Telecom
[2] Harri Holma & Antti Toskala “.WCDMA for UMTS Radio Access for third
generation mobile communications”, John Wiley and Sons (Third Edition).
102