蜂窝网络中移动台越区漫游仿真的VisualC程序设计_第1页
蜂窝网络中移动台越区漫游仿真的VisualC程序设计_第2页
蜂窝网络中移动台越区漫游仿真的VisualC程序设计_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、蜂窝网络中移动台越区漫游仿真的 vi s ualc + + 程序设计 3鲍务英1 , 朱艺华2 , 周根贵2 , 方献华2(11 浙江工业大学 之江学院 , 浙江 杭州 310024 ; 2 . 浙江工业大学 信息智能与决策优化研究所 ,浙江 杭州 310032)摘要 : 对移动台的越区漫游规律 ,尤其是对移动台在越区漫游过程中所经过的不同的位置区个数进行研究 ,对各种位置管理策略的性能与代价的评价来说 ,具有现实意义。给出蜂窝网络中移动台六个方向 越区漫游的仿真算法及 visual c + + (6 . 0) 程序。关键词 : 移动计算 ; 位置管理 ; 仿真 ; microsoft vis

2、ual c + +中图法分类号 : tp311111文献标识码 : a文章编号 : 100123695 (2003) 0920137202visual c + + programming for simulating a mobilecrossing location areas in a cellular wireless networkbao wu2ying1 , zhu yi2hua2 , zhou gen2gui2 , fang xian2hua2(11 zhijiang college of zhejiang university of technology , hangzhou z

3、hejiang 310024 , china ; 21 institute of inf ormation intelligence & decision opti2mization , zhejiang university of technology , hangzhou zhejiang 310032 , china )abstract : to study the situation that a mobile crosses the boundary of las and studying the number of the different las crossed by

4、themobile ,is significant to the evaluation of the performance and cost of various location management schemas. in this paper ,a simulation algorithm of a mobile crossing the boundary of las in six directions is given. furthermore ,a visual c + + program is proposed to realize the simulation algorit

5、hm.key words : mobile computing ; location management ; simulation ; microsoft visual c + +六边形区域作为漫游区域( 图 1) 。前言1在蜂窝无线通信系统中 ,为了使主叫与被叫移动台能够通信 ,系统需要确定被叫移动台的当前位置 ,因此 ,位置管理 (location management) 在移动通信中有着举足 轻重的作用。一般来说 ,移动通信区域由一些位置区la (location area) 覆盖而成 , 而 la 由数个蜂窝组成。移动 台在某个 la 可以向其它 la 漫游 ,其漫游的方向是随机的。

6、在位置管理策略中 , 一旦移动台越区( 从一个位置区la 漫游到另一个 la) , 系统必须对与该移动台相关 的当前位置记录进行更新。因此 ,对移动台越区漫游规 律进行研究 , 对各种位置管理策略的性能评价来说 , 是一项具有现实意义的课题。图 1 移动台漫游区域移动台的漫游规则是 :如果移动台在漫游区域内部 各 la 处 ,则以 1/ 6 的概率向六个不同的方向漫游( 图中 位置 3 所示) ;如果移动台在漫游区域边界的边线上 , 则 向内四个方向的漫游 , 因此 , 它以 1/ 4 的概率向这四个 方向漫游( 图中位置 2) ;在漫游区域角上时 ,以 1/ 3 的概 率向三个方向漫游( 图

7、中位置 1) 。仿真程序逻辑如图 1 所示 ,设漫游区域边线上的 la 个数为 n ,则 菱形区域边线所含的 la 个数就是漫游区域直径上的3仿真方法为了较好地仿真蜂窝系统中移动台的越区漫游 ,各 个 la 用正六边形来表示 ,再在众多的 la 中圈定一个正2la 个数 ,即 2n 21 。定义一个二维数组 cell 2n 21 2n21 。设菱形区域中第 i 行第 j 个 la 为 p ( i ,j) ,对应于数组中的元素 cell i j。收稿日期 : 2002211219 ; 修返日期 : 2003201218基金项目 : 国家自然科学基金 (60074035) ; 浙江省自然科学 基金

8、 (602095 ;600042)设 moving count 为移动台越区次数。在 moving count 次越区漫游中 ,所经过的不同位置区数设为 count differ 。设 p( x ,y) 为移动台当前所处的 la 。漫游仿真按如下步骤逻辑进行 :(1) 初始化。对菱形区域内的任一 p(i ,j) ,如果 p ( i ,double r ,avr ;long n ,count move ,count differ ,count calculate ;printf (输入越区漫游的六边形边长 :) ; scanf (%d, &n) ;printf (输入越区漫游的次数 :)

9、 ; scanf (%d, &count move) ;j) 位于漫游区域内 ,令 cell i j = 0 ;如果 p ( i ,j) 位于漫printf (输入仿真运算的次数 :) ; scanf (%d, &count calculate) ;sum = 0 ; l cal cnt = 0 ;游区域外 ,令 cell i j =21 。dol cal cnt + + ;(2) 将漫游起点定在漫游区域的中心 p ( n ,n) , 即取x = n ,y = n 。越区次数的临时变量 l cnt = 0 ; 经过的不if (l cal cnt > count calcu

10、late + 1) break ;srand ( ( unsigned) time (null) ) ;/ / 对数组 pos 初始化 ,将菱形内部的蜂窝全部暂时赋初值21for (i = 0 ;i < 2 3 n 21 ;i + + ) for (j = 0 ;j < 2 3 n 21 ;j + + ) cell i j . visited = 0 ;同位置数 count diff = 0 。(3) l cnt = l cnt + 1 ;若 l cnt> moving count ,则结束运行。(4) 产生区间0 ,1 上的一个伪随机数 r 。(5) 确定 p( x ,y)

11、 的位置 , 如果 p ( x ,y) 在漫游区域内 ( 图 1 位置 3) ,转到( 6) ; 如果 p ( x ,y) 在漫游区域边界的 边线上( 图 1 位置 2) , 转到 ( 7) ; 如果 p ( x ,y) 是漫游区域 边界的顶点( 图 1 位置 1) ,转到(8) 。cell i j . pos =21 ; / / 21 表示外部区域 / / 对正六边形顶点的蜂窝赋初值cell 0 n 21 . pos = v top l eft ;cell 0 2 3 n 22 . pos = v top right ;cell n 21 0 . pos = vl eft ;cell n 2

12、1 2 3 n 22 . pos = v right ;cell 2 3 n22 0 . pos = vbottom l eft ;cell 2 3 n22 n 21 . pos = v bottom right ;/ / 对正六边形的边线上的蜂窝赋初值for (j = n ; j < n + ( n22) ;j + + ) cell 0 j . pos = efor (i = 1 ; i < n21 ; i + + ) cell i n 212i . pos =/ / 左上边for (i = n ; i < 2 3 n22 ; i + + ) cell i 0 . pos

13、= e/ / 左下边for (j = 1 ; j < n21 ; j + + ) cell 2 3 n22 j . pos =top ; / / 上边top l eft ;(6) 如果 r 0 , 1 , 向东北方向越区漫游 x = x + 1 ,e6bottom l eft ;y = y21 ; 如果 r ( 1 , 2 , 向西北方向越区漫游 y = y21 ;66向正西方向越区漫游 x = x21 ; 如果 r e bottom ;/ / 下边for (i = n ; i < n + n22 ; i + + ) cell i 3如果 r ( 2 , 3 ,3 n232i .

14、pos = e bottom66right ; / / 右下边( 3 , 4 ,for (i = 1 ; i < n21 ; i + + ) cell i 23 n22 . pos = e topright ;向西南方向越区漫游 x = x21 ,y = y + 1 ;如果 r / / 右上边66/ / 对正六边形的内部蜂窝赋初值 0( 4, 5 ,向东南方向越区漫游 y = y + 1 ; 如果 r ( 5for (i = 1 ; i < 2 3 n 22 ;i + + ) int count of border crossed ;,666count of border cros

15、sed = 0 ;1 , 向正东方向越区漫游 x = x + 1 ,转到(9) 。for (j = 0 ;j < 2 3 n 21 ;j + + )(7) 分别就 r 0 , 1 , r ( 1 , 2 , r ( 2 , 3 和 if (cell i j . pos > 0 count of border)crossed + + ;44444if (count ofborder crossed = = 2) break ;r ( 3 ,1 这四种情形 , 针对 p ( x , y) 处于漫游边界六条continue ; if (count of4边线的六种可能性 ,向四个方向越区

16、漫游 ,转到(9) 。border crossed = = 1) cell i j . pos = inner ;/ / 开始漫游x = n ; y = n ; count differ = 0 ;(8) 分别就 r 0 , 1 , r ( 1 , 2 和 r ( 2,1 三3333for (m = 1 ; m < = count move ; m + + )种情况 ,针对 p( x ,y) 处于漫游边界六个顶点的六种可能性 ,向三个方向越区漫游 ,转到(9) 。 r = ( double) rand ( ) / rand max ;/ / 判断当前位置switch (cell x y

17、. pos)(9) 如果 cell xy= 0 ,(10) cell x y = 1 ,则 count diff = count diff + 1 。case inner : / / 在六边形内部转到(3) 。if ( r > = 0 && r < = 1 . 0/ 6) x = x + 1 ; y = y21 ; else if ( r > 1 . 0/ 6 && r < = 2 . 0/ 6 ) y = y21 ; else if ( r > 2 . 0/ 6 && r < = 3 . 0/ 6) x =

18、x21 ; else if ( r > 3 . 0/ 6 && r < = 4 . 0/ 6) x = x21 ; y = y + 1 ; else if ( r > 4 . 0/ 6 && r < = 5 . 0/ 6) y = y + 1 ; else if ( r > 5 . 0/ 6 && r < = 1) x = x + 1 ; break ;case e top : / / 在上面的边上4仿真程序# include stdafx. h# include < stdio . h ># in

19、clude < time . h ># include < stdlib. h ># include < iostream. h ># include < math. h ># include < malloc . h ># include < conio . h ># define max n 200if ( r > = 0 && r < = 1 . 0/ 4) x = x + 1 ; y = y21 ; else if ( r > 1 . 0/ 4 && r <

20、= 2 . 0/ 4 ) y = y21 ; else if ( r > 2 . 0/ 4 && r < = 3 . 0/ 4) y = y + 1 ; else if ( r > 3 . 0/ 4 && r < = 1 . 0) x = x + 1 ; break ;case e top right : / / 在右上方的边上if ( r > = 0 && r < = 1 . 0/ 4) y = y21 ; x = x + 1 ; else if ( r > 1 . 0/ 4 && r

21、< = 2 . 0/ 4 ) y = y21 ; else if ( r > 2 . 0/ 4 && r < = 3 . 0/ 4) x = x21 ; else if ( r > 3 . 0/ 4 && r < = 1 . 0) x = x + 1 ; break ;case e bottom right : / / 在右下方的边上enum edge vertex inner ,e top l eft , etop , e right ,top right , ebottom l eft , ebottom , e bottomv

22、 top l eft ,vtop right ,v l eft ,vright ,vbottoml eft ,v bottom right enum border ;/ 3 inner 表示内部的点( 值为 0)六条边左上方 ,上方 ,右上方 ,左下方 ,下方 ,右下方及 六个顶点左上方 ,右上方 ,左 ,右 ,左下方 ,右下方 3 /struct pos visited / / 存放所漫游过的位置if ( r > = 0 && r < = 1 . 0/ 4) x = x + 1 ;y = y21 ; else if ( r > 1 . 0/ 4 &&

23、amp; r < = 2 . 0/ 4 ) y = y21 ; else if ( r > 2 . 0/ 4 && r < = 3 . 0/ 4) x = x21 ; else if ( r > 3 . 0/ 4 && r < = 1 . 0) x = x21 ;y = y + 1 ; break ;case e bottom : / / 在下方的边上int pos ; / / 0 表示内部 ,其余值表示边界或顶点int visited ; / / 1 表示已经访问过cell 2 3 maxvoid main ( )n 21 23

24、maxn 21 ;if ( r > = 0 && r < = 1 . 0/ 4) y = y21 ; else if ( r > 1 . 0/ 4 && r < = 2 . 0/ 4 ) x = x21 ; else if (r > 2. 0/ 4 && r < = 3. 0/ 4) x = x21 ; y = y + 1 ; (下转第 142 页)long i ,j ,m ,x ,y ,sum ,lcal cnt ;提供了基础。传统的 socket 机制更多的是在应用软件层次的数 据传输 ,而 com/ dc

25、om 技术则不同 , 它逐渐成为操作系 统层次的内在服务 ,由操作系统保证组件的位置透明性 和数据传输的畅通。相对于传统的 socket 传输而言 , 基 于 dcom 的数据传输功能更为强大 , 应用也更加灵活方 便。除此之外 , com/ dcom 的优点还有很多 , 这里就不 赘述了。优点也是 dcom 传输技术得以流行的重要因素之一。参考文献 :余英 ,梁刚 1visual c + + 实践与提高 ( com 和 com + 篇) ,(第一版) m . 北京 : 中国铁道出版社 , 200117214 , 1962197 ,4102416.robert j . oberg. 深入学习

26、com + 高级编程m . 刘谦 ,苏建 平 1 北京 :电子工业出版社 ,2001118233 ,4362438.王小伟 1windows 环境下计算机与高速数字信号处理系统实时通信j 1 计算机应用研究 ,2002 ,19 (2) :1302132. anthony jones ,等 1 windows 网络编程技术 m 1 北京 : 机械工业出版社 ,2000.张捃 ,缪逸 ,谢维平 1 基于 dcom 的分布式应用建构j .计算机工程 ,1999 , (2) :14216.markus horstmann ,mary kirtland1dcom architecture j . j u

27、ly23 ,1997 ,msdn (ver :4. 74. 8702) .1234小结本文研究了目前流行的 dcom 分布式技术 , 并基于 dcom 的远程传输特性 : 位置透明性 ,构造了基于 dcom 组件的远程传输结构 ,实现了同步和异步的远程数据传 输。该传输结构充分利用了 dcom 技术的优点 , 结合数 据缓冲技术和 windows 的消息机制 , 实现了高效、可靠、 安全的数据传输。实践证明 , 本文提出的基于 dcom 组 件的传输结构运行稳定 , 达到了预先设计的目标。最 后 ,还比较了 dcom 编程相对于 socket 编程的优点 ,这些656作者简介 :林勇 (196

28、82) ,男 ,重庆人 ,讲师 ,博士研究生 ,研究方向为计算 机网络技术 、数据仓库与数据挖掘 、计算机技术在建筑行业的 应用 ;刘奔常 (19762) ,男 ,广西人 ,硕士 ,主要研究方向为智能 控制 、远程多媒体监控 、计算机图形学等 。(上接第 138 页)else if ( r > 3 . 0/ 4 && r < = 1 . 0) y = y + 1 ; break ;case e bottom l eft : / / 在左下方的边上exit (0) ; if (cell x y . visited = = 0 count differ + + ;)ce

29、ll x y . visited = 1 ; sum + = count differ ;if ( r > = 0 && r < = 1 . 0/ 4) x = x21 ; else if ( r > 1 . 0/ 4 && r < = 2 . 0/ 4 ) x = x21 ; y = y + 1 ; else if ( r > 2 . 0/ 4 && r < = 3 . 0/ 4) y = y + 1 ; else if ( r > 3 . 0/ 4 && r < = 1 . 0)

30、 x = x + 1 ; break ;while (true) ;avr = long ( ( sum + 0 . 0) / count calculate) ;cout < < 仿真运算的次数 :< < count calculate < < t< < 漫游的六边形边长 :< < n < < n;top l eft : / / 在左上方的边上case ecout < < 越区漫游的次数 :< < count move < < t< < 越过不if ( r > = 0

31、 && r < = 1 . 0/ 4) x = x21 ; y = y + 1 ; else if ( r > 1 . 0/ 4 && r < = 2 . 0/ 4 ) y = y + 1 ; else if ( r > 2 . 0/ 4 && r < = 3 . 0/ 4) x = x + 1 ; else if ( r > 3 . 0/ 4 && r < = 1 . 0) x = x + 1 ; y = y21 ; break ;case v top right : / / 在右上顶点

32、时候同的位置区个数 :< < avr < < n;结束语在移动计算中 ,移动性管理是一个具有挑战性的课 题。本文提出的蜂窝网络的六个方向的越区漫游仿真 算法及程序 ,对于现有移动通信系统移动性管理策略的 评估具有一定的指导意义和应用价值。参考文献 :5if ( r > = 0 && r < = 1 . 0/ 3) x = x + 1 ; y = y21 ; else if ( r > 1 . 0/ 3 && r < = 2 . 0/ 3 ) y = y21 ; else if ( r > 2 . 0/ 3 &

33、amp;& r < = 1 . 0) x = x + 1 ; break ;case v right : / / 在右顶点时候if ( r > = 0 && r < = 1 . 0/ 3) x = x + 1 ; y = y21 ; else if ( r > 1 . 0/ 3 && r < = 2 . 0/ 3 ) y = y21 ; else if ( r > 2 . 0/ 3 && r < = 1 . 0) x = x21 ; break ;case v bottom right : / /

34、 在右下顶点时候1朱艺华 ,史定华 ,周根贵 ,等. 移动台越区次数的概率j .通信学报 ,2002 ,23 (8) :8213.朱艺华 ,史定华 ,高济 ,等. 指针推进移动性管理策略中指 针链长度的概率j . 电子学报 ,2002 ,30 (8) :1145211471朱艺华 ,高济 ,周根贵. 带门槛的指针推进移动性管理策 略j . 计算机研究与发展 ,2002 ,39 (5) :5572560.朱艺华 , 高济 , 周根贵. 移动台自调控移动性管理策略j . 计算机研究与发展 ,2002 ,39 (6) : 65626591戎骏 ,裘杭萍 ,谢希仁. 一种适应微蜂窝的移动性管理策 略j . 通信学报 ,2000 ,21 (2) : 69272.if ( r > = 0 &&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论