如何暂时隔离相邻的无线传输?

时间:2014-09-23 00:03:07

标签: algorithm protocols radio wireless

我有一个相当有趣的问题,可能以前已经解决了,但我不确定在哪里看。

情况

我正在开发一个包含以下内容的系统:

  • 移动的移动无线节点
  • 节点每1000毫秒广播一个信标
  • 节点可以听到来自其他此类节点的信标
  • 信标包含有关发件人的信息(唯一的,如MAC地址)
  • 信标可以包含限制的其他信息(例如关于其他邻居的信息)

要求

我正在尝试开发一种算法&实施:

  • 让相邻节点在1000ms内的“虚拟插槽”上对齐(给定+/- 10ms容差)
  • 容忍彼此无线电范围内最多4个相邻节点(即插槽数量为4,即250ms +/- 10ms)
  • 可以单独通过观察(即完全分散)
  • 可以容忍彼此范围内的已经对齐的邻居集合(即2 + 2 = 4)
  • 通过将信标周期延长或缩短到1001 / 999ms,
  • 使节点逐渐收敛在插槽上
  • 不对无线电链路的双向性做出任何假设

E.g。一些应该起作用的拓扑结构是:

  • 可以看到对方的4个节点

     A-B
     |X|
     C-D
    
  • 最多可以看到4个邻居的长行

     A-B-C-D-E-F-G-H-I
             | 
             X-Y-Z
    

算法COULD如何工作的示例

示例1-A& B彼此接近,算法决定B应向右移动

                  1000                2000                3000                4000
0   250  500  750   0   250  500  750   0   250  500  750   0   250  500  750   0
|    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
A                   A                   A                   A                   A
                     >>                  >>>>                                  
 B                     B                     B                   B              
Time ------------------------------------------------------------------------------>

示例2 - A& B对齐,算法决定C应该向左移动

                  1000                2000                3000                4000
0   250  500  750   0   250  500  750   0   250  500  750   0   250  500  750   0
|    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | 
A    B              A    B              A    B              A    B              A
                                      <<                <<<<                 
                   C                 C                 C                   C
Time ------------------------------------------------------------------------------> 

当前的想法/指南

无线电通信是未确认/广播信标,因此无法确认RF链路。但是,如果节点包含在他们自己的信标中,那么他们可以分享足够的信息。

e.g。在上面的例子2中,如果A可以听到B,那么A的信标可以包括“B在我之后250ms”。同样地,如果B可以听到A,那么B的信标可以包括“A就在我之后750ms”。

有了这种信息,这个问题开始看起来很像网络图问题,每个节点都可以根据它可以听到的节点和他们可以依次听到的节点从自身向外构建。我已经研究过像生成树协议这样的东西,但是还没有多少运气。

问题

虽然它看起来像网络图问题,但问题实际上是如何改变信标的时间。

本质上,该算法回答了“我应该移动自己的信标吗?如果是,哪个方向?”的问题,但它考虑到了:

  • 邻居移动有多难(即如果他们已经有一个优化良好的社区)?
  • 我的邻居将如何移动(即我们是否会分开,或者我们中的一个人会移动)?

实际问题

Sooooo,在经过大量文章后,我的问题确实是:

  1. 有没有人知道这种行为的例子?
  2. 您认为图表创建是好主意吗?
  3. 你觉得这个图表会妨碍我真正想做的事 - 时间上的空间吗?
  4. 渐进式收敛是个好主意吗?
  5. 虚拟插槽的想法是不是很好?
  6. 这是否与STP相似,但我们可以有多个根节点?
  7. BTW:我对此无线电/ MAC层解决方案不感兴趣,这确实是一个应用问题!

    编辑:结束结果

    我从来没有解决这个“插槽”的想法。相反,我们的节点只是远离任何冲突。即我没有尝试开发插槽算法的解决方案,而是制造了一些试图平均间隔但可能导致振荡的东西。

1 个答案:

答案 0 :(得分:0)

我建议您将其分解为两种可以找到的分布式算法。

1)分布式时钟同步。让所有节点在公共时基上达成一致,使用NTP使用的算法。此时,也许有一段时间,可能没有及时分离不同传输的共同协议,但您可以使用http://en.wikipedia.org/wiki/ALOHAnet#The_ALOHA_protocol,但这是一个问题。

2)分布式图着色。一个起点是http://en.wikipedia.org/wiki/Graph_coloring#Parallel_and_distributed_algorithms。我甚至不认识那里的算法,但它至少看起来像你可以参考的工作。在&#34;分散算法&#34;他们还将应用程序引用到无线信道分配,因此其中一些可能与您想要的非常接近。