Documente Academic
Documente Profesional
Documente Cultură
5)
INTRODUCTION............................................................................................................................. 5
2. INSTALLATION PROCEDURE ....................................................................................................... 5
2.1 MODFED FLES .......................................................................................................................... 5
2.2 PATCHNG AN EXSTNG NS-2 NSTALLATON.................................................................................... 6
2.3 MERGNG WTH ANOTHER SET OF MODFCATONS TO NS-2.26. ......................................................... 6
2.4 SYSTEM CONFGURATONS ........................................................................................................... 7
3. NODE CONFIGURATION................................................................................................................ 7
3.1 RADO NETWORK CONTROLLER (RNC).......................................................................................... 7
3.2 BASE STATON (BS) .................................................................................................................... 7
3.3 UB CONFGURATON.................................................................................................................... 7
3.4 USER EQUPMENT (UE)................................................................................................................ 8
3.5 MSCELLANEOUS CONFGURATON................................................................................................. 8
3.5.1 Routing Gateway................................................................................................................ 8
4. SIMULATION SET-UP..................................................................................................................... 8
4.1 AGENT CONFGURATON............................................................................................................... 8
4.2 CREATNG/ATTACHNG A TRANSPORT CHANNEL .............................................................................. 9
4.2.1 FACH/RACH...................................................................................................................... 9
4.2.2 DCH................................................................................................................................... 9
4.2.3 HS-DSCH......................................................................................................................... 10
4.3 RLC CONFGURATON................................................................................................................ 11
4.3.1 AM................................................................................................................................... 11
4.3.2 AM-HS............................................................................................................................. 13
4.3.3 UM................................................................................................................................... 14
4.3.4 UM-HS............................................................................................................................. 15
4.4 MAC/MAC-HS CONFGURATON ................................................................................................. 15
4.4.1 MAC-hs PDU Reordering ................................................................................................. 16
4.4.2 Credit Allocation............................................................................................................... 16
4.4.3 Scheduling ....................................................................................................................... 17
4.4.4 MAC-hs PDU Generation ................................................................................................. 17
4.4.5 HARQ.............................................................................................................................. 17
4.5 PHYSCAL LAYER CONFGURATON............................................................................................... 18
4.6 TRACE SUPPORT....................................................................................................................... 18
5. KNOWN ISSUES........................................................................................................................... 19
5.1 HS-DSCH: EVEN NUMBER OF UE NODES MUST BE CONFGURED ................................................... 19
REFERENCES ..................................................................................................................................... 19
APPENDIX A: PRE-PROCESSING...................................................................................................... 21
APPENDIX B: INPUT TRACE FILES................................................................................................... 24
APPENDIX C: EXAMPLE TCL SIMULATION SCRIPT ........................................................................ 26
APPENDIX D: TRANSPORT CHANNELS - A SCHEMATIC VIEW...................................................... 29
Document History
ReIease Version Date Comments
1.0 02/02/2004 nitial version
1.1 06/02/2004 Editorial changes
1.2 24/02/2004 Fixed TCL example script
1.3 18/03/2004 Updated to incorporate FCDS parameters, and up-
dated example parameter values
1.4 27/01/2005 Editorial changes, more information on the pre-
processing procedure, also available in the D3.2v2
document downloadable from the Eurane website
1.5 15/02/2005 Editorial changes formulas appendix B
EURANE User Guide (ReIease 1.5) 15/02/2005
Page 5/31
1. Introduction
t is the intention of this document to provide a description of the installation and configura-
tion requirements for the Enhanced UMTS Radio Access Network extensions to 38 (ver-
sion 2.26), developed within the SEACORN project [1] for Ericsson Telecommunicatie B.V..
An assumption is made that the reader has both a working knowledge of 38 and UMTS
architecture/algorithm concepts. Further information, and updates to code and documenta-
tion can be found at the following website:
http://www.ti-wmc.nl/eurane
The Enhanced UMTS extensions for ns-2 comprise of an additional three nodes, namely
the Radio Network Controller (RNC), Basestation (BS) and the User Equipment (UE),
whose functionality allow for the support of the following transport channels:
N FACH
N RACH
N DCH
N HS-DSCH
The main functionality additions to 38 come in the form of the RLC Acknowledged Mode
(AM), Unacknowledged Mode (UM) MAC-d/-c/sh support for RACH/FACH and DCH, and
MAC-hs support for HS-DSCH, i.e. HSDPA. The following are the associated TCL objects
for this functionality:
N Mac/Umts - MAC-d and MAC-c/sh
N Mac/Hsdpa 8
N UMTS/RLC/AM - Normal AM
N UMTS/RLC/AMHS - Enhanced AM with flow/priority packet status information
2. InstaIIation Procedure
The extensions to 38 come in the form of an additional UMTS C++ library, a UMTS TCL
library (ns-umts.tcl), and additions to ns-default.tcl, ns-packet.tcl and
packet.h.
2.1 Modified FiIes
For readability the header files that have the same name as its companion .cc file are only
indicated by a (h) after the .cc file. Testing scripts and input files are also not listed in the
table.
FiIe Description
Makefile.in nput for configure, updated to include the UMTS code
common/packet.h Added header fields for UMTS
tcl/lib/ns-default.tcl Added default values for UMTS objects
tcl/lib/ns-lib.tcl Changed to include ns-umts.tcl
tcl/lib/ns-packet.tcl Added header definitions for UMTS MAC header extensions
tcl/lib/ns-umts.tcl Code for UMTS nodes in ns
EURANE User Guide (ReIease 1.5) 15/02/2005
Page 6/31
umts/am-hs.cc (h) RLC AM implementation for enhanced UMTS
umts/am.cc (h) RLC AM implementation for UMTS
umts/classifier-sport.cc (h) UMTS Port Classifier
umts/demuxer.cc (h) UMTS Node Demuxer
umts/demuxerRtModule.cc (h) UMTS Routing Module
umts/dummy_drop_tail (h) ub queue implementation with no dropping
umts/hsdpalink.cc (h) MAC-hs implementation (also includes physical layer)
umts/networknterface.cc (h) UMTS Network nterface (NF)
umts/nif-classifier.cc (h) UMTS NF Classifier
umts/rlc.h Generic RLC superclass
umts/tcs.cc (h) UMTS channel switching implementation
umts/um.cc (h) RLC UM implementation for UMTS
umts/um-hs.cc (h) RLC UM implementation for enhanced UMTS
umts/umts-queue.cc (h) Generic Queue class for UMTS implementation
umts/umts-timers.cc (h) Generic Timer Classes for UMTS implementation
umts/umtslink.cc (h) UMTS MAC and physical layer implementation
umts/umtstrace.cc (h) Tracefile generation implementation
umts/virtual_umtsmac.cc (h) Generic MAC class
umts/cqi.h Lookup table for CQ to MAC-hs PDU size
umts/error_model.cc (h) Reads tracefiles for CQ and transmission power
4. SimuIation Set-up
Once the UMTS nodes have been created and configured then a specific simulation sce-
nario of applications and transport channel connections to the UEs can be constructed. The
algorithm specifics of the nodes, at this point, can be selected and configured. The parame-
ter settings listed, have their defaults set in the ns-default.tcl file.
4.1 Agent Configuration
The HS-DSCH implementation uses a scheduling algorithm based on priorities and flows,
so the agent should set the values for the priority and the flow. For this, the fields 1/* and
574* in the P header are used. The following commands creates a TCP agent that cre-
ates packets with flow-id 0 and priority 2:
EURANE User Guide (ReIease 1.5) 15/02/2005
Page 9/31
809 tcp0 [new Agent/TCP]
$tcp0 set fid_ 0
$tcp0 set prio_ 2
Even when the agent is not a TCP agent, these fields should be used. For example, it is
also possible to create an UDP agent that will use a flow-id of 0 and a priority of 2:
809 udp0 [new Agent/UDP]
$udp0 set fid_ 0
$udp0 set prio_ 2
Each UE should use one flow-id. UE1 should use flow-id 0, UE2 should use flow-id 1, etc.
Priorities can be set from 0 to priority_max_, which has a standard value of 5. Packets
with a lower prio_ value have a higher priority.
4.2 Creating/Attaching a Transport channeI
Once an Agent and traffic source/sink have been created they can be attached to a desired
transport channel using the following procedures. For a clearer view of these transport
channels' construction in TCL, using a schematic approach, see Appendix D.
4.2.1 FACH/RACH
The link layer components of the Forward Access Channel (FACH) and Random Access
Channel (RACH), which are both Common channels, are created at the time of the BS and
UE node configuration, and only require an 'attachment' procedure to an RLC entity. This is
achieved through the use of the attach-common command, with the following parameters
configured:
$ns node-config -llType UMTS/RLC/AM \
-downlinkBW 64kbs \
-uplinkBW 64kbs \
-downlinkTTI 20ms \
-uplinkTTI 20ms
$ns attach-common <node> <agent>
The Dedicated Channel (DCH) operates in both the uplink and downlink, and its entire link
components, from the RLC at the RNC to the RLC at the UE, need to be created. This is
achieved through the create-dch command, along with the following parameter configu-
ration:
$ns node-config -llType UMTS/RLC/AM \
-downlinkBW 64kbs \
-uplinkBW 64kbs \
-downlinkTTI 10ms \
-uplinkTTI 10ms
809 dch0 [$ns create-dch <node> <sink>]
+ =
.
The RMSE of this approximation is less than 0.05 dB, based on integer CQ values. Recall
that a CQ equal to 0 indicates out of range and the maximum CQ equals 30. So the func-
tion truncates at these limits.
The relationship between SNR and BLER is implementation dependent. Numerical results
of this relationship are provided by physical layer simulations. The curve used in this end-to-
end network simulator is SNR versus BLER in an AWGN channel. This curve is needed in
order to select the minimum SNR required for a specific transport block. This value is com-
pared with the actual channel condition in order to determine whether the transport block
triggers an ACK or a NACK. This process is illustrated in Figure A-1. First the model draws
a uniformly distributed random integer, pointing to a corresponding BLER rate class. The
range of this class is chosen small enough to consider it as a single value, :. This value is
than translated into a minimum SNR value through a look-up table, corresponding to the
AWGN curve which also includes the CQ number. This SNR
u
is kept during the HARQ re-
ception process and it decides between a NACK or an ACK. Note that also the CQ number
remains the same during the HARQ process.
EURANE User Guide (ReIease 1.5) 15/02/2005
Page 22/31
0.01
0.1
1
-5 -4 -3 -2 -1 0
SNR (dB)
B
L
E
R
Figure A-1: BLER versus SNR for reference curve (CQI = 1).
The data contained in the AWGN curve is used in the ns-2 simulator by means of a look-up
table, with filename SNRBLERMatrix, of length numSNR. t is imported as a 1000x30 matrix
containing the numSNR SNR values that correspond to the numSNR BLER classes. The
matrix can be made as long (i.e., as accurate) as we like. t is chosen such that the range of
the resulting class of SNR values is smaller than the error made in the curve fitting process
of the different CQ values.
This results in the schematic of the look-up table as shown in Table A-1:
TabIe A-1: Schematic of the BLER versus SNR Iook-up tabIe, SNRBLERMatrix.
CQ number Class # BLER Range
1 . 30
1 0-0.001 SNR
1,1
. SNR
1,30
2 0.001-0.002 SNR
2,1
. .
. . . . .
1000 0.999-1 SNR
1000,1
. SNR
1000,30
Summarizing:
N draw a integer between 1 and 1000
N this integer corresponds to a certain BLER range
N together with the CQ specific SNR-versus-BLER curve, this BLER range corre-
sponds to a certain SNR range
N this range is next reduced to a single SNR value (average of the SNR range)
SNR
u
Random u
EURANE User Guide (ReIease 1.5) 15/02/2005
Page 23/31
At first sight, the procedure described above, which from now on will be referred to as pro-
cedure A, seems more complicated than necessary. An alternative procedure (referred to
as B) would be to:
N Map the SNR to the corresponding BLER value (Fig A-1, with arrows in opposite di-
rection).
N Based on that BLER, determine the outcome, by means of a weighted toss, resulting
in an ACK or a NACK
For the first transmission of a packet, procedures A and B statistically give the same result.
A H-ARQ Retransmission is better modelled however by implementation A (Fig. A-1) since
alternative B does not correctly take pre-conditioning into account. Consider for example the
case that the SNR of the retransmission is extremely low, and no more information is added
to the overall power (data) already available at the user after the original transmission. The
overall SNR after the first Retransmission remains equal to the SNR of the original trans-
mission. The corresponding BLER also remains equal. However, the actual determination of
success is still random. The NACK of the first transmission might be followed by an ACK,
despite the fact that actually no more power (data) is available at the user. n procedure A,
the randomly picked BLER class (Fig. A-1) remains the same during the whole H-ARQ proc-
ess. By definition, the power (received data) can never decrease after a retransmission.
Thus procedure A is closer to how the real-time system works.
#010703.08
[1] Motorola and Nokia, Revised HSDPA CQI Proposal, R4-020612, 3GPP TSG-RAN Work-
ing Group 4 Meeting #22.
[2] F. Brouwer, Usage of Link-Level Performance ndicators for HSDPA Network-Level
Simulations in E-UMTS, SSSTA 2004, Sydney, 2004.
[3] N. Whillans (editor), End-to-end network model for Enhanced UMTS, ST Seacorn Pro-
ject Deliverable D3.2v2, 2004.
[4] 3GPP TS 25.214 V5.5.0, "Physical layer procedures (FDD), Release 5
b
3
837
3
$#
9
snr
1
=SNR(t)
snr
2
=SNR(t+1*HARQcycle)
snr
3
=SNR(t+2*HARQcycle)
The default setting of the variables used here is:
N HARQcycle=6
N CQdelayinTT=3
N Offset=16.62 based on the physical layer results
Some remaining remarks:
N One input trace file for each user
N A CQ value equal to zero implies the 'out of range' status for that user. To start with,
we will take a CQ value of 1 in these cases. We only consider users that most of the
time have a positive CQ value (otherwise these users should not be served on the
HS-DSCH). So at the actual moment of the first transmission the bad channel condi-
tions (on which the CQ equal to zero is based) may have improved such that the
transmission has a reasonable chance of success.
N Mind that the tracefile should last long enough in order to guarantee that when the
traffic source stops, the packets that are in the system still take some time.
EURANE User Guide (ReIease 1.5) 15/02/2005
Page 26/31
Appendix C: ExampIe TCL SimuIation Script
The following is an example simulation script for 2 UEs connected to an HS-DSCH. For the
script to work, the following additional files are needed:
N SNRBLERMatrix - An SNR to BLER look-up table.
N UE1_trace_file - An input trace file for UE1
N UE2_trace_file - An input trace file for UE2
4-,38
# Remove all Packet headers and add only those that are required.
# This significantly reduces the memory requirements of large simulations
remove-all-packet-headers
add-packet-header MPEG4 MAC_HS RLC LL Mac RTP TCP IP Common Flags
set ns [new Simulator]
set f [open out.tr w]
$ns trace-all $f
proc finish {} {
global ns
global f
$ns flush-trace
close $f
puts " Simulation ended."
exit 0
}
$ns node-config -UmtsNodeType rnc
# Node address is 0.
set rnc [$ns create-Umtsnode]
$ns node-config -UmtsNodeType bs \
-downlinkBW 32kbs \
-downlinkTTI 10ms \
-uplinkBW 32kbs \
-uplinkTTI 10ms \
-hs_downlinkTTI 2ms \
-hs_downlinkBW 64kbs \
# Node address is 1.
set bs [$ns create-Umtsnode]
# Interface between RNC and BS
$ns setup-Iub $bs $rnc 622Mbit 622Mbit 15ms 15ms DummyDropTail 2000
$ns node-config -UmtsNodeType ue \
-baseStation $bs \
-radioNetworkController $rnc
# Node address for ue1 and ue2 is 2 and 3, respectively.
set ue1 [$ns create-Umtsnode]
set ue2 [$ns create-Umtsnode]
# Node address for sgsn0 and ggsn0 is 4 and 5, respectively.
set sgsn0 [$ns node]
set ggsn0 [$ns node]
# Node address for node1 and node2 is 6 and 7, respectively.
set node1 [$ns node]
set node2 [$ns node]
# Connections between fixed network nodes
EURANE User Guide (ReIease 1.5) 15/02/2005
Page 27/31
$ns duplex-link $rnc $sgsn0 622Mbit 0.4ms DropTail 1000
$ns duplex-link $sgsn0 $ggsn0 622MBit 10ms DropTail 1000
$ns duplex-link $ggsn0 $node1 10MBit 15ms DropTail 1000
$ns duplex-link $node1 $node2 10MBit 35ms DropTail 1000
# Routing gateway
$rnc add-gateway $sgsn0
# Agent set-up for ue1
set tcp0 [new Agent/TCP]
$tcp0 set fid_ 0
$tcp0 set prio_ 2
# Agent set-up for ue2
set tcp1 [new Agent/TCP]
$tcp1 set fid_ 1
$tcp1 set prio_ 2
# Attach agents to a common fixed node
$ns attach-agent $node2 $tcp0
$ns attach-agent $node2 $tcp1
# Create and connect two applications to their agent
set ftp0 [new Application/FTP]
$ftp0 attach-agent $tcp0
set ftp1 [new Application/FTP]
$ftp1 attach-agent $tcp1
# Create and attach sinks
set sink0 [new Agent/TCPSink]
$sink0 set fid_ 0
$ns attach-agent $ue1 $sink0
set sink1 [new Agent/TCPSink]
$sink1 set fid_ 1
$ns attach-agent $ue2 $sink1
# Connect sinks to TCP agents
$ns connect $tcp0 $sink0
$ns connect $tcp1 $sink1
$ns node-config -llType UMTS/RLC/AM \
-downlinkBW 64kbs \
-uplinkBW 64kbs \
-downlinkTTI 20ms \
-uplinkTTI 20ms \
-hs_downlinkTTI 2ms \
-hs_downlinkBW 64kbs
# Create HS-DSCH and attach TCP agent for ue1
$ns create-hsdsch $ue1 $sink0
# Attach TCP agent for ue2 to existing HS-DSCH
$ns attach-hsdsch $ue2 $sink1
#Loads input tracefiles for each UE, identified by its fid_
$bs setErrorTrace 0 "UE1_trace_file"
$bs setErrorTrace 1 "UE2_trace_file"
# Load BLER lookup table from file SNRBLERMatrix
$bs loadSnrBlerMatrix "SNRBLERMatrix"
# Tracing for all HSDPA traffic in downtarget
$rnc trace-inlink-tcp $f 0
$bs trace-outlink $f 2
# UE1 Tracing
$ue1 trace-inlink $f 2
$ue1 trace-outlink $f 3
$bs trace-inlink $f 3
$ue1 trace-inlink-tcp $f 2
EURANE User Guide (ReIease 1.5) 15/02/2005
Page 28/31
# UE2 Tracing
$ue2 trace-inlink $f 2
$ue2 trace-outlink $f 3
$bs trace-inlink $f 4
$ue2 trace-inlink-tcp $f 2
$ns at 0.0 "$ftp0 start"
$ns at 0.002 "$ftp1 start"
$ns at 10.1 "$ftp0 stop"
$ns at 10.102 "$ftp1 stop"
$ns at 10.201 "finish"
puts " Simulation is running ... please wait ..."
$ns run
EURANE User Guide (ReIease 1.5) 15/02/2005
Page 29/31
Appendix D: Transport ChanneIs - A schematic View
FACH and RACH
Figure 5-1 shows the interconnection of the main UMTS TCL objects for the case where two
UEs are created but only one is connected to an Application/Agent. At UE-1, two Applica-
tions are connected in Acknowledged Mode (AM), using the RACH and FACH for transport.
The Network nterface (NF) numbers can be seen for each node.
Figure 5-1: Transport over Common ChanneIs (RACH and FACH)
RNC
PRACH SCCPCH
ub
UE- 1 (ID:2)
Agent-1
NF stack
UE-2 (ID:3)
RACH FACH
PHY_RX PHY_TX
0
MAC
1
MAC
PHY_RX PHY_TX
0
MAC
1
MAC
2 3
AM AM
BS (ID:1)
MAC MAC
PHY_RX PHY_TX
0 1
RACH FACH
SGSN
0 1
AM AM
Agent-2
FACH RACH
RNC (ID:0)
EURANE User Guide (ReIease 1.5) 15/02/2005
Page 30/31
DCH
n Figure 5-2, the implementation shown is for a single UE using a DCH as its transport
channel. Note, that although the Common channels are not used, they are always con-
structed when the BS and UE nodes are created. Also, the RLC for the DCH belongs to the
same NF stack as that of the MAC and PHY.
Figure 5-2: Transport over a Dedicated ChanneI (DCH)
UE- 1 (ID:2)
MAC MAC
PRACH
ub
BS (ID:1)
RACH FACH
RACH FACH
MAC MAC
PHY_RX
MAC
PHY_TX
AM
DPDCH DPDCH
PHY_TX
MAC
PHY_RX
PHY_RX PHY_TX
PHY_RX PHY_TX
RNC (ID:0)
AM
2
2
0
Agent
SGSN
SCCPCH
0 1
0 1
DCH
DCH
EURANE User Guide (ReIease 1.5) 15/02/2005
Page 31/31
HS-DSCH
n Figure 5-3, the implementation shown is for two connected UEs over a HS-DSCH trans-
port channel. t should be noted that although the FACH and RACH are created automati-
cally, they have been omitted from the figure for clarity.
Figure 5-3: Transport over HS-DSCH
&
MAC-HS
AM 2
Agent
MAC
PHY_TX PHY_RX
3
UE-1 (ID:2)
UE- 1
MAC-HS
AM 2
Agent
MAC
PHY_TX PHY_RX
3
UE-2 (ID:3)
HS-PDSCH DPDCH DPDCH
PHY_RX
MAC
PHY_TX
MAC-HS
PHY_RX
MAC
3
4 2
BS (ID:1)
ub
AM-HS
0
RNC (ID:0)
SGSN