00001 static char code[] = "\n\ 00002 \n\ 00003 \n\ 00004 PacketHeaderManager set tab_(PacketHeader/MPhy) 1\n\ 00005 PacketHeaderManager set tab_(PacketHeader/UMTSPHY) 1\n\ 00006 PacketHeaderManager set tab_(PacketHeader/RLC) 1\n\ 00007 PacketHeaderManager set tab_(PacketHeader/Flags) 1\n\ 00008 PacketHeaderManager set tab_(PacketHeader/Mac) 1\n\ 00009 PacketHeaderManager set tab_(PacketHeader/IP) 1\n\ 00010 PacketHeaderManager set tab_(PacketHeader/TCP) 1\n\ 00011 \n\ 00012 \n\ 00013 Module/UMTS/RLC instproc init {args} {\n\ 00014 eval $self next $args\n\ 00015 }\n\ 00016 \n\ 00017 \n\ 00018 Class Module/UMTS/RLC/AM -superclass Module/UMTS/RLC\n\ 00019 Class Module/UMTS/RLC/UM -superclass Module/UMTS/RLC\n\ 00020 \n\ 00021 \n\ 00022 \n\ 00023 Class Module/UMTS/MAC/BS -superclass Module/UMTS/MAC\n\ 00024 Class Module/UMTS/MAC/ME -superclass Module/UMTS/MAC\n\ 00025 \n\ 00026 \n\ 00027 Module/UMTS/RLC/AM instproc init {args} {\n\ 00028 eval $self next $args \n\ 00029 $self setRlc [new UMTS/RLC/AM]\n\ 00030 }\n\ 00031 \n\ 00032 \n\ 00033 Module/UMTS/RLC/UM instproc init {args} {\n\ 00034 eval $self next $args\n\ 00035 $self setRlc [new UMTS/RLC/UM]\n\ 00036 }\n\ 00037 \n\ 00038 Module/UMTS/RLC instproc connect2CoreNetRlc {bs_rlc} {\n\ 00039 set bsid [$bs_rlc getRlcId]\n\ 00040 set meid [$self getRlcId]\n\ 00041 set bsmac [$bs_rlc set mymac_]\n\ 00042 set memac [$self set mymac_]\n\ 00043 set bsphy [$bs_rlc set myphy_]\n\ 00044 set mephy [$self set myphy_]\n\ 00045 \n\ 00046 $self setDestRlcId $bsid\n\ 00047 $bs_rlc setDestRlcId $meid\n\ 00048 $bs_rlc setMeCodeId [$self set myphy_code_id_]\n\ 00049 \n\ 00050 $self set destIpAddr_ [$bs_rlc set ipAddr_]\n\ 00051 $bs_rlc set destIpAddr_ [$self set ipAddr_]\n\ 00052 \n\ 00053 $self setMeCodeId [$self set myphy_code_id_]\n\ 00054 \n\ 00055 $bsmac set dst_rlc_id_ $meid\n\ 00056 $bsmac set me_code_id_ [$self set myphy_code_id_]\n\ 00057 $memac set dst_rlc_id_ $bsid\n\ 00058 \n\ 00059 $bsmac set initslotoffset_ 1\n\ 00060 $memac set initslotoffset_ 0.5\n\ 00061 $bsmac start\n\ 00062 $memac start\n\ 00063 \n\ 00064 $bsphy monitor $meid\n\ 00065 $mephy monitor $bsid\n\ 00066 }\n\ 00067 \n\ 00068 \n\ 00069 \n\ 00070 \n\ 00071 proc finalizeUmtsStack {phymodule macmodule rlcmodule ipAddr} {\n\ 00072 \n\ 00073 set rlc [$rlcmodule getRlc]\n\ 00074 \n\ 00075 set chr [$phymodule set chip_rate_]\n\ 00076 set sf [$phymodule set spreading_factor_]\n\ 00077 set cdr [$phymodule set coding_rate_ ]\n\ 00078 set cid [$phymodule set code_id_]\n\ 00079 set TTI [$rlc set TTI_] \n\ 00080 set TTI_PDUs [$rlc set TTI_PDUs_]\n\ 00081 \n\ 00082 \n\ 00083 set userbw [$phymodule getDataRate ] \n\ 00084 set slotd [expr $TTI / $TTI_PDUs ]\n\ 00085 set payload [expr ceil($userbw * $slotd /8)]\n\ 00086 \n\ 00087 $phymodule set slot_duration_ $slotd\n\ 00088 $rlc set bandwidth_ $userbw\n\ 00089 $rlc set payload_ $payload\n\ 00090 $rlcmodule set ipAddr_ $ipAddr\n\ 00091 \n\ 00092 $phymodule setCorrelation [new Correlation/UMTS]\n\ 00093 $phymodule computeSIRtarget $payload\n\ 00094 [$phymodule getCorrelation] set code_id_ $cid\n\ 00095 \n\ 00096 $macmodule set TTI_ $TTI\n\ 00097 $macmodule set TTI_PDUs_ $TTI_PDUs\n\ 00098 $macmodule set slot_duration_ $slotd\n\ 00099 $macmodule set src_rlc_id_ [$rlcmodule getRlcId]\n\ 00100 \n\ 00101 $rlcmodule set myphy_code_id_ $cid\n\ 00102 $rlcmodule set mymac_ $macmodule\n\ 00103 $rlcmodule set myphy_ $phymodule\n\ 00104 \n\ 00105 }\n\ 00106 \n\ 00107 \n\ 00108 \n\ 00109 \n\ 00110 \n\ 00111 \n\ 00112 \n\ 00113 UMTS/RLC/UM set avoidReordering_ false\n\ 00114 UMTS/RLC/UM set payload_ 0\n\ 00115 UMTS/RLC/UM set TTI_PDUs_ 15\n\ 00116 UMTS/RLC/UM set bandwidth_ 0\n\ 00117 UMTS/RLC/UM set debug_ false\n\ 00118 UMTS/RLC/UM set macDA_ -1\n\ 00119 UMTS/RLC/UM set win_ 1024\n\ 00120 UMTS/RLC/UM set temp_pdu_timeout_time_ 10ms\n\ 00121 UMTS/RLC/UM set buffer_level_max_ 500\n\ 00122 UMTS/RLC/UM set TTI_ 10ms\n\ 00123 UMTS/RLC/UM set length_indicator_ 7\n\ 00124 UMTS/RLC/UM set min_concat_data_ 3\n\ 00125 UMTS/RLC/UM set delay_ 50us\n\ 00126 \n\ 00127 UMTS/RLC/AM set avoidReordering_ false\n\ 00128 UMTS/RLC/AM set ack_mode_ 2\n\ 00129 UMTS/RLC/AM set win_ 1024\n\ 00130 UMTS/RLC/AM set maxRBSize_ 100kbytes\n\ 00131 UMTS/RLC/AM set overhead_ 0\n\ 00132 UMTS/RLC/AM set payload_ 0\n\ 00133 UMTS/RLC/AM set TTI_PDUs_ 15\n\ 00134 UMTS/RLC/AM set rtx_timeout_ 140ms\n\ 00135 UMTS/RLC/AM set noFastRetrans_ 0\n\ 00136 UMTS/RLC/AM set numdupacks_ 2\n\ 00137 UMTS/RLC/AM set poll_PDU_ 256\n\ 00138 UMTS/RLC/AM set poll_timeout_ 85ms\n\ 00139 UMTS/RLC/AM set stprob_timeout_ 40ms\n\ 00140 UMTS/RLC/AM set macDA_ -1\n\ 00141 UMTS/RLC/AM set maxdat_ 3\n\ 00142 UMTS/RLC/AM set debug_ false\n\ 00143 UMTS/RLC/AM set bandwidth_ 0\n\ 00144 UMTS/RLC/AM set TTI_ 10ms\n\ 00145 UMTS/RLC/AM set length_indicator_ 7\n\ 00146 UMTS/RLC/AM set ack_pdu_header_ 1\n\ 00147 UMTS/RLC/AM set status_pdu_header_ 20\n\ 00148 UMTS/RLC/AM set min_concat_data_ 3\n\ 00149 UMTS/RLC/AM set max_status_delay_ 10ms\n\ 00150 UMTS/RLC/AM set max_ack_delay_ 10ms\n\ 00151 UMTS/RLC/AM set delay_ 50us\n\ 00152 UMTS/RLC/AM set ack_PDUs_ 0\n\ 00153 UMTS/RLC/AM set ack_SDUs_ 0\n\ 00154 UMTS/RLC/AM set drop_PDUs_ 0\n\ 00155 UMTS/RLC/AM set drop_SDUs_ 0\n\ 00156 UMTS/RLC/AM set tot_PDUs_ 0\n\ 00157 UMTS/RLC/AM set err_PDUs_ 0\n\ 00158 UMTS/RLC/AM set sender_debug_ 0\n\ 00159 UMTS/RLC/AM set receiver_debug_ 0\n\ 00160 \n\ 00161 \n\ 00162 Module/MPhy/UMTS set chip_rate_ 3840000\n\ 00163 Module/MPhy/UMTS set coding_type_ 1 \n\ 00164 Module/MPhy/UMTS set coding_rate_ 0.5\n\ 00165 \n\ 00166 Module/MPhy/UMTS set slot_duration_ 0\n\ 00167 Module/MPhy/UMTS set code_id_ 0\n\ 00168 Module/MPhy/UMTS set alpha_ 0.2177777777\n\ 00169 \n\ 00170 Module/MPhy/UMTS set SIRtarget_ 0\n\ 00171 Module/MPhy/UMTS set PERtarget_ 0.00001\n\ 00172 Module/MPhy/UMTS set PowerCtrlUpdateCmdAtStartRx_ 1\n\ 00173 Module/MPhy/UMTS set PowerCtrlReadCmdAtStartRx_ 1\n\ 00174 Module/MPhy/UMTS set debug_ 0\n\ 00175 \n\ 00176 MInterference/MIV/UMTS set alpha_ 0.2177777777\n\ 00177 \n\ 00178 Module/MPhy/UMTS set pcStep_ 1.258925412\n\ 00179 \n\ 00180 Module/MPhy/UMTS/ME set maxTxPower_ 0.025119\n\ 00181 Module/MPhy/UMTS/ME set minTxPower_ 2.5e-10\n\ 00182 Module/MPhy/UMTS/ME set TxPower_ 0.025119\n\ 00183 \n\ 00184 Module/MPhy/UMTS/BS set maxTxPower_ 0.316227\n\ 00185 Module/MPhy/UMTS/BS set minTxPower_ 0.00316227\n\ 00186 Module/MPhy/UMTS/BS set TxPower_ 0.316227\n\ 00187 \n\ 00188 \n\ 00189 Module/MPhy/UMTS/BS set iuccorr_ 0.2\n\ 00190 Module/MPhy/UMTS/BS set bits_per_symbol_ 2\n\ 00191 Module/MPhy/UMTS/BS set spreading_factor_ 8\n\ 00192 \n\ 00193 Module/MPhy/UMTS/ME set bits_per_symbol_ 1\n\ 00194 Module/MPhy/UMTS/ME set spreading_factor_ 4\n\ 00195 \n\ 00196 \n\ 00197 Module/UMTS/RLC set ipAddr_ -1\n\ 00198 Module/UMTS/RLC set destIpAddr_ -1\n\ 00199 Module/UMTS/RLC/AM set debug_ 0\n\ 00200 \n\ 00201 Module/UMTS/RLC/UM set debug_ 0\n\ 00202 \n\ 00203 Module/UMTS/MAC set debug_ 0\n\ 00204 Module/UMTS/MAC set src_rlc_id_ 0\n\ 00205 Module/UMTS/MAC set dst_rlc_id_ 0\n\ 00206 Module/UMTS/MAC set me_code_id_ 0\n\ 00207 Module/UMTS/MAC set slot_duration_ 0\n\ 00208 Module/UMTS/MAC set TTI_PDUs_ 0\n\ 00209 Module/UMTS/MAC set TTI_ 0\n\ 00210 Module/UMTS/MAC set interleaving_ 0.040\n\ 00211 Module/UMTS/MAC set initslotoffset_ -1\n\ 00212 \n\ 00213 \n\ 00214 Correlation/UMTS set dl_orthogonality_ 0.4\n\ 00215 Correlation/UMTS set code_id_ 0\n\ 00216 Correlation/UMTS set debug_ 0\n\ 00217 \n\ 00218 \n\ 00219 \n\ 00220 \n\ 00221 \n\ 00222 Module/UmtsWirelessCh set debug_ 0\n\ 00223 "; 00224 #include "tclcl.h" 00225 EmbeddedTcl InitTclCode(code);