Hi,
Anybody know about how to simulate Gilbert-Elliott (GE) packet loss model
with 2-state Markov Chain in ns-2? Any examples or website links are very
appreciated!!
I have tried two examples for the error model in ns2 as follows, but the
results are not correspoding to the GE packet loss model. Or my paremeters
are mistake?
Constant Data Rate: 4Mbps
Packets Interval: 2.5ms
My script:
# First example:
#Create 2 exponential random variable (for Markov model)
set rvgood [new RandomVariable/Exponential]
# xxx is the error-free parameter
$rvgood set avg_ 714.2857
set rvloss [new RandomVariable/Exponential]
# xxx is the error parameter
$rvloss set avg_ 1.03518
# Now create a 2 state Gilbert error model and assign the parameters
set em_s_r($i) [new ErrorModel/TwoState $rvgood $rvloss pkt]
#Second example:
#TwoStateMarkov
set good_state [new ErrorModel/Uniform 0 pkt]
set bad_state [new ErrorModel/Uniform 1 pkt]
# Array of states (error models)
set m_states [list $good_state $bad_state]
# Durations for each of the states, tmp, tmp1 and tmp2, respectively
set m_periods [list 714.2857pkt 1.03518pkt] # average value
#set m_periods [list 2.5ms 2.5ms]
# Transition state model matrix
set m_transmx { {0.9986 0.0014} {0.966013 0.033987} }
set m_trunit pkt
# Use time-based transition
set m_sttype pkt
set m_nstates 2
set m_nstart [lindex $m_states 0]
set em_s_r($i) [new ErrorModel/MultiState $m_states $m_periods
$m_transmx $m_trunit $m_sttype $m_nstates $m_nstart]
Thanks in advance!
Best regards,
Guoping