首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在NS2中通过TOA和TDOA计算两个节点之间的距离?

如何在NS2中通过TOA和TDOA计算两个节点之间的距离?
EN

Stack Overflow用户
提问于 2014-01-07 15:09:43
回答 2查看 4.1K关注 0票数 0

我是ns2的初学者。我有两个固定的节点,它们定期在网络中发送消息。这两个节点同时发送它们的周期性消息。此外,我的网络中有一些移动节点。我想要计算一个移动节点和两个固定节点之间的距离,最好使用TOA或TDOA方法(我们没有移动节点位置,节点也没有配备GPS)。我不知道如何在NS2中计算这些节点之间的到达时间或到达时间,同时考虑到估计准确的距离。我该怎么做呢?我有急事,请帮帮我。

EN

回答 2

Stack Overflow用户

发布于 2014-01-08 12:23:32

代码语言:javascript
复制
# Distance calculation

set nbr [open distance w]

puts $nbr "\t\t\t\t\t Detail of positions"

puts $nbr "\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

puts $nbr "\tNode\t\tNb node\t\tNode-Xpos\tNode-Ypos\tNb-Xpos\t\tNb-Ypos\t\tDistance(d)"

puts $nbr "\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

close $nbr

proc distance { n1 n2 nd1 nd2} {

  global c n bnd src dst j0 j1 

  set a 0

  set nbr [open distance a]

  set x1 [expr int([$n1 set X_])]

  set y1 [expr int([$n1 set Y_])]

 set x2 [expr int([$n2 set X_])]

  set y2 [expr int([$n2 set Y_])]

  set d [expr int(sqrt(pow(($x2-$x1),2)+pow(($y2-$y1),2)))]



      puts $nbr "\t$nd1\t\t$nd2\t\t$x1\t\t$y1\t\t$x2\t\t$y2\t\t$d"



  close $nbr
}



U can use above function to print distance node's of all nodes in ns2.

调用“distance”函数打印邻居列表,例如:

代码语言:javascript
复制
for {set i 0} {$i <$val(nn)} {incr i} {
      for {set j 0} {$j <$val(nn)} {incr j} {

        $ns at 1.002 "distance $n($i) $n($j) $i $j" 
      }
    }

以上各行将打印时间为1.002的所有节点之间的距离

代码语言:javascript
复制
here val(nn) denotes number of nodes.
票数 0
EN

Stack Overflow用户

发布于 2017-05-24 13:10:39

与基于时间的定位算法相比,RSS的计算精度较低,而且到达角需要更多的处理和复杂的数学运算,因此可以很好地利用到达时间或到达时间差进行距离计算。但它们需要额外的硬件实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20965898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档