ns2下安装UMTS扩展(EURANE的多cell版本(Abdulmohsen M. Mutairi开发))

  EURANE地址:http://eurane.ti-wmc.nl/eurane/(基本上是ns2下umts环境扩展的权威网站,网站中有一些patch文件以及trace和SNR输入数据,可以通过提供的例子测试运行)
最近一直在研究ns2下的umts环境与传输,一开始在EURANE的单cell版本下进行测试,运行了网站中所给的简单的例子(hsdpa传输),能够 运行成功,但随着时间的推进,发现这个扩展版本比较简单,搭建出的环境只能有一个UE进行传输连接,虽然能够做一些吞吐量,延迟的一些分析,但是仍然没能 够把本质的一些东西分析出来,因为我想在umts环境下做一些模型出来,于是乎又仔细的研究了下网站,原来有个叫Abdulmohsen M. Mutairi的牛人做出了EURANE的multicell版本,在看了其写的一篇叫《NS-2 Enhancements for Detailed HSDPA Simulations》的文章后,决定重新安装他做的这个版本,由于新的扩展比较复杂,需要安装很多扩展,最主要的是IT++库(官方网 站:http://itpp.sourceforge.net/current/),这是一个有关数值计算的库,作用相当于一部分matlab,具体作用 还需要接下来慢慢研究,装就装吧,遂进行了多次的G和B搜索,进行如下步骤(一部分是网上转来的):
第一步,要安装BLAS,LAPACK,FFTW库。
首先安装FFTW,因为他最简单,直接在terminal输入命令:sudo synaptic,或者直接打开新立得软件包管理器,安装libfftw-dev这个程序包。安装成功后,FFTW库就算完成了,相当简单。
其次安装LAPACK,这个算是最难的了,因为通过修改Makefile可以直接一起安装BLAS。在他的主页上先下载 压缩的安装文件,我下载 的 是LAPACK version 3.2.1,找到安装信息http://www.netlib.org/lapack/lawn81/index.html,最主要的是如何修改 make.inc,具体操 作如下:
先将下载的文件解压缩。
cd /文件存放地址/lapack-3.2.1
cp make.inc.example make.inc
gedit make.inc
红色部分为修改部分  ............                                                                     
FORTRAN  = gfortran -fimplicit-none -g
OPTS     = -O3
DRVOPTS  = $(OPTS)
NOOPT    =
LOADER   = gfortran -g
LOADOPTS =
..............
执行上一步的时候请确定你安装了Fortran的Compilier,如果没有,sudo apt-get install gfortransudo apt-get install libblas-dev
make
sudo make install
sudo ldconfig
成功的话将生成的三个文件:blas_LINUX.a, lapack_LINUX.a 和tmglb_LINUX.a复制到/usr/lib和/usr/local/lib两个目录下,并改名为:libblas.a,liblapack.a 和libtmglb.a

第二步,安装IT++ (原创)
具体安装过程也可以参考http://itpp.sourceforge.net/current/installation.html
在http://sourceforge.net/apps/wordpress/itpp/下载最新版本的IT++,我用的是version 3.10.7
(这里一定要注意,EURANE的it++库是3.10.7的版本,所以一定要用这个版本,如果用最新的话不一点会成功,至少我试了n次都不行)
解压缩以后,将路径改到该文件下: cd /文件安装地址/itpp-3.10.7
./configure
这一步还好的,你查一下blas,lapack,fftw,是不是后面都是yes,如果yes,继续,no的话重新检查安装,接下来就麻烦了
make
这一步错误n多,应该是gcc版本的问题,在安装目录下的itpp中,很多运行都不能通过,基本每个子文件夹都存在错误文件,经过多次不断调试,总结错误 如下:‘EOF‘未定义,’abs‘等数学计算公式定义模糊,‘INT_MAX’未定义,getchar()未定义,其中‘EOF’错误的话你直接进错误 文件把它替换成‘-1’,其他错误一般是少了些头文件,如<cstlib>(abs)<climits> (int_max)<stdio.h>(getchar)<cstring>等等,这些在新版本的it++里查找同样的文件,然 后安新版本里的语句和头文件改正就好(不能直接复制粘贴,因为有些函数定义不一样,必须一个个的改),虽然很麻烦,但是经过不断的改正后,终于成功 了!happy阿
最后sudo make install,如果返回一些路径,证明安装基本成功。
make check
若都能通过则安装成功。

第三步,使用g++来编译实例,验证是否安装成功。

cd
gedit .bashrc
在文件开头处加入:export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
使用这个example(http://itpp.sourceforge.net/current/vector__and__matrix.html);


若将文件保存为:simple_itpp.cpp
g++ -o example simple_itpp.cpp -litpp
./example
若运行正常,可以得到如下结果:
a = [1 1.11111 1.22222 1.33333 1.44444 1.55556 1.66667 1.77778 1.88889 2]
b = [0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1]
c = [1.1 1.31111 1.52222 1.73333 1.94444 2.15556 2.36667 2.57778 2.78889 3]
A = [[1 2]
[3 4]]
B = [[-2 1]
[1.5 -0.5]]
完成以上步骤后,我们就可以进行下一步了。
按照Abdulmohsen M. Mutairi所说的安装步骤,好像是先patch单cell的版本(eurane-1.12.diff ),然后再patch多cell的版本(eurane-1.13.diff ), 可是我这样弄下来发现多cell版本patch的版本更老,因此始终不成功,反而在ns-2.30下产生了很多reg文件,于是,我索性重新安装ns2, 直接将eurane-1.13.diff文件patch到纯净的ns2环境下,然后重新./configure,make,sudo make install,最后依然返回一些路径,证明安装基本成功。多cell版本提供了很多测试用例,我还在研究中,因为要配置一些东西,所以估计还要花些时 间,具体运行过程我会在后续的日志中介绍。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值