# erlang B model Simplest traffic model that is applicable to a mobile network. ## Assumptions - [Lost calls cleared](Lost%20calls%20cleared.md) used - Free channel assignment - if a channel is available, it can be used. - Call times are exponentially distributed with mean $\frac{1}{H}$ (service rate is $H$) i.e. the probability a call lasts for t is given by $P(t)=\frac{1}{H}exp\left(\frac{-t}{H}\right)$ - Subscribers are independent and uncorrelated - Arrival times follow a Poisson distribution with rate $\lambda$, i.e. the probability n calls are made within a duration of $\tau$ is $P(n,\tau)=\frac{(\lambda\tau)^n}{n!}exp(-\lambda t)$ ## Simplified Imagine a small amount of time $\delta t$ Probability a user enters the network $P(1,\delta t) \approx \lambda\delta t$ Probability the call ends $P(call ends) \approx \frac{\delta t}{H}$ Traffic can be modeled by a [Markov model](Markov%20model.md) with no memory (system evolution depends only on the current state, not previous ones!) The Poisson arrival process implies memoryless properties! Eventually we reach a [dynamic equilibrium](dynamic%20equilibrium.md) - steady state. $P(system\ in\ state\ X) = \frac{number\ of\ observations\ of\ system\ in\ state\ X}{Total\ number\ of\ observations}$ We have C servers. The probability - number of server systems in ## Practical usage When you know the traffic, you use the lookup table for erlang B to get the blocking probability. If we have 2 users - probability that a user will leave is $\delta t$ so the probability that one will leave is $\frac{2 \delta t}{H}$ ![](Public%20Extras/Doodles/erlang%20B%20model-attachment.png#invert) Probability a user enters a state should be equal to the the probability a user leaves a state (when the markov chain is in [dynamic equilibrium](dynamic%20equilibrium.md)). Blocking probability = probability that the system is in state C. We start from state 0: $\lambda\delta t P_0 = \delta t \mu P$ ![](Public%20Extras/Doodles/erlang%20B%20model-attachment.light.svg#invert) $A=\frac{\lambda}{\mu} (Erlangs)$ is the total ordered traffic. You want a small A so that $1/A$ is large and this gets multiplied by the circuits to increase the number of users. ### Grade of service $GOS: P_C=\frac{A^C/C!}{\sum_{k=0}^C\frac{A^k}{k!}}$ This is very non-linear. We usually use a lookup table. ![](attachments/erlang%20B%20model-attachment-1.png#invert) Each cell describes the [Traffic intensity](Traffic%20Intensity.md) that can be supported by the system (in Erlang/user). You can divide these values by the calculated Erlangs (from user behaviour) to get the actual user count. Even though you only have C circuits, with the given probability you can support more users! ## Trunking Efficiency [Trunking efficiency](trunking%20efficiency.md) measures the [traffic intensity](Traffic%20Intensity.md) supported by a fixed number of [channels](../RF%20Chip%20Design/channels.md) at fixed GOS. E.g. 1 group of 40 [channels](../RF%20Chip%20Design/channels.md) at 0.5% GOS gives 27.3 Erlang. ### Example User behaviour: Every 60 minutes, one call comes in for 3 minutes #### Calculations $\frac{1}{60min}\times 3min = \frac{1}{20}Erlang$ Thus, reading 84.1 from the 0.01 probability, with 100 circuits we can support: $84.1\div \frac{1}{20} = 1682\ users$ ## Trunking Efficiency Intuitions It's better to group the [channels](../RF%20Chip%20Design/channels.md) together! Separate [channels](../RF%20Chip%20Design/channels.md) doesn't let you borrow the [channels](../RF%20Chip%20Design/channels.md) when you have a need. ## Cell planning Might try to separate the frequency into 2 cells to increase the [frequency reuse](frequency%20reuse.md) factor. This will lead to a decrease in [trunking efficiency](trunking%20efficiency.md). It depends on which one gets more! Tradeoff. # References 1. [TELE4652-lecture-02](../../Spaces/University/TELE4652/Lectures/TELE4652-lecture-02-cellular-concepts-and-cellular-network-capacity.pdf)