Top Banner
1 To our parents, professors and all Who care about us
102
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: UMTS

1

To our parents, professors and all

Who care about

us

Page 2: UMTS

2

Acknowledgment

First of all we thank ALLAH for teaching us to love

each other and to co-operate in the development of

the project.

We wish to express our deep gratitude to

Dr. Ahmed sultan (Our supervisor) for his great

support and for teaching us to be self motivated.

As always, the completion of a project would not

be possible without the support of many people. We

would like to thank Walid Abd El-kader, Asser

Osama and Moustafa Shama from Computer

Science Department who helped us with C Coding.

Also, we would like to thank Texas Instruments for

their technical and financial support.

Page 3: UMTS

3

Team Members

Ahmed Hosny El-Samadony

[email protected]

010-2772643

Bassem Salah Mohammed

[email protected]

011-4583927

Mohammed Amir Mohammed

[email protected]

010-7189710

Mohammed Mokhtar Gaber

[email protected]

012-4259823

Mostafa Anwar Sef eldien

[email protected]

010-1254453

Mostafa El-Sayed El-Ashry

[email protected]

010-7715294

Ramy Elarabi Mohamed

[email protected]

018-3276205

Sherif Samir Hassan

[email protected]

012-7120033

Page 4: UMTS

4

Contents

Dimensioning:

Chapter 1: Blocking in multiservice systems………………………(7)

Chapter 2: Kaufman-Roberts Technique………………………...…(13)

Chapter3: Uplink capacity calculation………………………………(18)

3.1. UMTS uplink…………………………………………………...(25)

3.2. The problem with Iother.................................................................(26)

3.3. Uplink calculations flowcharts…………………………………(32)

3.3.1. Beta generation…………………………………………………(32)

3.3.2. Kaufman-Roberts………………………………………………(33)

3.3.3. Iother cdf estimator…………………………………………….(34)

Chapter 4: Capacity Calculation for the Downlink………………..(35)

4.1. Calculation of beta Matrix……………………………………...(38)

4.2. The aftermath of beta calculation………………………………(40)

4.3. Downlink flowcharts…………………………………………...(43)

4.3.1. Beta generation…………………………………………………(43)

4.3.2. Ptot,y cdf estimator………………………………………………(44)

Chapter 5: Uplink Coverage…………………………………………(45)

5.1. Detailed explanation of link budget terms……………………..(46)

5.1.1. Maximum Path loss…………………………………………….(46)

5.1.2. Power of User Equipment……………………………………...(46)

5.1.3. RBS Sensitivity………………………………………………...(47)

5.1.4. Interference Margin (Rise over Thermal)………………………(48)

5.1.5. Log-normal Fading……………………………………………..(48)

5.1.6. Handover Gain………………………………………………….(49)

5.1.7. Body Loss………………………………………………………(50)

5.1.8. Building Penetration Losses……………………………………(50)

Page 5: UMTS

5

5.1.9. Car Penetration Losses…………………………………………(50)

5.1.10. Transmit Antenna Gain……………………………………….(51)

5.1.11. Cable and Connector Loss………………………………….…(51)

5.2. Propagation Model…………………………………………...(51)

5.2.1 Okumura-Hata Model…………………………………………(51)

5.3. Uplink Balancing…………………………………………………(54)

Physical Layer:

Chapter 1: WCDMA Physical layer implementation………………..(57)

1.1. Introduction ……………………………………..……………….(57)

1.2. Downlink Transmitter………………………...………………….(57)

1.3. Downlink Receiver……………………………………………….(60)

1.3.1. Received Signal………………………………………………...(60)

1.3.2. Demodulation………………………………………………......(60)

1.3.3. Path Searcher…………………………………………………...(61)

1.3.3.1. Multipath……………………………………………………..(61)

1.3.3.2. Path Searcher Construction and Analysis…………………….(63)

1.3.3.3. path searching algorithm………………………………...…...(69)

1.3.3.4. False Alarm and Detection Probabilities……………………..(70)

1.3.3.5. Averaging…………………………………………………….(73)

1.3.4. Rake Receiver………………………………………………….(77)

1.3.4.1. Channel Estimator……………………………………………(77)

1.3.4.2. Summing over N chips……………………………………….(79)

1.3.4.3. Decision Level & Probability of Error……………………….(80)

1.3.4.4. Maximal Ratio Combining (MRC)…………………………..(83)

Chapter 2: Forward Error Correction (FEC)………………………(83)

2.1. Introduction …………………………………………………….. (83)

2.2. Convolutional codes ……………………………………………. (86)

2.3. Viterbi Algorithm for detection ………………………………… (90)

2.4. Coding gain …………………………………………………….. (91)

Chapter 3: Estimation BER via Simulation……………………….(94)

Page 6: UMTS

6

Chapter4:DSP………………………………………………………(97)

4.1. Processor Supported ………………………………….……. (97)

4.1.2. Operating Systems Supported ………..……………….…..... (97)

4.1.3. Code generator……………………………..…………………….……….…….. (97)

4. 1.4. Files…………………………………………………………………………….….….. (97)

4.2. Code sequence…………………………………………….……………….…..…(99)

4.3. System components…………………………………….…………….….…….(99)

4.3.2. Walsh……………………………………………………………….…………......….(99)

4.3.3. Deinterleaver…………………………………………………..…..…………….…(99)

4.3.4. BranchMetrics………………………………………………………………….……(100)

4.3.5. VCP…………………………………………………………….….………………….….(101)

References…………………………………………………………..(102)

Page 7: UMTS

7

UMTS

Dimensioning

Page 8: UMTS

8

Chapter 1

Blocking in multiservice systems

Assume a communication system with a total bandwidth of 10MHz.There are

two offered services; one which needs 2MHz, and another with 4MHz

requirement.

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

service time for first service (the 2MHz service). Define as the traffic

(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 .

Page 9: UMTS

9

On other hand, the probability of returning to ‘(0, 0)’ from ‘(1, 0)’ is

proportional to , and from ’(0,1)’ is proportional to .

Let’s investigate this in more detail. A typical assumption in queuing system

(any system where customers or service requesters arrive into a queued

demanding a certain service.) is that the arrival follows Poisson distribution.

Thus, the probability of ‘k’ users arriving into a queue, with a mean rate of,

in a period of time of length t is:

!

For an infinitesimal period ∆t

∆1 ∆ ∆2 … … . !

1 ∆ 1 is negligible compared to 1, as∆, ∆, , are very small

compared to ∆. The probability, therefore, is proportional to. Moreover, it is assumed that

only one user arrive at any instant of time. Note that the inter-arrival time

probability density function, if the arrival is Poisson, is exponential. Why?

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

Page 10: UMTS

10

∆ "0|%&'( )*' + "1|%&'( )*' ∆ ∆∆

Where ∆ 1, then: ∆ ∆ , And

is the mean time between arrivals.

Similar argument can be made regarding service times, etc.

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

Page 11: UMTS

11

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 blocking probability of 1stservice is: P(5,0)+P(3,1)+P(1,2) ,where P(i,j) is

the probability of being in state ‘(i,j)’.

Why? Because if:

The system is in any of these states, and the first 2MHz service is demanded,

it will not be granted.

On the other hand, the blocking probability of 2nd service is

P(0,2)+ P(1,2)+ P(2,1)+ P(3,1)+ P(4,0)+ P(5,0)

Page 12: UMTS

12

Because if

The system is in any of these states, and the second 4-MHz service is requested, the demand will be blocked.

The blocking probability is, thus, service specific.

The challenge now to calculate blocking probabilities is to compute state

probabilities. Though this may be feasible here, if we increase the number of

services, we would get a highly sophisticated state diagram. (If a service

takes one dimension in this diagram, ‘n’ services take ‘n’ dimension.)

Fortunately there is a method to collapse the whole state into a simple one

dimension diagram.

Page 13: UMTS

13

Chapter 2

Kaufman-Roberts Technique

Kaufman and Roberts solved the problem of calculating state probabilities by

assuming a basic service unit, ∆r.

(In the example above, ∆r would be in units of bandwidth.)

Assume that all the services require resources that are integer multiples of ∆r.

So service ‘t’ demands tr ∆r resources, where tr is an integer .In our example

, ∆r can be taken 2MHz .As are result, 1r =1 and

2r =2, because first service

demands 2MHz and 14

=∆r

MHz, whereas the second service demands 4MHz

and 22

42==

∆r

MHz .The states of the system are numbered according to

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.

How can we construct the reduced state diagram?

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.

Page 14: UMTS

14

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

simultaneously, the probability is proportional to 2

2µ .

We have three possibilities so total probability is proportional to 2

3 2µ .

32

3 2

A B C

3 possibilities

B

C

A

Page 15: UMTS

15

5 4 3 2

52 2 32

Full state diagram

Blocking probability of service ‘1’ is p(5),Whereas blocking probability is

P(4)+P(5) for 2nd 4MHz bandwidth service, because in both states ‘4’ and ‘5’

no 4Mhz service can be admitted due to non-availability of required

resources.

Now how can we calculate state probability?

We will initially compute unnormalized probabilities with P(0) set to 1.

We assume steady state operation where the probability of getting into a

state equals that of exiting the state.

For example,

( ) ( ) ( ) ( )2100 2121 PPPP µµλλ +=+

=

Probability of exiting

state ‘0’

Probability of entering

state ‘0’

Page 16: UMTS

16

Interestingly, the equations can be written as

( ) ( )j

arrjPjP tt

t

t∑ −= P(0)=1

P( χ )=0 if χ <0

Where ta is the traffic of service‘t’

tr is the number of basic service units for service‘t’

For instance, and since 11 =r , 22 =r

1)21(

1)11()1( 2211 ar

Par

PP −+−=

1

)1(1

)0( 2211 arP

arP −+=

11)0( arP=

= 11ar

= 1a

2211 )0()1()2( arParPP +=

P(2) = +

Page 17: UMTS

17

And so on. Recursively we can get each probability. In order to normalize

0 (j) = 12∑ 145 so that ∑ 672 8 = 1

Where 0(j) is the normalized probability of state j

If maximum state is N, the blocking probability of service ‘t’ is:

9 0: ; 1(<

&=

Utilization, u is the average number of basic units utilized

U = ∑ 8 08>2=? = ∑ 2 ∑ 12(< @<A<B< ∑ C45>2=?

= ∑ D ∑ 12(<∑ C45>2=? = ∑ D ∑ 08 D>2=?

= ∑ D E∑ 08 D >F(<2=? ∑ 08 D>F(<2=>F G

1 ∑ 0: ; 1(<&=

H I ∑ D1 J

Where J is the blocking probability for service‘t’.

Page 18: UMTS

18

Chapter 3

Uplink capacity calculation

Assume K) is signal to interference-plus-noise ratio of user ‘i’ at the base

statio (BS)

K) = LMNO

P) = 1MQM R% =

N<O< 1MS

Where:

P) : Energy per bit

R% : Interference plus noise spectral density

) : Received power of user ‘i’

T) : Rate of user ‘i’ (bits per second)

R% : Total power at receiver of BS = N + Iown + Iother

W : Band width = chip rate = 3.84 * 106 Hz

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) = 1MSQMN<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) = 1MS&M QMN<O<1M

K) = 1MSQMN<O<1M ) SQM UM = Itot – Pi

) R%1 VT)K)

Page 19: UMTS

19

Let W) F XYMZM

This is the loading by user

) R%W) At BS the ratio

N<O<> 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%: 11 1 R%[\R%

Since ) R%W) ∑ ) R% ∑ W) R%[\ R% ∑ W)

N<O<> F^ ∑ _MM `

Where a: the total loading

Page 20: UMTS

20

The uplink is interference- limited. In actual systems a is kept below, say 0.8.

In general, a should be less than a*bc

N<O<> ` 1 a >N<O<

a 1 :R% d a*bc

But

R%[\ R% ∑ W) R%[\ R%[\ R%]'( : 9 W)

R%[\ R%]'( : ∑ W)1 ∑ W)

1 :R%[\ R%]'( : d a*bc

1 :R%]'( : 11 ∑ W)

1 1 ∑ W):R%]'( : d a*bc

R%]'(R%]'( : :R%]'( : 9 W) d a*bc

9 W) R%]'(: d a*bc eR%]'( :: f

9 W) 1 a*bc R%]'(: d a*bc

Now an additional user x would increase ∑ W) by F XZgYg

Wc. If loading plus

1 a*bc NO<hiA> exceed a*bc , the request is blocked. Then condition of

blocking is

1 a*bc R%]'(: a*bc j9 W) Wck

R%]'( is taken as a log normally distributed random variable. This means that

log R%]'( is Gaussian.

Blocking R%]'( >l`m@g∑ _MF_gn`m@g

Page 21: UMTS

21

log R%]'( log r:la*bc ∑ W) Wcn1 a*bc s

Blocking probability, given a current load ∑εi for a demanded εx, equals to

Q [| tuvwxjym@gzl∑M|gnkzym@g |µ

~ ], where S is the standard deviation of log (Iother).

Before proceeding, & because it is sometimes needed, let’s find statistics of

log (Iother) in terms of those of Iother. (Log=loge)

Let x=b log (Iother) Iother=bc

µx=b ε (log (Iother)) =

µb

Var(x) =bS2 std(x) = =σx

f(x) =

σ√π exp (- lcµgn

g )

E (Iother) = ∫bc σ√π

exp (- lcµgng ) dx=

σ√π

∫exp (- cFµgcµggbcg ) dx

=

σ√π ∫exp (-

EclµgFgbnGFµglµgFgbng ) dx

=exp (gb

µc)

E (Iother) =exp (gb

µc)

E (I2other) =exp (2c 2µc)

| E (Iother) |2=exp (c 2µc)

logR%]'(

Page 22: UMTS

22

c=blog(1+ &b(NO<hiA|NO<hiA|)= ~

b

µc= µb= b log [E(Iother)] - blog(1+

&b(NO<hiA|NO<hiA|)

In order to calculate service blocking probability, we consider loading ∑εi as a

resource. We quantize ∑εi using, for example, the loading of the least

demanding service .If the least demanding services index is 1, then

D WW7 1

For other services, we use approximation εt

rt=round(L<L )=round(

F Z<Y< F ZY )

The system states are

What is the probability of the Q function defined above??

It is the probability of blocking if service‘t’ is requested while the system is in

state (j) & all the users are active.

Page 23: UMTS

23

(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.

How can we get B (t, j) from (t, j)??

P (j) = ∑ 68 D b<(<2 (1-B (t, j-rt))

If Pj (t*) is the probability of arriving at state j by requesting service‘t*’

Pj (t*)=

1l2(<+n@<+A<+B J+,2(<+12

Define occupancy Λ(c, j) as the probability of having loading jP, while the true

loading due to active users is cP. Λ(c, j) = ∑ 2 [Λ(c-rt, j- rt) vt+ Λ(c, j- rt) (1- vt)]

where: t is the sum over services.

The first term is due to a service requestor who intends to be active. This

requestor would increase both loading & actual loading by rt.

The second term is due to a service requestor who intends to be inactive.

This requestor would increase loading by rt, but the actual loading would

remain at c due to user’s inactivity.

Note that Λ (0, 0) =1 as no loading means no active loading. Now we can

relate B (t, j) & (t, j)

B (t, j) =∑ Λc, jβt, c 2=?

Note that in Λ(c, j), c can be anything from 0 (no users active) to j (all users

active).

Also (t, 0) = B (t, 0)

So here is how the iterations would work to get state probabilities

Page 24: UMTS

24

- (t, j) are calculated.

- B (t, j) & Λ(c, j) are initialized.

Λ (0, 0) =1

B (t, 0) = (t, 0)

For every j: p (0) =1, p (x‹0) =0

P (j) = ∑ 68 D b<(<2 (1-B (t, j-rt))

Pj (t) =12(<@<A<B J,2(<

12

Λ(c, j) = ∑ 2 [Λ(c-rt, j- rt) vt+ Λ(c, j- rt) (1- vt)

B (t, j) =∑ Λc, jβt, c 2=?

After getting the state probabilities, we normalize

68 68∑ 68 Blocking for service t is:

J 9 682 , 8 This calculation depends on statistics of R%]'(.This would be a tricky part. For

the time being we can use:

PR%]'( 3 + 10 , D ; 0.57

For η*bc 0.8

PR%]'( 1.2 + 10 , ; 0.57

For η*bc 0.6

Called coefficient of variation

Page 25: UMTS

25

PR%]'( 5 + 10 , ; 0.67

For η*bc 0.4

PR%.'( 1.7 + 10 , ; 0.88

For η*bc 0.2

3.1. UMTS uplink:

β(t, j) is the probability of blocking if the system is in state ‘j’ in which all the

users are active, and the service requestor demands service t.

Condition for blocking: ∑ W) W 1 a*bc NO<hiA> a*bc

8 DI j ∑ _Mb) '(&)' \)k

β(t, j) probability that Iother exceeds >`m@g∑ _M_<`m@g

If Iother follows the lognormal distribution:

, 8 ¡LtuvNO<hiAtuv¢xlym@gz∑ £Mz£<nzym@g ¤¡¥&b(tuvNO<hiA ¦

∑ W) 8 + § D; I : 6¨D : ©¨, where w=3.84*106 (Bandwidth) : 6¨D ª >[ 1.38 + 10 + 300 4.14 +10 ¨ «¬ 174 «¬

Load due to

requested

service

current

load

­ 12 D e ­√2f

Page 26: UMTS

26

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.)

If we are given PR%]'( and coefficient of variation of

R%]'( ®&b(NO<hiA¯LNO<hiA° ;R%]'(. PlogR%]'( log PR%]'( log1 ¯;R%]'(° ;DlogR%]'( log1 ¯;R%]'(°.

(from page 4 ‘uplink capacity calculation)

Note that in the equation for β(t, j), Iother and N are in power units. It is

correct to use power density units for both. The value of PR%]'( provided in

page 7 in uplink capacity notes are in watts/Hz.

After β(t, j) is calculated, the blocking probability of each service can be

obtained by following the procedure in pages 6 and 7 in uplink capacity

notes.

3.2. The problem with Iother:

Iother is the interference from users not controlled by the Bs under study.

Users controlled by certain Bs generate Iown in the Bs receiver. They also

produce Iother in receivers of the neighboring BSs. The distribution and

statistics of Iother are, therefore, a function of the admission control algorithm

and its parameters such as service load and ηmax.

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.

That is for each loading value, we do a number of simulations proportional to

its probability. For each loading value, and for each simulation run, we

generate a vector of services with the following two properties:

Page 27: UMTS

27

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

61 bbFbFb± 0.6, 62 0.3, 63 0.1, We may use the following code, given

p=[0.6 0.3 0.1] Service_vector=zeros(1,300); For g=1:300

u=rand; if u<=p(1) service_vector(g)=1;

elseif u<=sum(p(1:2)) service_vector(g)=2; Else service_vector(g)=3;

end end To implement more efficiently, we can do the following:

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

Page 28: UMTS

28

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.

Afterwards, we can generate geographical locations for the users. We need to

specify a probability density function for users’ distribution in a cell. For

example, if the probability is uniform over the area.

P(r,²) ³ b The probability of being in a ring of radius r and thickness

dr = f(r) dr = ³ ( ´ (³ b b D D

Using matlab’s rand generates a uniformly distributed random variable from

zero to one, x

To transform f(r) d r = f(x) dx to f(r)

µ 2 ; ;(

? µ ­c?

D ­ D √­

That is, to generate the locations of L users, we can use:

__§ + ·DlD1, ¸n; Remember that this presumes a uniform distribution of users over area.

Parameter ’a’ can be taken larger than the radius of the cell. We are

interested in users controlled by a certain BS. For a mobile unit to be

controlled by a BS, the total attenuation,º, between it and the BS (including

shadowing and path loss) should be less than that between it and

neighboring BS’s. º can be estimated by ray-tracing techniques, which take

a a

Page 29: UMTS

29

into account the particular structure of cells, or is represented by several

theoretical and empirical models. We can initially use

º J~ 10.» DJ~* 10~F~?√ 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.

º%]'( 10.» D%]'(* 10F±?√ 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

toto = L; Loss_to_own_over _Loss_to_other=[]; While toto>0 Shadowing1=shadowing_std*randn; Shadowing2=shadowing_std*randn; Shadowing3=shadowing_std*randn; 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

other

Apply Cosine rule

BS other

radius

²

Page 30: UMTS

30

Then??

We want to calculate R%]'( for a particular simulation run.

Remember that

) W) R% R%[\ R% ΣW) (1)

If we write this equation in terms of the transmitted powers

1M<½¾¿,M W) R% ) W) ºJ~,) R%

The power received at another BS is

),%]'( W) ½¾¿,M½O<hiA,M R% Sum over users

R%]'(À R% Σ W) ½¾¿,M½O<hiA,M (2)

Loss_to_own_over_loss_to_other

Let’s expand equations 1 & 2 from the previous page

Iown= (Iown+Iother+N)∑εi

R%]'(’ = (Iown+Iother+N) ∑εi ¾¿,MÂO<hiA,M

What is the difference between Iother & R%]'(’ ?

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.

To get an equation for Iother , we will assume that

R%]'(’ =Iother

6

That is, we assume

Page 31: UMTS

31

*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.

R%[\ R%[\ R%]'( : 9 W) R%[\ ∑ W)1 ∑ W) R%]'( :

R%[\ R%]'( : 11 ∑ W) R%]'( : §I R%]'(6 R%[\ R%]'( : 9 W) º J~,)º %]'(,)

R%]'( 6 ∑ W) º J~,)º %]'(,)1 ∑ W) R%]'( :

R%]'( 6 ∑ W) º J~,)º %]'(,)1 ∑ W) :

1 6 ∑ W) º J~,)º %]'(,)1 ∑ W)

R%]'( ¢6 ∑ W) º J~,)º %]'(,)¤ :1 ∑ W) 6 ∑ W) º J~,)º %]'(,)

Don’t forget to weight summations by activity factor (with ones corresponding

to active users, and zero to inactive).

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.

Page 32: UMTS

3.3. Uplink calculations flowcharts

3.3.1. Beta generation:

32

lations flowcharts:

Beta generation:

Page 33: UMTS

3.3.2. Kaufman-Roberts:

33

Roberts:

Page 34: UMTS

3.3.3. Iother cdf estimator:

34

cdf estimator:

Page 35: UMTS

35

Chapter 4

Capacity Calculation for the Downlink

Let Pit,x be the power transmitted by BSx to the mobile unit of user i, which is

power-controlled by X.

The signal to interference-plus-noise ratio (SINR) at the receiver,K),c, is given

by:

K),c ),cVº),cT),c ¢: ],cº),c Ã),cº),c l%,c ),c ],cn ∑ %,ĺ),ÄÄ ¤

Where:

Ri,x is the data rate of the service utilized by user ‘i’,

W is the ship rate (3.84e6 Hz),

º),c is the total path loss between the BS and the mobile unit,

N is the thermal noise power,

Psch,x is the synchronization channel(SCH) power ,

SCH is a downlink signal used for cell search,

Ptot,x is the total power radiated by BSX,

Ptot,y is the total power radiated by neighboring BSY,

º),Ä 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

Page 36: UMTS

36

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 VK),cT),c : º),c ],c l1 Ã),cn %,c Ã),c Ã),c),c 9 %,ÄÄ º),cº),Ä

),c 1Ã),c VK),cT),c ¯: º),c ],c l1 Ã),cn %,c Ã),c 9 %,ÄÄ º),cº),Ä°

Define loading factor W,c ÍM,gF XZM,gYM,g )<,g W),c Î: Ψ),c ],cl1 Ã),cn %,cÃ),c 9 %,Ä Ψ),cΨ),ÄÄ Ð

If we sum over users,

9 )<,g) %,c ],c ],c 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.

Page 37: UMTS

37

We thus have,

%,c ],c ],c : 9 W),cΨ),c) ],c 9 W),c1 ) Ã),c %,c 9 W),c) Ã),c 9 %,ÄÄ 9 W),c Ψ),cΨ),Ä)

%,c : ∑ W),cΨ),c) ],c 1 ∑ W),c1 ) Ã),c ],c ∑ %,ÄÄ ∑ W),c Ψ),cΨ),Ä)1 ∑ W),c) Ã),c

A simple admission control algorithm can be to accept a call if %,c remains

less than a specified value Pmax .

The local blocking probability would then be the probability that Ptot,x,

including the required power for the requested service, exceeds Pmax :

Probability (Ptot,x ≥ P max)

The computation of this probability generates the beta matrix β (t,j).

Sorrowfully, the calculation is not as easy in for the uplink. The problem is

that the loading factors Єi,x are mixed with Ψ),c , Ψ),Ä and Ã),c. One way

around this problem is to replace Ψ),c , Ψ),Ä and Ã),c by their average values.

Hence, a summation like ∑ ÑÒ,Ó Ψ),c , for example, would become

<Ψ),c>∑ fi,x , and we get the total loading separated. We would use a more

rigorous approach based on …..(Monte Carlo) simulations.

These would resemble a lot the simulations we do to get the statistics of R%]'( in the uplink.

Actually, we would have to do two simulations. Why? Because Ptot,x depends

on Ptot,y and Ptot,y can’t considered independent of Ptot,x (this is exactly the

same as the dependence between R%[\ and R%]'( in the uplink).

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

Page 38: UMTS

38

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.

4.1. Calculation of beta Matrix:

Parameters:

Noise Power density=1.26*1020

W/Hz

3 services

Rates: 12.2, 64, 144 kbps

γ : 5, 4, 3 dB

Radius: 1 Km

Traffic: 30, 5.57, 1.2 mE/per user

*bc: 8 W

]: 1% *bc , ]: 24% *bc

Path exponent = 3.8

Standard deviation of shadowing=8dB

Ã),c: uniformly distributed over [0.4, 0.6]

%,Ä: Gaussian

Ô %,Ä 0.5*bc

Standard deviation of %,Ä 0.05 *bc

beta=zeros(num_of_services, max_load);

max _Ù ­I ÙÚ§ D; I

For iter=1:500 (or any large number)

Generate a long service vector taking into account the different service

probabilities. Assume length is G. You may set G to max_load.

Page 39: UMTS

39

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.

Assume distance between X and

its neighbors is double the radius.

Assume also uniform 60 degrees.

**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.

**Calculate the metric

Metric= : 9 Û),c Ü),c ],c1 9 Û),c 1 Ã),c ],c 9 %,ÄÄ 9 Û),c Ü),cÜ),Ä *bc1 9 Û),c Ã),c

**Calculate the column of matrix to be updated after this

simulation run

Column=round(sum(loading_vector(1:index))/basic_service_unit)

**if(column dnum_of_columns_in_beta)

x

60 60

60

Page 40: UMTS

40

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 the three loops

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.

4.2. The aftermath of beta calculation:

After beta is estimated, the Kaufman-Roberts recursion is evoked to estimate

the state probabilities and the blocking probabilities of the different services.

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.

Page 41: UMTS

41

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) ;

indices_of_loads_to_be_examined = find(state_prob > 0.01) ;

For index = 1:length(indices_of_loads_to_be_examined)

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))) ;

For simulation_index = 1:num_of_simulations

*Generate a service vector with respective service arrival

probabilities.

*Generate the corresponding loading vector.

*Take from loading vector the first entries whose sum is equal to

examined_load.

*Generate activity vector.

*Generate users (locations, total attenuation between them &

SX &neighboring BS’s).

Make sure the total path loss between X & mobile units are less

than

that between the units & neighboring BS’s.

*Use assumed statistics of Ptot,y to compute:

Ptot,x=

>∑LM,gÂM,gF1ÝÞh,g¯F∑LM,gÍM,g°F1ÞÞh,gF∑ 1<O<,ß∑M,gàM,gàM,ßß∑LM,gÍM,g

(Incorporate activity)

Page 42: UMTS

42

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 .

Page 43: UMTS

43

4.3. Downlink flowcharts:

4.3.1. Beta generation:

Page 44: UMTS

44

4.3.2. Ptot,y cdf estimator:

Page 45: UMTS

45

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.

Page 46: UMTS

46

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

SSdesign = RBSsens + BL + CPL + BPL + PCmarg + Ráã-Int + LNFmarg

Where:

Lpath is the path loss (on the uplink) [dB]. á is the maximum user equipment output power (= 21 or 24) [dBm].

RBSsens is the RBS sensitivity. It depends on the RAB [dBm].

LNFmarg is the log-normal fading margin (this margin depends on

the environment and the desired degree of coverage) [dB]. Ráã is the noise rise [dB].

Int is the Interference margin [dB].

PCmarg is the power control margin, dependent on channel model [dB].

BL is the body loss (= 0 or 3) [dB].

CPL is the car penetration loss (= 6) [dB].

BPL is the building penetration loss [dB].

5.1. Detailed explanation of link budget terms:

5.1.1. Maximum Path loss:

The maximum path loss allowed, ¸ Cb]*bc is obtained when

SSRBS = SSdesign

So solving for ¸ Cb]*bc we obtain: ¸ Cb]*bc á +Gant –Lf+j -RBSsens -BL -CPL -BPL -PCmarg - Ráã+Int –

LNFmarg

5.1.2. Power of User Equipment:

Maximum transmit power is dictated by the UE class. Next Table shows the maximum transmit power for each UE class and the associated tolerances. A voice-centric (i.e., handheld) UE is usually class 3 or 4.

If the network can mix UE classes, the Link Budget should be drafted for the highest class.

Page 47: UMTS

47

5.1.3. RBS Sensitivity:

T'\ : : 10 + logT'( R% : is the thermal noise power density= -174 «¬ : is the noise figure. T'( is the user bit rate (information bits per second, excluding retransmission)

We can also get the values from tables using the bit rate and channel model.

Thermal Noise Floor:

The thermal noise floor in this Link Budget is calculated using bit rate, not chip rate,

to ensure consistency with the sensitivity calculation. Thermal noise floor affects the

sensitivity.

Receiver Noise Figure:

The Node B noise figure should be consistent with the site configuration. A value of 4 to

5 would assume that no TMAs are used.

Information Full Rate:

Information Full Rate is the bearer data rate. On the Uplink, the main data rates are

12.2 kbps for speech, and 64 kbps for PS or Circuit Switched (CS) data services. Release

99 of the standard supports higher data rates of up to 384 kbps for PS (limited to

64 kbps for CS), but these rates are not commonly implemented.

Required Eb/Nt: The required Eb/Nt, energy per bit-over-total interference (Nt) ratio is influenced by four

factors: the coding of the bearer, channel conditions, the target BLER, and the quality of

the receiver.

Page 48: UMTS

48

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.

5.1.5. Log-normal Fading:

Considering that the received signal at a given location can be represented by a Gaussian

distribution, the LNF can be estimated as a complementary cumulative probability

distribution function. For easy implementation in a spreadsheet, this can be determined

from the cell edge probability (ε) and the standard deviation in the area (σ), as shown in the equation :

LNF = −NORMINV(ε, 0, σ) = σ × Q(ε)

Where:

Cell Edge Confidence:

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.

Page 49: UMTS

49

Standard Deviation:

Standard deviation represents the dispersion of the path loss or received power measured

over the coverage area. The morphology of the area – manmade structures and natural

obstacles – disperses the signal propagation by altering the line of sight and causing

diffraction, refraction, and reflection. The standard deviation shows limited correlation

with frequency, but this can vary greatly with morphology. In cities, the standard

deviation can be estimated as 4 to 12 dB. Table 2.5 shows standard deviations by land

use density.

5.1.6. Handover Gain:

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.

Page 50: UMTS

50

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.

5.1.8. Building Penetration Losses:

Building Penetration Loss (BPL) is discussed in Chapter 8. In our sample Link Budget, BPL is a single number, although in reality the value depends on the area of expected coverage. Values below 20 dB are usually sufficient to cover the ground floor area immediately Inside the outermost walls of the building.

Values up to 45 dB would be required to cover 95% of the ground floor space. This amount of coverage may require other deployment.

Scenarios, such as microcells or an indoor solution, to overcome the interference created by the external building walls.

5.1.9. Car Penetration Losses:

Car penetration losses depend on car type and construction, as well as local regulations.

Historically, for network design, car penetration losses were set between 3 dB and 6 dB.

For newer car materials, such as heat-efficient glass, this value can be increased up

to 10 dB.

Page 51: UMTS

51

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).

5.1.11. Cable and Connector Loss:

Because a handheld UE typically does not use an external antenna, this item is null. For data cards, external antennas are commonly available. If this option is widely used in the network, the loss associated with the cable should be counted. In addition, the Link Budget also must account for the antenna gain (typically 3 to 6 dBi).

After these calculations we get the path loss then using the propagation model we get the radius of the cell.

5.2. Propagation Model:

5.2.1 Okumura-Hata Model:

Most popular model Based on measurements made in and around Tokyo in 1968 between 150 MHz and 1500 MHz

• Predictions from series of graphs approximate in a set of formulae (Hata)

• Output parameter : mean path loss (median path loss) LdB

• Validity range of the model :

• Frequency f between 150 MHz and 1500 Mhz

• TX height hb between 30 and 200 m

• RX height hm between 1 and 10 m

• TX - RX distance r between 1 and 10 km

3 types of prediction area :

•Open area : open space, no tall trees or building in path

• Suburban area : Village Highway scattered with trees and house

Some obstacles near the mobile but not very congested

• Urban area : Built up city or large town with large building and houses

Village with close houses and tall.

Definition of parameters :

hm mobile station antenna height above local terrain height [m]

dm distance between the mobile and the building

h0 typically height of a building above local terrain height [m]

hb base station antenna height above local terrain height [m]

r great circle distance between base station and mobile [m]

R=r x 10-3 great circle distance between base station and mobile [km]

f carrier frequency [Hz]

Page 52: UMTS

52

fc=f x 10-6 carrier frequency [MHz]

λ free space wavelength [m]

• Okumura takes urban areas as a reference and applies correction factors

Urban areas : LdB = A + B log10 R – E

Suburban areas : LdB = A + B log10 R – C

Open areas : LdB = A + B log10 R – D

A = 69.55 + 26.16 log10 fc – 13.82 log10 hb

B = 44.9 – 6.55 log10 hb

C = 2 ( log10 ( fc / 28 ))2 + 5.4

D = 4.78 ( log10 fc )2 + 18.33 log10 fc + 40.94

E = 3.2 ( log10 ( 11.7554 hm ))2 – 4.97 for large cities, fc ≥ 300MHz

E = 8.29 ( log10 ( 1.54 hm ))2 – 1.1 for large cities, fc < 300MHz

E = ( 1.1 log10 fc – 0.7 ) hm – ( 1.56 log10 fc – 0.8 ) for medium to small cities

Okumura-Hata model for medium to small cities has been extended to cover 1500 MHz to 2000 MHz (1999):

LdB = F + B log10 R – E + G

F = 46.3 + 33.9 log10 fc – 13.82 log10 hb

E designed for medium to small cities

G =ä0 dB medium sized cities and suburban areas3 dB metropolitan areas

"

a(åf)=3.2(log(11.75 åf))2-4.97

a(1.5)=0

The cell range is given by: T 10Í

Where, Ã ¸Cb]*bc æ 13.82 log å å*44.9 6.55 log å

Page 53: UMTS

53

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:

Then the number of sites ©Ù ;DÚ DÙÙ D

Page 54: UMTS

54

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:

Page 55: UMTS

55

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.

In our program (see attached cd in “balancing.m”), we used the bisection method to obtain the previous algorithm. While the difference between the number of base stations of the uplink capacity and uplink coverage is greater than zero we increase the maximum loading with some step, and if it goes below zero we decrease the maximum loading by the same step, then we divide the step by two and then we reuse the new maximum loading to obtain the new difference between the number of base stations.

Page 56: UMTS

56

UMTS

Physical Layer

Implementation

Page 57: UMTS

57

Chapter 1

WCDMA Physical layer implementation

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.

1.2. Downlink Transmitter:

The signal transmitted by the BS can be written as:

∑ ¥PñN VñN cos2ò ∑ ¥PñóñVñósin 2ò ôO=?ôOô=? )

Page 58: UMTS

58

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.

• ‘W (K)’: is the Walsh code or sequence assigned to user ‘K’. W(0)

(The pilot Walsh code ) is always one. The different Walsh sequences

are orthogonal when aligned. The two-chip long Walsh codes are : 1 1 õ V1 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

1

Page 59: UMTS

59

Same as 2*2

Walsh codes of length N can be generated recursively from length-2 Walsh

sequence. If we want the codes of length 4,

For length-8 Walsh sequence:

1 11 1 1 11 1

1 11 1 1 11 1

1 1 1 1 1 11 1

1 1 1 1 1 11 1

1 11 1 1 1 1 1

1 11 1 1 11 1

1 11 1 1 1 1 1

1 11 1 1 11 1

Note that:

1. All the codes are orthogonal on each other.

2. With the exception of the all-ones code, the number of ones in

each code is equal to the number of minus ones. This means that

summing the chips of each code gives zero.

• ‘SI’ and ‘Sq’: Are two BS – specific sequences called Scrambling

codes [1]. Each BS has its own scrambling codes ,i.e., scrambling

codes differentiate between BS’s (Whereas the users controlled by a

BS are discriminated by their assigned Walsh sequences). The

scrambling codes belong to the pseudo-random noise family of

codes. These are produced by certain shift registers with feedback.

And have the following two important characteristics:

1. The cross correlation between different codes is very low.

2. The correlation between a code and a shifted version of itself is very

low.

The scrambling code [2] is at the chip rate.

1 11 1 1 11 1

1 11 1 1 11 1

Same as 4*4 Same as 4*4

Negative of 4*4 Same as 4*4

Same as 2*2

Same as 2*2

Negative of 2*2

Page 60: UMTS

60

1.3. Downlink Receiver:

1.3.1. Received Signal:

After propagation through the channel, the mobile unit receives (see

transmitted signal)

9 ö9 ¥P N,4 V4 N,4Ã4 cos2ò Ü4÷

ã

4= 9 ¥P ó,4 V4 ó,4Ã4 sin2ò Ü4÷

ø

Index 'l' runs over the paths by which the signal is received at the mobile

unit. 'L' is the number of paths.

'Ã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).

2 cos 2ò cos2ò Ü4 cos4ò Ü4 cos Ü4 cos Ü4 after LPF 2 cos 2ò sin2ò Ü4 sin4ò Ü4 sin Ü4 sin Ü4 after LPF 2 sin 2ò cos2ò Ü4 sin4ò Ü4 sin Ü4 sin Ü4 after LPF 2 sin 2ò sin2ò Ü4 cos4ò Ü4 cos Ü4 cos Ü4 after LPF

Received Signal

Page 61: UMTS

61

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=

1.3.3. Path Searcher:

In order to retrieve the in-phase data sequence dI(k), we multiply the signals

at A and B by an SI sequence synchronized with one of the paths. How can

this synchronization be achieved? Let's digress to investigate this issue

thoroughly.

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.

Samples of the

received frame

Page 62: UMTS

62

The BS sends:

0 1 2 3 4 5 101 102 313 314 38399

What is received is:

Noise

+

+

First significant path

+

Second signification path

+

Third significant path

We get the sum

>38400 samples

Page 63: UMTS

63

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.

If we now sum over the chips within one bit duration, i.e., sum over N

consecutive chips, ∑ N,4 +>\= ó,4 would result in a near zero value (as the

number of ones ≈ number of 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).

Not only that, N,4 + N,& would also have an approximately equal number of

ones and zeroes.

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:

At 'C' → N¥P0 ù4 cos úû + noise + interference

At 'D' → N¥P0 ù4 sin úû + noise + interference

Note the role of pilot

The other terms are not

eliminated completely

Page 64: UMTS

64

thus,

At 'C' → ªN = N¥P0 ù4 cos úû + VI

At 'D' → ªü = N¥P0 ù4 sin úû + Vq

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

chip in each branch is N÷ .

We get > N÷ because we have summed over N chips over which interference

plus noise are assumed to be uncorrlated from chip to chip.

What is the probability density function of signal 'Z' at point E

Z = N + ü

Ä,ĪN , ªó ³ þ z x¥P0 5 5| z x¥P0 5 5

Why? Any two jointly Gaussian random Variables have the joint distribution:

³¥ ßz |ßz z ßzßzz

Where: µ1 is the mean of y1 ≫ εy µ

µ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ª ρ is the correlation coefficient between y1 and y2 LÄÄ

Page 65: UMTS

65

In our case: PªN :¥P0Ã4 cos Ü4 PýN :¥P0Ã4 cos Ü4 Plªün :¥P0Ã4 sin Ü4 Plýón :¥P0Ã4 sin Ü4 (Note that Ã4, φl are treated till now as constants)

;DªN ;DýN þ

;Dlªün ;Dlýón þ

P jlªN :¥P0Ã4 cos Ü4nlªó :¥P0Ã4 sin Ü4nk PlýNýón 0 0

Now we will do a transformation of variables: ªN √ cos ªü √ sin

What is fz,β(Z,β)? ,, Ä,ĪN , ªó Ä,Ä, Ä,Ä, u√ √ sin

Ò√ √ cos cos sin

,, ³þ ß|ß |xÞ÷5zßx¥Þ÷55zßx¥Þ÷55

Let

,, ³þ |xÞ÷5z√ x¥Þ÷5 l!z5n

" ,, " ³þ³? |xÞ÷5z√ x¥Þ÷5 l!z5n

þ |xÞ÷5 ³ " √ x ¥LÞ?Í5 u#5 ³?

1ý F>LÞ?Í5þ R? $2¥:P0Ã4ý %

To be accurate, this is the pdf of Z conditioned on Ã4 /Ã4 as we

considered Ã4 to be a constant.

From experiments, Ã4 has been known to follow a number of distributions depending on the mobile environment.

ªN ªü

Modified Bessel function of order zero

Page 66: UMTS

66

If there is no line of sight (LOS) between BS and mobile unit, Ã4 is mostly Rayleigh. Consequently, K Ã4 is exponentially distributed. UK Z, K â 0 PK PK 2» ;DK PK |PK| » Standard deviation of K √» 2 That is, σ2 is both the mean and the standard deviation of K.

" , K K " jUk KK

" þ |xÞ÷Z R? e¥>LÞ?Uþ f ZK'?

þ " |xÞ÷| Z R?'? e¥>LÞ?Uþ f K

Our Strategy to solve this integral is to cast it as a pdf function with γ as a

variable. We can then benefit from the fact of pdf’s integrating to one.

& " Z| x Þ÷| ((xÞ÷| ( R% e¥> LÞ? U& f K '?

& " Z| x Þ÷| ((xÞ÷| ( R% )*+, x Þ÷ Zx Þ÷| (

(x Þ÷| ( -./ '? K

;:P0 ; We need here to have:

This guy should be equal to

Page 67: UMTS

67

1; µ ­6)**+

K : P0 : P0 ; : P0 ; : P0 : P0 ;;j:P0 ;k -../

'?

. R% )**+2, : P0 K: P0 ;

;: P0 ; -../K

Take out the terms that are not a function of K.

­6 ö x Þ÷ x Þ÷| (F x Þ÷| ((xÞ÷| ( ø >LÞ?F (

(xÞ÷| ( " exp '? ö UF x Þ÷ x Þ÷| ((xÞ÷| ( ø R% )*+, x Þ÷ Zx Þ÷| (

(x Þ÷| ( -./K

This integrates to one. Compare with the enclosed formula in page 8 to

ascertain that this is a pdf proper.

1; : P0 &F > LÞ? This derivation is predicated on the assumption that locally generated

scrambling code is synchronized with one of the received paths. If this is not

the case – something expected when we are still searching for paths within

samples of the received frame, ªN ;N ü ;ó 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.

It can be easily shown that in this case:

1; &

:P0 ;

; needs to be:

Page 68: UMTS

68

So what we have now are the pdfs of Z in the two cases of synchronization

and lack of alignment:

|1ª1 1; : P0 &F > LÞ? |ÀI ª1 1; &

Recall in your mind the meaning of a pdf before looking at the figure below.

+ gives the probability of variable Z lying within the interval

[+ ´ ,+ ´ ]

ý.

z/v

ý. |ÀI ªÀ

ý. |ÀªÀ

: P0; 2

Page 69: UMTS

69

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?

1.3.3.3. path searching algorithm:

We can now devise the following path searching algorithm

received

samples

sequence of ones and

minus ones of the locally generated scrambling

code

• Multiply and add over ‘N’ consecutive chips (in both the in-phase and

quadrature branches).

• You then get YI & YQ.

• Compute Z=YI2+YQ

2.

• 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.

From figure in page 11, Z* can be chosen as 2V (V is estimated by the

receiver), because below 2V, f(Z|’un-sync’)>f(z|’sync’) and above 2V,

f(Z|’sync’)>f(Z|’un-sync’) (choosing the point of intersection is only the only

option. Please see below).

Can things go wrong? OF COURSE. We are dealing with random variables

here. Z can be greater than Z*, not because we have alignment, but because

we have had some excessive noise. Z can be less than Z* while

synchronization has been achieved, again because of the noise. The first case

Align scrambling code

starting here

Page 70: UMTS

is called false alarm because we decided that there is alignment but we are

just being fooled by noise. The second case is called

1.3.3.4. False Alarm and Detection Probabilities:

What is the false alarm probability?

Well, it is the probability that:

1. We do not have synchronization, and

2. Variable ‘Z’ exceeds Z

Vf(Z|

Note that: here we deliberately have not

(Z*/V) as threshold.

What is the detection Detection is when there So, detection probability P

1. We have synchronization, and2. Variable Z exceeds Z

70

because we decided that there is alignment but we are

oled by noise. The second case is called miss.

1.3.3.4. False Alarm and Detection Probabilities:

What is the false alarm probability?

Well, it is the probability that:

We do not have synchronization, and

Variable ‘Z’ exceeds Z* because of noise.

Vf(Z|’un-sync’)

3 " þ'+

False alarm probability is this

area

re we deliberately have not chosen the point of intersection

probability? Detection is when there is alignment and we decide that there is alignment. So, detection probability PD is the probability that:

We have synchronization, and Variable Z exceeds Z*.

because we decided that there is alignment but we are

Z/V

chosen the point of intersection

is alignment and we decide that there is alignment.

Page 71: UMTS

71

And so we decide in favor of alignment.

4 " þF>LÞ?'+ |xÞ÷

+ |xÞ÷

Vf(Z|’sync’)

Z/V

Detection probability is

this area

Note that PF and PD are linked together 3 + + ý ln 3

4 + |x5Þ÷ 678|x5Þ÷

4 3

|x5Þ÷

corresponding to z*=0

corresponding to z*=∞

Page 72: UMTS

72

Bad news! In a perfect world, we want PD =1 and PF =0. In reality,

If PD =1, PF =1 (because if you set the threshold + to zero and perpetually

say “sync. achieved” then in all cases of lack of synchronization, you would

decide that there is alignment ).

If PF =0 , PD is also zero ( because you cannot just protect your back by

never saying “sync. achieved”; you would never detect ).

Sometimes, + is determined by specifying some tolerable PF ( += - V ln PF ).

This is similar to CFAR (constant false alarm radar).

What is a good operating point for best PD and PF? Assume PD– PF relation as

follows

How can we make PD– PF relation look like that ?

: 4 3

|x5Þ÷ H Increasing >5Þ?þ would do the trick. But note that there is a hefty price.

We need to increase 50 and the total power transmitted by BS is limited to

a maximum value. Also, increasing 50 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.

So what is a feasible solution? AVERAGING.

Using Z*

corresponding to this

point would be great

as PD is close to one ,

and PF is close to zero.

x

Page 73: UMTS

73

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

Z is now here

Let’s call variable here Z’

À À À … … … ãÀ 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.

À þ ; Laplace

þ ~F

we have

L i.i.d <z =Ó>j kþ<ã! ³Ò? 'Ý@

þ<j~F k< þ<

j~F k< Similarly,

Similarly ,

f(Z|’sync’) = ABz=Ó> zCD| EFG÷ lHF I JK?nBL!

So in case we sum over L bit durations, and then divide by L

f (Z|’sync’)= ã<<z=Ó> zBCD|E F G÷lHF I JK?nBL!

f (Z|’un-sync’)= ã<<z=Ó> zBCD þ<L!

5

|1Iª1

F

Page 74: UMTS

74

PF=" fZ|Àun syncÀdZ'A+

=" LBA Bz =Ó> BCD HBL! dZ'+

Let ãþ =x

PF=" LBHBL!HBzLBzxLexpxHLdx'< +

= (L!)" xL expxdx'< +

= (L!)(" xL expxdx'? - " xL expxdx< + ? )

= (L! Г (L)-Г(L) Гinc (

ã+þ , L) where: Г is gamma function

Where incomplete gamma function is defined as

Гinc(x, L) = ( Гã) " ãc?

Г (L) = (L-1)!

H PF= 1- Гinc(ã+

þ , L)

Similarly ,

PD= 1- Гinc(ã+

þF> K? , L)

Page 75: UMTS

75

f(Z|’un-sync’)

f(Z|’sync’)

Z/V

L=10 (very close to what we want)

PD

L=5

L=1

PF

: P0ý 4

L=5

ý¸ 1!ã

Page 76: UMTS

76

In practice, we may oversample the received signal in order to achieve finer

alignment resolution.

Normalized output of correlator, each

tested shift is one fourth of a chip.

Page 77: UMTS

77

G

N,ã++

Estimate O, +

Estimate O», +

Vã+ñ+

Vã+ñ+

E

F

N,ã++ cos(2πfct)

sin(2πfct)

1.3.4. Rake Receiver:

Back to the detection circuit

N,ã++ is aligned with path L* as a result of the work of path searcher and

synchronization circuit.

(To get dq sequence, we multiply by ó,ã++ .)

1.3.4.1. Channel Estimator:

The channel estimator [2] is for the estimation of ù4 ²4 and ù4 ²4 . it uses averaging to get the estimates. Why we do channel estimation is

explained in page 25.

Channel estimator: ¥Þ?>P ∑ >P? averaging for Np chips,

Np is an integer multiple of N

Let:

ù4 ²4 O,4 ù4 ²4 O,4 At the point ‘C’ we have:

∑ ¯ ∑ ¥ N,4 V4 N,4 N,4+ + O,4 ôO=? ∑ ¥ ó,4 V4 ó,4 N,4++ O,4° ôO=?ã4=

At point D:

9 ¯9 ¥P0N,4 V4 ÷

=?ã

4= N,4 N,4++ O,4 9 ¥P0ó,4 V4 ó,4 N,4++ O,4÷

=? °

(signals at ‘A’ and ’B’ are given in page 4)

A

B

C

D

Page 78: UMTS

78

When we sum over Np chips:

• Terms with ó,4N,4++ are eliminated.

• Terms with N,4N,4++ when Ù Q Ù+ are eliminated.

• Terms with V4 , and Q 0 are eliminated.

We are left with: :C¥P0O,4+ D D (elimination is not perfect)

and :C¥P0O,4+ D D

for inphase and quadrature branches respectively.

Dividing by ¥P0:C, we get: O,4+ O,4+ >P¥LÞ? D D

O,4+ >P¥LÞ? ýNÀ O,4+ W4+

Similarly, O»,4+ O,4+ >P¥LÞ? ýóÀ O,4+ R4+

ýNÀ and ýóÀ are zero-mean Gaussian random variables ;DýNÀ ;DlýóÀn >PN÷

This is similar to ;DýN and ;Dýó (page 6), but with N replaced by Np. ;DW4+ >PLÞ? ;DýNÀ N÷>PLÞ? ;DR4+ N÷>PLÞ? lO,4+n O,4+ lO»,4+n O,4+

Now at point ‘E’ we have:

9 Î9 ¥P N,4 V4 V4+ +N,4N,4++ O,4O,4+÷

=?ã

4= 9 ¥P ó,4 V4 V4+ +ó,4N,4++ O,4O,4+

÷

=?Ð + O,4+

Page 79: UMTS

79

9 Î9 ¥P N,4 V4 V4+ +N,4N,4++ O,4O»,4+÷

=?ã

4= 9 ¥P ó,4 V4 V4+ +ó,4N,4++ O,4O»,4+

÷

=?Ð + O»,4+

1.3.4.2. Summing over N chips:

when we sum over N chips:

• Terms with ó,4N,4++ are eliminated.

• Terms with N,4N,4++ when Ù Q Ù+ are eliminated.

• Terms with V4 , and Q +are eliminated.

There for at point 'G' we get :

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.

User K* 3-finger Rake [1]

Page 80: UMTS

80

Let X be the aligned sum of all path processors: O :¥P +N ∑ lO,4O,4 O,4O»,4n4 ∑ O,4ýN,4 O»,4ýó,44

(additive white Gaussian noise) (Don’t forget that dq is obtained by repeating the above but through multiplication by ó,4++ )

1.3.4.3. Decision Level & Probability of Error:

Decision Level: If X>0 then dI=1 If X<0 then dI=-1 But there is a probability of error, Pe. 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?∞

′ ­

The two terms are equal in our case. Thus,

' µ c­/À 1 À'? ­

We would calculate an insightful approximation for ' using chernoff bound. If

the objective is to calculate" c­'Ω ­, we can write it as " I­ ''Ω c­ ­

But I­ Ω d cΩ for any 0 Unit Step Function =ä1 ­ Ω0 ­ Ô Ω "

Page 81: UMTS

81

Hence " c­'Ω ­ d " cΩ c­­

= Ω " c c­­

= Ω Pc In our case,Ω 0. We will choose ¥LÞ+NO

Pc for a Gaussian variable = F*

Where is the variance and m is the mean.

From page 22 m P­ :¥P + ∑ ­,4­,4 ­,4­»,44 given that ‘-1’ was transmitted ∑ ­,4 >NO4 ­»,4 >NO

' d Pc T ÞU+O xO ∑ c,5 5 F cT,5 ¥ÞU+ O ¥LÞ+ > ∑ c,5c,5Fc±,5cT,55

∑ x ÞU+ O5 Ec,5 F cT,5 lc,5c,5Fc±,5cT,5nG

∏ zx ÞU+O Wlc,5c,5Fc±,5cT,5nc,5 cT,5 X4

But O,4 O,4 W4 (page 20)

O»,4 O,4 R4 2lO,4O,4 O,4O»,4n O,4 O»,4 2 jO,4lO,4 W4n O,4lO,4 R4nk O,4 W4 lO,4 R4n 2O,4 2O,4W4 2O,4 2O,4R4 O,4 W4 2O,4W4 O,4 R4 2O,4R4 O,4 O,4 W4 R4 But O,4 Ã4 cos Ü4 (page 19)

O,4 Ã4 sin Ü4 H ' d ∏ jxÞU+÷ Í5kYxÞU+÷ l_5FZ5n[4

Are we done? Not yet because Ã4, W4,R4 are random variables. We need to

average over their distributions.

Ã4 5

" 5'? jxÞU+÷ Í5k Ã4 " j FxÞU+÷ kÍ5 Ã4'?

FxÞU+÷

This is an upper bound for the integral

Page 82: UMTS

82

W4 √³® ÷xPÞ÷

£5÷ xPÞ÷⁄

" xÞU+÷ _5 √³® ÷xPÞ÷

£5÷ xPÞ÷⁄ W4'?

√³® ÷xPÞ÷

" e ÷ xPÞ÷⁄ xÞU+÷ f_5 W4'?

To put in Gaussian pdf format: >PLÞ?N÷ >LÞ+N÷

√³ ® OxP5Þ÷

√³ + √³ + " eF]5Þ÷O F]5ÞU+O f^6 '? W4

® OxP5Þ÷

®F]5Þ÷O F]5ÞU+O

® xxP 5ÞU+5Þ÷

Noting δ4has the same distribution as 54 ' d

FF5ÞU+O . xxP 5ÞU+5Þ÷ ¦ã

Term for imperfect channel estimation

How can we reduce Pe?

xxP 5ÞU+5Þ÷ 1 To reduce', we want this term to be as close to

one as possible. This can be achieved by increasing pilot energyP0, 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.

FF5ÞU+O

Ô 1 To reduce', we want this term to be as small as

possible. Increasing the user’s energy is an option, but it is limited by 1 BS’s

total power, and 2 the 5Þ+5Þ? the ratio required for the second term to

approach one.

Page 83: UMTS

83

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.

1.3.4.4. Maximal Ratio Combining (MRC):

Why do we estimate the channel in the 1st place?

Assume the output of a branch of a rake finger=Xk+nk .We want to combine

the outputs in a way that maximizes signal to interference plus noise ratio

(SINR).

O ∑ VO ∑ V

We want to find wk that maximizes SINR.

Noise power at the output P|∑ V | P∑ ∑ VV*** ∑ ∑ VV*P* * For white noise, P* R*.

Hence, the noise power ∑ V .

SINR |∑ SU`UU | ∑ SUU

Assume that we have quantity V O, is real ∑ V O â 0 ∑ V ∑ O 2 ∑ VO â 0

If we choose as ∑ SU`UU∑ SUU , we get

|∑ SU`UU |∑ SUU ∑ O |∑ SU`UU |

∑ SUU â 0

H |∑ VO | d ∑ V ∑O Schwarz Inequality

SINR |∑ SU`UU | ∑ XUU d ∑ SU ∑`UU ∑ XUU d ∑`U

The maximum SINR is attained when wk=kXk, where k is a factor that is

constant. What this means is that the maximum SINR is achieved by

multiplying Xk by (a scaled version) of itself. Since the branches have either Ã4 cos Ü4orÃ4 sin Ü4, we need to estimate these quantities & multiply the

estimates by the coming stream.

This method of combination is called MRC (Maximal Ratio Combining).

Page 84: UMTS

84

Chapter 2

Forward Error Correction (FEC)

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

Assume that the probability of error is 6'.

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'.

What is the probability of error in the 3bits-per-bit system?

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.

Therefore 6'′ a 6' 1 6' a 6'

2 errors

2 out of 3 bits One correct

Probability of

error in

coded system

3 bits in

error

Page 85: UMTS

85

6'′ 3 6' 1 6' 6'

6' 0.01 , 6' ′ 0.000298

This is a significant reduction in 6'. The price, of course, is reduced rate as

we send each bit thrice.

A way of looking at coding is Hamming distance. When we send ones and

zeroes, the hamming distance = 1. If we send three ones (for a one) and

three zeroes (for a zero), the hamming distance between two codewords is

three. The hamming distance is the number of differences between two

codewords. Codewords are sequences sent by the transmitter.

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

How many bits we can correct?

We can correct up to floor (´mMb bits.

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*)\.

000

1st

111

2nd

codeword codeword

*)\ Hamming distance

Points at a distance of one form ‘000’.They are 001, 010, 100. If we

decide them in the receiver, we would say ‘0’ has been sent, which is

a correct decision.

Page 86: UMTS

86

The probability of error of a coded system, 6'′ , can be written as a function

of *)\.

When do we commit errors?

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.

6'′ aF^4%%(´mMb \ 6'F^4%%(´mMb

In our previous toy example

n=3 , dmin=3 , 1+ floor(´mMb ) = 1+1 = 2

P da ' 0.0003 , which is very close to actual '′ = 0.000298

2.2. Convolutional Codes: [1]

Redundancy is added via a shift register

Page 87: UMTS

87

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

length of output. Typically L≫k, and r d \ .

The number of states of shift register = 2 4 if k=3. We have either

00,01,10 or 11 . What happens if the register is in state 00 , and the input is

0 ?

The two outputs are zero

After shifting , the state would remain 00 .If the input data is one

The two outputs are one.

The next state will be 01.

Page 88: UMTS

88

a solid arrow means that input is zero,

while a dashed arrow denotes one.

The two bits over an arrow are the

outputs.

We can also draw the following state diagram

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.

Page 89: UMTS

89

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

input to output is © ZeZ

11 2R 1 2R 4R 8R f

© Rg 2Rh 4Ri 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.

For this convolutional code, dmin consequently, is equal to 5.

Generally dmin can be estimated by inputting one following by zeroes to the

all-zero initial state. What is dmin for the following convolutional encoder?

Page 90: UMTS

90

2.3. Viterbi Algorithm For Detection : [1]

Suppose that the covolutional

encoder of page 28 generates

an all-zero sequnce. The received

sequence is 0100010000

Calculate Hamming distances

between output of state transitions

and the received sequence.

j=2

j=3

j=4

j=1

Received

sequence

Received sequence

Received sequence

Received sequence

State 00

State 10

State 01

State 11

State 00

State 10

State 01

State 11

State 00

State 10

State 01

State 11

Page 91: UMTS

91

j=5

Matlab Convolutional encoding and Viterbi decoding:

Study the instructions poly2trellis, convenc, vitdec, quantiz

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.

2.4. Coding gain:

Using Coding, 'is reduced (see hard decoding case). The most

straightforward way of reducing ' is to increase signal-to-noise ratio. So if

we get a probability '′ for a coded system, we ask ourselves about the SNR

needed to achieve this '′ without coding. Using coding allows us to operate

at a lower SNR while achieving the same error rate. The ratio of SNR without

coding to SNR with coding for the same probability of error is the coding

gain.

The coding gain (dB) can be approximated as 10 log? j´mMb ( k for hard

decoding case and 10 log?*)\ D for soft decoding. The superiority of soft

decoding case stems from the exploitation of more information from received

data.

Received

sequence

State 00

State 10

State 01

State 11

Page 92: UMTS

92

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î) 9a)22 D2

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.

aî) ¥Dj 9a)2a2 2 9a)22 ;2

If k=i aî ¥Dj 9a22 ;2

If i≠k aî) ¥Dj 2 9a)22 ;2

Where:

n is the length of codeword,

d is the Hamming distance between codewords i and k.

Let’s confine ourselves to codeword I with the minimum distance to codeword

k,

aî) ¥Dj 2*)\ 9a)22 ;2

aî aî) 2*)\ ¥Dj 9 2´)^^'('\ );2

Page 93: UMTS

93

An error takes place if

aî aî) Ô 0

If the noise is Gaussian, jlD2n >÷ , and jl;2 ;4 n jl;2 nj;4 0

'′ )+2*)\ ¥Dj

®4*)\ :?2 -/ ö,2*)\Dj:? ø

√³ " ß∞c ª ß Ù

√³ " 'z5√4∞g Ù d √³ g for

c 1

'′ ù g ù kmMbAjðx÷

H aÚ Ú ~ 10 log?*)\D For hard decoding case,

' ,2Dj:? '′ ù 'F^4%%(jkmMbz k ù '

kmMb

'′ ~ Î ö,2Dj:? øдmMb

'′ ù (jðkmMb>÷+ ù ´mMb(jð>÷

Note: the added ‘r’ is to take into account the addition of redundancy.

Page 94: UMTS

94

Chapter 3

Estimation BER via Simulation

If a frame of data bits has m bits, and if the simulated receiver produces v bits

in error, then &* represents an estimate of BER. For N simulation runs, the

estimate of BER is equal to ∑ þUxUm>* where Vk is the number of errors in the kth

run.

The most important question now is how much confidence we have in the

estimated BER in relation to its (unknown) true value.

Let µ be the true value of BER, µn be the estimated value, and S be the

standard deviation ® > ¢∑ joþU*p µnk>= ¤ jµn > ∑ jþU* k>= k.

A known result from probability theory is that, for large N, the quantity µnµ~ √>

follows Students’ T distribution With N-1 degrees of freedom

Let’s say that we are interested in an upper bound for µ.

This upper bound depends on the desired confidence. Suppose that we want

the probability that n/√> goes below – ­ be less than ù, where ù is chosen to

be something like 5% or 1%.

Since we specify the probability, and since we know the distribution, we can

find the value of – ­.Note that ù – ­, and thus – ­ ù.

-x

7 √:

Page 95: UMTS

95

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)

We have (1- α) confidence that

n √> â O 7 â O ~√> d 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,

ª W0 , ¨å 6D§ 1 61, ¨å 6D§ 6 jª 01 6 1 6 6

jª 01 6 1 6 6

;Dª jª |jª| 6 6 61 6

We have N observations of y and we want to estimate p. The typical estimator

is

6 > 9 ÄUxUm

j6 x ∑ jÄUxUm 6 → unbiased estimator

;D6 > 9 &b(ÄU=CC>xUm

By the central limit theorem, 6 can be approximated as Gaussian.

Page 96: UMTS

The probability that 6 0.00135 (=Q(3))

That is, we have 99.865% confidence that

This is equivalent to a 99.865% confidence that

we want the upper bound to be

¥CC√> = 0.1p

N=s??C

Note that if p=10, we need about 900000 y’

specifications above.

In our case, p is the BER to be estimated.

The simulation run examines the transmission and reception of 150 bits, i.e.,

m=150.

For the specifications above, the required number of runs =

We need about 60000 runs if BER is expected to be of the order of magnitude

of 10-4.

96

6 exceeds three times the standard deviation is

That is, we have 99.865% confidence that 6t 6 3 , where

This is equivalent to a 99.865% confidence that 6 Ô 6t 3. Assuming that

we want the upper bound to be 6t 0.16 ,

= 0.1p 3061 6 6:

CC N=s??C

, we need about 900000 y’s if we insist on the

In our case, p is the BER to be estimated.

The simulation run examines the transmission and reception of 150 bits, i.e.,

fications above, the required number of runs = u÷÷e÷JQWe need about 60000 runs if BER is expected to be of the order of magnitude

p 6 3

exceeds three times the standard deviation is

, where ¥CC√> .

. Assuming that

s if we insist on the

The simulation run examines the transmission and reception of 150 bits, i.e.,

u÷÷e÷JQ hJQ .

We need about 60000 runs if BER is expected to be of the order of magnitude

6

Page 97: UMTS

97

Chapter 4

DSP

4.1.Processor Supported:

TMS320C6416 on TMS320C6416 DSK

4.1.2.Operating Systems Supported:

Windows 2000 with service pack 2

Windows XP

Version 3 1000 MHz DSP, 125 MHz

EMIF Board 5, CPLD 4

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:

First the scrambling code is generated and packed into words,

scrambling_code_generator(Tx->oversampled_scrambling_code);

Then Walsh code is generated,

walsh_code_generator(Tx->walsh,4);

And the data is obtained using “a probe point” and multiplied by the scrambling and

the walsh codes,to get the interleaved data (Tx->interleaved_input).

for (bit_index=0;bit_index<150;bit_index++)

Page 98: UMTS

98

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];

if((i+1)%4==0 & i!=0)

summm=(chips[i]+chips[i-1]+chips[i-2]+chips[i-3]);

downsampled[i/4]=(summm/4)*(Tx->walsh[i/4]);

Tx->Interleaved_input[bit_index]=

(Tx->Interleaved_input[bit_index])+(downsampled[i/4]);

for(i=0;i<150;i++)

Tx->Interleaved_input[i]=Tx->Interleaved_input[i]/256;

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);

And the the Tx->Deinterleaved to the BranchMetricsCalculator and the result is

Tx->BM_buffer.

BranchMetricsCalculator(Tx->Deinterleaved,Tx->BM_buffer,2);

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.

Page 99: UMTS

99

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 11 1 1 1 1 11 11 1 1 11 1Ð

3rd row is in the lower half so right half -1 -1 is the complement of 1 1 which is

the upper half of the smaller matrixo1 11 1p, and can be obtained by repeating the

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

Page 100: UMTS

100

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.

Figure: Reading and writing from and (I, J) block interleaver

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.

Page 101: UMTS

101

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 */

Page 102: UMTS

102

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).

[3] Ahsan Aziz, Kim-Chyan Gan, and Imran Ahmed

“WCDMA_RAKE_Receiver_DSP” D&R Industry Articles.

[4] “WCDMA Radio Network Design”, ERICSSON.

[5] “WCDMA Deployment Handbook Planning and Optimization Aspects”,

John Wiley and Sons.

[6] Code Composer, User manuals, Spru533, “TMS320C6000 DSP Viterbi-Decoder

Coprocessor (VCP) Reference Guide”

[7] Code Composer, User manuals, Spra750d, “TMS320C6000 DSP Viterbi-Decoder

Coprocessor (VCP) Reference Guide”.