Dans l’article précédent, Allocation de ressources et scheduling, nous avons vu que l’eNB transmet dans la zone PDCCH des informations de contrôle DCI vers l’UE, comme par exemple le DCI 1A, informant l’UE de l’emplacement des données sur le PDSCH destinée à l’UE. On parle de séquencement ou d’ordonnancement : le mobile est en mode connecté et attend des instructions sur l’allocation des ressources radios pour transmettre ou recevoir des données.
Dans le cas ou le mobile est en mode de veille (Idle mode), il scrute les canaux PDCCH pour recevoir des notifications de paging.
La sous-trame est composée d’une paire de slot. Un slot est découpé en RB, chaque RB est composée de 12 porteuses et de 7 symboles. Le PDCCH correspond à un zone de 1 à 3 symboles (la valeur est défini par le PCFICH) du premier time-slot (pour une bande d’au moins 3 MHz) sur toutes les RB de la bande. Le reste porte les données utiles (PDSCH)
Pour prendre connaissance de l’allocation des données, l’UE doit lire le DCI toutes les 1 ms pour ne pas rater l’allocation proposée par l’eNb :
Figure 1 : Lecture du PDCCH en mode connecté et DRX en mode de veille
1 – DRX : La réception Discontinue
Afin de réduire la consommation de puissance dans l’état RRC Connected et RRC Idle, il existe un mécanisme propre au LTE consistant à éteindre le module RF de l’UE pour le rallumer périodiquement afin de monitorer le canal PDCCH. On appelle cycle DRX (cf. figure 2), une période pendant laquelle le module de transmission est au repos (DRX sleep) alternée d’une période d’activité (DRX Active State). C’est au cours de cette période d’activité que l’UE scrute le PDCCH et effectue les mesures sur les cellules voisines.
Les valeurs du cycles DRX varient entre 2 ms et 640 ms. Le cycle est composée d’une période de repos (DRX Sleep) au cours de laquelle la chaîne de réception RF est éteinte et d’une période de scrutation (ON Duration). La valeur de la période d’activité est comprise entre 1 et 200 ms (donc la valeur de repos se calcule facilement). Ces valeurs sont fixées par l’eNb. Pour que l’UE prenne connaissance de ces valeurs, l’eNb transmet dans le SIB2 les informations de configuration du PCCH comprenant les indicateurs suivants :
- OnDurationTimer indique le nombre de sous-trame pendant laquelle l’UE écoute le PDCCH
- DRX Inactivity Timer indique la période pendant laquelle l’UE doit rester en état connecté (le mode DRX est inactif donc l’UE est en phase de réception). Ce timer démarre lorsque l’UE détecte, lors de la phase d’écoute du PDCCH, une information DCI le concernant, par exemple une allocation de données DL ou UL à venir. Le DRX Inactivity Timer doit être suffisamment long pour que l’eNb puisse avoir le temps de préparer le séquencement (l’allocation) des données. La valeur du timer varie de 1 ms à 2,56 secondes
- HARQ RTT Timer : Indique la durée en TTI pendant laquelle l’UE est susceptible d’attendre un HARQ de la part de l’eNb
- Short DRX Cycle/Long DRX Cycle est la durée d’un cycle DRX court (période de scrutation pendant la période OnDurationTimer et période de repos). Le compteur OnDurationTimer démarre à chaque cycle DRX.
- DRX Short Cycle Timer indique la durée en TTI pendant laquelle l’UE suit le cycle DRX court. La durée DRX Short Cycle Timer est un multiple du Short DRX Cycle. L’UE va suivre une phase composée de plusieurs cycles court consécutifs à la fin du Timer d’inactivité DRX. Cela signifie que si l’UE décode un DCI, il est en état d’écoute pendant la durée DRX Inactivity Timer et en fin de cette période, il entre dans un cycle DRX court qui se répète plusieurs fois. Le nombre de cycle court est égal à la fraction DRX Short Cycle Timer / Short DRX Cycle.
Dans le mode RRC Connected, le cycle court est optionnel,et dépend de la configuration du DRX Short Cycle Timer. Si celui-ci n’est pas configuré, l’UE n’exécute que des cycles longs.
Au cours de l’état RRC-Connected, l’UE va périodiquement scruter les canaux PDCCH et se mettre en état de repos entre deux scrutations (DRX Sleep, DRX On). Sur la figure 4, on suppose qu’en fin de Timer DRX Inactivity Timer, l’UE suit deux cycles court et trois cycles long avant de passer en état déconnecté.
Figure 4 : Cycle Long/Cycle Court
Exemple d’application de la procédure DRX en mode connecté.
- L’UE se réveille et pendant la durée du Timer OnDurationTimer décode le PDCCH
- Si l’UE reçoit une commande DCI sur le canal PDCCH, il décode le bloc reçu et déclenche la temporisation d’inactivité DRX. Le rôle de ce temporisateur est de maintenir l’UE en état d’éveil pour que l’eNb puisse envoyer des allocations de ressources pour le sens descendant (l’eNb peut ainsi ordonnancer les données à transmettre vers l’UE sur plusieurs TTI consécutifs). A chaque allocation d’un DCI sur le PDCCH (de nouvelles données), le Timer redémarre.
- Si l’UE ne parvient pas à décoder le bloc de données reçu, il démarre le timer HARQ RTT (permettant la retransmission du bloc, la durée pour le FDD est de 8 ms)
- A la fin de l’expiration du timer DRX-InactivityTimer, l’UE démarre un ou plusieurs cycles DRX court. Le nombre de cycle court consécutif est compris entre 1 et 16. Le cycle court a une durée DRXShortCycle dont la durée varie de 2ms à 640 ms, par conséquent la durée totale des cycles courts s’étend jusqu’au plus 16*640 ms soit 10.24 s. Cette période s’appelle DRXShortCycleTimer. Durant le cycle court, l’UE réalise deux fonctions :
- Analyse du canal PDCCH sur la durée OnDurationTimer
- Si l’UE ne décode aucune information sur le PDCCH, il entre en mode de veille jusqu’à la fin du temporisateur DRXShortCycle
- A la fin du Timer du cycle court (DRXShortCycleTimer), l’UE bascule dans un cycle long
Les figures 4 et 5 présentent un schéma pour lequel le cycle DRXShortCycleTimer se compose de 2 cycles courts.
Figure 5 : Exemple de cycle DRX
A la fin de la procédure, s’il aucune activité n’est détectée, l’UE passe dans l’état RRC_Idle, le cycle DRX est un cycle plus long. Le module RF est éteint sur une longue période et ne sera activée que pour détecter des éventuels paging. On parle de cycle de Paging DRX.
2 – DRX en mode Idle : Introduction au Paging
Un UE présent sur une cellule du réseau cellulaire est en mode de veille lorsqu’il n’a pas de connexion activée avec la station de base (on dit que le mobile est dans l’état RR Idle si l’UE est campé sur le réseau 2G ou RRC Idle dans le cas ou l’UE est campé sur le réseau 3G ou 4G). Ainsi, si le coeur réseau mobile (2G/3G/4G) souhaite communiquer avec un UE (appel téléphonique en Commutation de Circuit -2G/3G- ou en commutation de paquet via une requête SIP -4G-, un message court, une authentification, un PUSH Data, une notification d’alerte), l’entité du coeur réseau qui gère l’UE émet un message de Paging.
La procédure de Paging est réalisée dans l’un des 4 cas suivants :
- Informer l’UE d’une terminaison d’appel en commutation de circuit
- Informer l’UE d’une terminaison de session en commutation de paquet
- Déclencher l’UE pour faire une lecture d’un SIB
- Notifier l’UE d’information sur la sureté civile (ETWS Earthquake and Tsunami Warning System)
Si on se place dans le réseau 4G, la notification de Paging (message RRC de paging) est transportée par le canal logique PDCCH. La notification de paging est broadcastée par la cellule avec l’identifiant P-RNTI. Comme l’identifiant P-RNTI est commun à tous les UE (la valeur de l’identifiant est fixe : 0xFFFE ; et le P-RNTI est transmis sur l’espace de recherche commun du canal PDCCH), tous les terminaux vont donc être notifiés d’une procédure de paging. Chaque UE doit alors décoder le canal PDSCH (l’information de paging est contenue sur le PDSCH et se trouve sur les RB indiqués par le PDCCH) pour savoir si le paging le concerne (au message de paging utile est ajouté un code correcteur d’erreur CRC lequel est codé par l’identité S-TMSI du mobile concerné. Le codage est effectué par un OU logique).
En général, la procédure de Paging est initiée par le MME, et par conséquent la procédure s’applique lorsque l’UE est dans l’état EMM-IDLE, ce qui signifie que l’UE est aussi dans l’état RRC-Idle (se reporter à l’article Etat RRC – EMM). Cependant, la demande de paging peut aussi être initiée par l’eNB dans les deux cas particuliers évoqués ci-dessus :
- L’eNB génère une procédure de paging en cas de modification des informations SIB (exemple de congestion avec une modification de la classe d’accès).
- L’eNB génère une procédure de paging en cas d’événement ETWS
Lorsque le paging est initié par l’eNb, l’UE peut être à l’état RRC-Connected.
Quand la procédure de paging est initiée par le MME, l’UE est forcément en état de veille (sinon le MME initierait éventuellement un RAB supplémentaire via un message RRC avec l’eNB sur lequel est connecté l’UE donc pas de paging). Lorsque l’UE est en veille, il est localisé par le MME sur une zone étendue (TAI). Ainsi, tous les eNb concernés (inscrit sur le même TAI que la dernière position de l’UE) autrement dit toutes les cellules définies avec le même TAI (soit entre 100 et 500 cellules) transmettront le message de paging. Sans aucune optimisation, chaque UE doit scruter toutes les 1 ms, l’espace commun du PDCCH pour prendre connaissance d’un indicateur du message de Paging et décoder le PDSCH pour savoir s’il est à destination du paging.
Lors du décodage du message de paging (PDSCH : message + CRC codé), si le CRC décodé avec l’identité S-TMSI de l’UE est cohérent avec le message de paging, alors l’UE est destinataire du message et va prendre connaissance de la raison de la demande de connexion (Paging Cause) afin d’initialiser la procédure appropriée avec le cœur réseau. L’UE passe alors de l’état RRC_Idle à l’état RRC_connected (avec le DRX correspondant au cycle expliqué dans le paragraphe 1)
3 – La procédure de Paging
La durée du cycle Paging DRX est soit définie par la cellule (SIB2 dans le paramètre PCCH : defaultPagingCycle nommé Tc dans le tableau ci-dessous) soit imposée par le MME si ce dernier transmet un message NAS (UE specific DRX cycle) à l’UE pour lui indiquer la durée spécifique du cycle DRX. La durée maximum du cycle est de 2.56s, valeur maximum du paramètre Long DRX Cycle (figure 2), les valeurs du tableau s’exprime en durée trame (10 ms).
Tableau 1 : Paramètres DRX
Ainsi, T=T_UE ou T_C en fonction du choix du cycle DRX. Si Tc=128, alors le cycle DRX est configurée pour 1.28 secondes (1 trame=10 ms).
nB est un paramètre qui définit le nombre de PO (Paging Occasion) par cycle DRX autrement dit le nombre de fois que l’UE écoute le canal PDCCH pour détecter un Paging.
1er cas : nB<T
Si nB=T/32 avec T=128 alors il y aura 4 PO durant le cycle de 1,28s soit un PO toute les T/32 trames. La trame qui va porter le message de Paging n’est évidemment pas aléatoire. Pour synchroniser l’UE et l’eNB à l’émission/réception d’un message de Paging, le MME transmet à l’eNb le paramètre UE_ID (UE Identity Index Value) via le protocole S1_AP, sachant que UE_ID=IMSI mod 1024. L’UE calcule de son coté la valeur UE_ID, le paging pour un UE est donc sur une trame dont le numéro de trame (SFN) dépend de l’IMSI.
Numéro des trames SFN portant un Paging = 32*(UE_ID mod 32). Le compteur est remis à 0 à chaque cycle donc :
PFN =SFN modulo 128
Le calcul est différent si nB>T.
2ème cas : nB>T
Si nB=2T, alors on aura 256 PO par cycle DRX (2 PO par trame), 1 PO toutes les 5 ms.
Numéro des trames SFN portant un Paging = 256*(UE_ID mod 128). Le compteur est remis à 0 à chaque cycle donc :
PFN =SFN modulo 128
Formule Générale : On pose N=min(T,nB) :
- SFN = (T div N)*(UE_ID mod N)
- PFN = SFN mod N
Il ne reste plus qu’à déterminer la sous trame portant le Paging (PO). On pose Ns=max(1,nB/T)
i_s = floor(UE_ID/N) mod Ns
Application :
1er cas : nB<T : Ns=1, donc is prend pour valeur 0 ou 1
2ème cas : nB<T Ns=1, 2 ou 4 donc _s prend pour valeur 0,1 ou 2 ou 3.
La sous trame est définie par le tableau ci-dessous :
Tableau 2 : Sous trame portant le PO
4 – Call Flow et étude simplifiée
Le call Flow présenté en figure 6 porte plusieurs informations que nous allons détailler, comme par exemple le mécanisme DRX (Discontinuous Receive cycle) sur lequel se synchronise le cycle de PO (Paging Occasion), le rôle du Timer T3413 et les messages.
Figure 6 : Call Flow Paging détectée par l’UE et spécifique à l’UE
II-a) Etat du téléphone
L’état du téléphone ne doit pas vous échapper, vous pouvez revenir sur l’article ETATS RRC – ECM EMM pour plus de détail.
Dans le cas du call flow, l’UE est dans l’état ECM Idle et RRC Idle, cela signifie qu’il n’a pas de connexion radio avec l’eNb.
Le téléphone est enregistré sur le réseau, il existe donc un contexte au niveau du MME, un contexte au niveau du PGW et le HSS connait l’identité du MME sur lequel l’UE est enregistré. En cas de session DATA en provenance du réseau (VoLTE par exemple), le PGW sera en mesure de router les paquets vers le SGW et ce dernier informera le MME de paquets en attente.
II-b) Première lecture du call flow
Le MME va générer le message S1AP Paging et va ensuite démarrer le timer T3413. Ce Timer a pour rôle de limiter la période pendant laquelle le MME considère le message S1AP valide. Il s’agit donc du temps de réponse maximum autorisé pour que l’UE réponde au message S1AP.
Le message S1AP est transmis à une liste de eNB. Cette liste est connue par le MME car ce dernier maintient le contexte de l’UE (celui est attaché car l’UE est en état MME registered, les eNb concernés sont définis par le TAI), c’est donc le MME qui connait la position approximative de l’UE (Tracking Area ou TA List). Chaque eNb qui reçoit le message S1AP décode l’identité de l’UE (S-TMSI) et transmet la requête de paging sur l’accès radio.
L’UE destinataire recevant et décodant le message de paging répond à la requête en faisant une demande d’accès radio (procédure d’accès aléatoire : Random Access Procedure). Une fois l’accès radio mise en oeuvre, l’UE est en état connecté. Le Timer DRXInactivityTimer est déclenché, l’UE est en écoute jusqu’à la fin du Timer ou il se mettra en cycle DRX court puis long si rien ne se passe.
5) eDRX et Mode PSM – Power Saving Mode – Extension pour le MTC (IoT)
eDRX (R.13)
Dans le cas de l’IoT, la durée en mode de veille du cycle DRX est allongée et peut s’étendre jusqu’à 44 mn (Trigger eDRX Long Cycle) en prenant comme référence non plus la durée d’une trame, mais d’une hyper-trame H-SFN. L’Hyper-trame a une durée de 1024 trames soit 10.24 secondes. Il est donc nécessaire que l’eNb et le MME se synchronise sur le H-SFN.
A titre d’exemple, sur la figure 7 on représente le mode discontinue en mode de veille.
Figure 7 : Extension du timer -eDRX
Le eDRX s’applique pour l’UE dans l’état RRC-Idle et RRC-Connected. La figure 7 présente un exemple dans l’état RRC-Idle.
La station de base indique si elle supporte le mode DRX etendu dans le message de SIB1. Si la valeur DRX est transmises dans le SIB2, la valeur eDRX (si la station de base supporte le mode eDRX) est échangée entre le mobile UE et l’entité MME
Les valeurs du trigger TeDRX (mode de repos) et TPTW sont indiquées au device lors de la procédure d’attachement ou de RAU sous le nom respectif T331 et T332 (Information Element lors du message RRC), mais la valeur eDRX peut aussi être broadcastée par l’eNb. L’UE prendra alors la plus petite valeur des deux.
PSM (R.12)
Le mode PSM est un mode pour lequel le device s’éteint sans faire la demande de détachement. Pour le mode PSM, le device utilise deux valeurs de triggers (T3324 et T3412) lesquelles lui ont été fournies lors de la procédure d’attachement ou de mise à jour de sa localisation (TAU). La première valeur de timer, le T3324 indique le temps pendant lequel l’UE reste en mode de veille suite à la procédure d’attachement (c’est la durée du mode DRX et est nommée Active Timer) et le deuxième Trigger est le temps pendant lequel le device est endormi avant une mise à jour périodique de sa localisation. Ainsi, la valeur du trigger T3412 correspond toujurs à la durée de la demande de Mise à Jour de localisation Périodique (periodic TAU). Durant cette période, le device reste attaché au réseau mais est non joignable : Il ne lit aucune signalisation, et par conséquent, le MME ne doit envoyer aucun message. Le MME enregistre l’état du device (enregistré et non localisé). La durée maximum du trigger T3412 pour le mode PSM est de 413 jours (modifié le 20/01/2021 suite à la remarque de Louis Adrien), mais le device peut à tout moment interrompre ce mode en émettant une requête de TAU (Mobile Originated Transaction).
Figure 8 : Mode PSM
Pourquoi 413 jours :
Se référer à la Table 10.5.163a/3GPP TS 24.008: GPRS Timer 3 information element. La valeur du Timer est codée sur un octet, 5 bits pour la valeur du timer (0 à 31) et 3 bits pour indiquer le pas temporelle du timer :
- 000 : 10 mn
- 001 : 1h
- 010 : 10 heures
- 011 : 2 heures
- 100 : 30 secondes
- 101 : 1 mn
- 110 : 320 heures
Donc 31*320 = 413 jours
Différence entre PSM et eDRX
Concernant les cycles DRX, l’UE et l’eNb sont synchronisés, autrement dit l’UE connait les instants pendant lesquels l’UE est en écoute (DRX awake). Ainsi, si l’eNb doit adresser un message au mobile (allocation par exemple) sur le PDCCH, il devra attendre la période de réveil pour séquencer l’UE, ce qui introduit un peu de latence. Les transmissions Uplink ne sont pas affectées par le DRX puisque l’UE peut à tout moment activé le module RF pour transmettre une demande d’allocation (Scheduling Request).
Les cycles DRX sont émis par le SIB 2, mais la couche MAC de l’eNb peut aussi contrôler les paramètres DRX de l’UE en transmettant des commandes MAC CE DRX.
Commandes MAC CE : MAC Contrôle Element est une structure MAC du LTE qui porte des informations de contrôle spécifiques entre l’eNb et l’UE comme le Timing Advanced, le PHR, les commandes DRX, …
Dans le mode PSM, le device fait une demande de TAU périodiquement. Lorsque le mobile est à l’état PSM, toutes ses fonctions non critiques sont désactivées, ce qui permet de consommer encore moins d’energie que l’UE en mode idle, et ceci tant que le Timer n’a pas expiré. En contrepartie l’UE est injoignable pendant toute cette phase. Le PSM est donc réservé uniquement aux UE en commutation de paquet qui n’ont pas à être déclenché. La durée maximum du Timer T3412 est de 12.1 jours.
Dans le cas eDRX, le device scrute périodiquement le PDCCH sur une courte durée. Par conséquent, les devices susceptibles de recevoir des notifications du réseau (trigger) mais qui sont tolérants au délai seront programmé en mode eDRX devices qui fonctionnent plutôt en transmission de données (originated device) seront plutôt programmés en mode PSM.
Pour aller plus loin : https://www.youtube.com/watch?v=wY7XHrbm1oQ
Cet article constitue aussi deux mécanismes de gestion de batterie sur lesquels nous reviendront dans un futur article traitant du MTC (Machine Type Communication).
Remerciement :
Merci à André PEREZ d’avoir contribué à la rédaction de l’article. L’article s’appuie sur le livre VoLTE et ViLTE
Merci à Louis Gibault d’avoir relu l’article et annoté des remarques
Ping : Le réseau LTE-M pour l'IoT - Wiifor