5 | | TODO Intro... |
| 5 | Using the METIS II 5G Visualization for simulation of an urban environment, time-variant attenuation (path loss) traces can be generated to approximate real world situations. These traces can then be used on an attenuator matrix based test bed, such as [wiki:foo Sandbox 4], for tightly controlled experiments with various protocol and connection methodologies. An extension to the simulator is available to generate these trace files through the selection of objects of interest (pedestrians, cars, base stations, etc.) and calculation of distance and occlusion based free space path loss at regular intervals. Note that these calculations do not take into account multi-path or sources of noise. |
| 6 | |
| 7 | The path loss between object pairs is calculated as follows: |
| 8 | |
| 9 | Total Path Loss = Free Space Path Loss(d, f) + Object Attenuation(k) |
| 10 | |
| 11 | Free Space Path Loss(d, f) = 20 log,,10,,(d) + 20 log,,10,,(f) - 27.55 |
| 12 | |
| 13 | Assuming f = 2385 MHz gives the “typical” path loss of approximately 40dB at 1 meter. |
| 14 | |
| 15 | Object Attenuation(k) = a,,1,,n,,1,, + a,,2,,n,,2,, + ... + a,,k,,n,,k,, |
| 16 | |
| 17 | a = attenuation factor in dB for object type “k” |
| 18 | [[BR]]n = number of “k” type objects between the two objects of interest |
| 19 | |
| 20 | Addition of this extension to the simulator is done through minor modification of the simulator's source code as described below. Configuration of the desired trace generation is done through an XML file which can be created manually or through the [wiki:foo XML Generator]. |
| 21 | |
51 | | <links> |
52 | | <link name="1" default_attn="9999" max_obj="9" /> |
53 | | <link name="2" default_attn="9999" max_obj="5" /> |
54 | | </links> |
55 | | }}} |
56 | | |
57 | | '''<links> ... </links>''' |
58 | | |
59 | | The links section defines how many independent sets of connections objects in the simulator may have (eg. multi-homing). It can be thought of in terms of [wiki:foo Sandbox 4] as the number of available attenuator matrices. Each matrix (ie. each link set) is independent of the other. The default attenuation (dB) per matrix (link set) is defined in this section and used in cases where maximum attenuation is calculated between a pair of objects or an object pair is not defined. The maximum number of objects per matrix (link set) is also defined here for proper formatting of the generated trace file. |
60 | | |
61 | | {{{ |
62 | | <objects> |
63 | | <object name="1" type="Car" id="12"> |
64 | | <link name="1">2,3</link> |
65 | | <link name="2">3,4</link> |
66 | | </object> |
67 | | <object name="2" type="Bus" id="4"> |
68 | | <link name="1">5,6</link> |
69 | | <link name="2">3,5</link> |
70 | | </object> |
71 | | |
72 | | ... |
73 | | |
74 | | </objects> |
75 | | }}} |
76 | | |
77 | | '''<objects> ... </objects>''' |
78 | | |
79 | | This section defines the objects that the user wishes to track (and generate trace data for). The object "name" is a number used to map the object to the corresponding trace output values. In the case of Sandbox 4... The "type" determines the subset of objects to which the object of interest belongs and the "id" corresponds to the specific object in that subset. |
80 | | |
81 | | ||='''Object Type'''=||= '''Valid Id''' =|| |
82 | | || Building || ''none'' || |
83 | | || Car || 0 - 404 || |
84 | | || Bus || 0 - 5 || |
85 | | || Pedestrian || 0 - 115 || |
86 | | || Microcell || 0 - 5 || |
87 | | || Macrocell || 0 - 3 || |
88 | | || Sensor || 0 - 9 || |
89 | | |
90 | | {{{ |
| 65 | <sim_parameters max_time="180" time_interval="1000" /> |
92 | | <attn factor="3" type="Bus" /> |
93 | | <attn factor="2" type="Car" /> |
94 | | <attn factor="1" type="Building" /> |
95 | | <attn factor="2" type="Pedestrian" /> |
96 | | <attn factor="6" type="Antenna" /> |
| 67 | <attenuation type="Building" value="60" /> |
| 68 | <attenuation type="Car" value="30" /> |
| 69 | <attenuation type="Bus" value="40" /> |
| 70 | <attenuation type="Pedestrian" value="10" /> |
| 71 | <attenuation type="Antenna" value="3" /> |
| 72 | <attenuation type="Lightpole" value="0" /> |
| 73 | <attenuation type="Sensor" value="0" /> |
98 | | <sim_parameters max_time="180" time_int="1000" frequency = "100"/> |
| 75 | <links> |
| 76 | <link name="1" max_obj="9" default_attenuation="99.9" frequency="2400" /> |
| 77 | <object index="1" type="Car" id="1">2,3,4</object> |
| 78 | <object index="2" type="Car" id="2">1,3,4</object> |
| 79 | <object index="3" type="Car" id="3">1,2,4</object> |
| 80 | <object index="4" type="Car" id="4">1,2,3</object> |
| 81 | <object index="5" type="Car" id="5">6,7,8,9</object> |
| 82 | <object index="6" type="Car" id="6">5,7,8,9</object> |
| 83 | <object index="7" type="Car" id="7">5,6,8,9</object> |
| 84 | <object index="8" type="Car" id="8">5,6,7,9</object> |
| 85 | <object index="9" type="Car" id="9">5,6,7,8</object> |
| 86 | <link name="2" max_obj="5" default_attenuation="99.9" frequency="1800" /> |
| 87 | <object index="1" type="Antenna" id="1">2,3,4,5</object> |
| 88 | <object index="2" type="Car" id="3">1,3,4,5</object> |
| 89 | <object index="3" type="Car" id="4">1,2,4,5</object> |
| 90 | <object index="4" type="Car" id="5">1,2,3,5</object> |
| 91 | <object index="5" type="Car" id="6">1,2,3,4</object> |
| 92 | </links> |
104 | | Path loss attenuations of different objects in the simulation are defined here. These are the attenuations of objects obstructing line of sight between the two objects for which the pairwise attenuation is being calculated. These factors are not taken into account for the pair of objects themselves. |
105 | | |
106 | | ||= '''Type''' =||='''Description''' =|| |
107 | | || Bus || Path loss attenuation of a bus || |
108 | | || Car || Path loss attenuation of a car || |
109 | | || Building || Path loss attenuation of a building || |
110 | | || Pedestrian || Path loss attenuation of a pedestrian || |
111 | | || Antenna || Path loss attenuation of a rooftop antenna || |
112 | | |
113 | | '''<sim_parameters> ... </sim_parameters>''' |
114 | | |
115 | | This section contains additional trace related simulation parameters. |
| 98 | This section contains global trace related simulation parameters. |
119 | | || time_int || Number of miliseconds between calculating pairwise attenuations || |
120 | | || frequency || Frequency (in MHz) to use as a baseline for attenuation calculations || |
| 102 | || time_int || Time interval (miliseconds) for calculating pairwise attenuations || |
| 103 | |
| 104 | |
| 105 | '''<attenuation ... />''' |
| 106 | |
| 107 | Insertion loss attenuations (in dB) of different objects in the simulation are defined here. These are the attenuation factors of objects obstructing line of sight between the two objects for which the pairwise attenuation is being calculated. These factors are not taken into account for the pair of objects themselves. |
| 108 | |
| 109 | |
| 110 | ||='''Parameter'''=||='''Description''' =|| |
| 111 | || type || Object type || |
| 112 | || value || Insertion loss attenuation in dB || |
| 113 | |
| 114 | '''<link ... />''' |
| 115 | |
| 116 | The links define the independent sets of connections objects in the simulator may have (eg. multi-homing). In terms of [wiki:foo Sandbox 4], each link set is mapped to it's own RF attenuator matrix. |
| 117 | |
| 118 | ||='''Parameter'''=||='''Description''' =|| |
| 119 | || name || The identification number of the link (RF matrix number) || |
| 120 | || max_obj || The maximum number of objects handled by this link (max number of ports on RF matrix) || |
| 121 | || default_attenuation || The default (maximum) attenuation between undefined object pairs || |
| 122 | || frequency || The center frequency being used on this link. This can affect path loss calculations by a few dB || |
| 123 | |
| 124 | '''<object ...> ... </object>''' |
| 125 | |
| 126 | This defines the objects and object pairs that the user wishes to track and generate trace data for. The comma separated list of numbers are the indices of other objects ''on the same link'' for which pairwise attenuations will be calculated. Because links are bidirectional, if object of index=1 has object of index=2 in its list, object of index=2 does not need to have object of index=1 in it's list. Note that the indices in different links are completely independent of each other. |
| 127 | |
| 128 | ||='''Parameter'''=||='''Description''' =|| |
| 129 | || index || Index of object on this link (port on RF matrix) || |
| 130 | || type || Subset of objects to which the object belongs (Bus, Car, etc.) || |
| 131 | || id || Specific id of the object being tracked (see valid id table below) || |
| 132 | |
| 133 | ||='''Object Type'''=||= '''Valid Id''' =|| |
| 134 | || Building || ''none'' || |
| 135 | || Car || 0 - 404 || |
| 136 | || Bus || 0 - 5 || |
| 137 | || Pedestrian || 0 - 115 || |
| 138 | || Antenna || 0 - 3 || |
| 139 | || Lightpole || 0 - 5 || |
| 140 | || Sensor || 0 - 9 || |