MSCBSC 移动通信论坛
搜索
登录注册

利用python进行扰码分析.rar
资料名称:利用python进行扰码分析.rar
资料大小:1.84 KB
上传时间:2019-03-21 11:40:09
下载次数:2 次
所需威望:30 个 您尚未登录本论坛,请先登录
资料等级: 您尚未登录本论坛,请先登录
您尚未登录本论坛,请先【登录】后再下载资料!
资料描述:利用python进行扰码分析.rar
利用python进行扰码分析.rar文章中附件删掉就没附件了,再添加上附件就累加多个附件上去了,可以直接复制文章中源码,或者威望多的也可以下载其中一个附件就可以了,完全一样的。


看到有坛友发的python使用pyspark大数据技术解决大量数据迭代分组取TOPN的问题 的帖子。
我也来分享一下用python进行扰码复用分析和新站扰码规划的源码。

相信网优老鸟都知道3G扰码复用距离过近对网络KPI的影响,而我们通常检查扰码冲突的方法是根据邻区关系,看主邻有没有扰码冲突(一级),邻区与邻区之间有没有扰码冲突(二级),但对于全网扰码复用的距离有没有方法检查呢。
思路如下:将现网所有相同扰码的小区进行两两配对,组成相同扰码小区的复用距离检查组,然后将配好对的两个小区的经纬度信息添加上,再用excel公式或者小工具计算出每对之间的距离,筛选距离,是不是很简单。
但第一个问题是:找出所有扰码相同的小区后,相同扰码的小区怎么进行两两配对呢,比如我有100个扰码为66的小区,用excel怎么能让100个小区两两组对又不重复呢?这个问题用excel怎么处理还真没研究过,相信强大的excel应该会有方法做出来。
但用python就简单了。
来正式开始,用刚才的思路将实现过程分解下来。1:相同扰码小区两两配对2:配对好的两列小区的经纬度vlookup(excel中的做法)到后面3:根据两组经纬度计算距离4:然后就可以得到所有同扰码小区的复用距离了。
好,原理思路搞清楚,开干:安装一个anoconda3 ,我用的官网最新python3.7版本,怎么装的自行百度先把工参整成下面模样图片咋不显示呢?发个首行吧。cellnamePSC下行频点小区覆盖类型longlati(注意我这里小区覆盖类型是indoor,OUTDOOR,至于为啥一个用小写一个用大写,要问工参负责周大神了,我也是写完才注意到,不过代码中分析复用距离时把室分排除了,但这个区分还是要的)

cmd  cd 进整好的工参所在目录,注意最好用英文文件命名。比如我这里命名是:psc20190215.csv在 cmd 里 打 jupyter notebook 回车就进入python的交互式笔记本模式了,py3文件。导入模块和工参。图片能不能正常显示,太影响心情了。
1:import itertools as itsimport pandas as pdfrom math import radians, cos, sin, asin, sqrt
2:psc0215 = pd.DataFrame(pd.read_csv('psc20190215.csv',encoding='GBK'))psc0215.head()
3:def haversine(lon1, lat1, lon2, lat2): # 经度1,纬度1,经度2,纬度2 (十进制度数)    """    Calculate the great circle distance between two points     on the earth (specified in decimal degrees)    """    # 将十进制度数转化为弧度    lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])    # haversine公式    dlon = lon2 - lon1     dlat = lat2 - lat1     a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2    c = 2 * asin(sqrt(a))     r = 6371 # 地球平均半径,单位为公里    return c * r * 1000
4:def psc_check(frequency=10663,distance=5000):    pscs = psc0215[(psc0215['下行频点']==frequency)].set_index('cell')    temp = pscs[(pscs['PSC'] == 1)]    cell1 = list()    cell2 = list()    result = pd.DataFrame()    for i in range(1,512):        temp = pscs[(pscs['PSC'] == i)]        items = list(temp.index)        if len(items) < 2:            continue        else:            for item in its.combinations(items, 2):                cell1.append(item[0])                cell2.append(item[1])    result['cell'] = cell1    result['cell2'] = cell2            result_cell =  pd.merge(result,pscs,how='left',on = 'cell')    result_cell = result_cell.rename(columns={'cell': 'cell1','cell2': 'cell'})      result_cell = pd.merge(result_cell,pscs,how='left',on = 'cell')    result_cell['距离'] =  result_cell.apply(lambda result_cell : haversine(result_cell.long_x,result_cell.lati_x,result_cell.long_y,result_cell.lati_y), axis = 1)    result_final = result_cell[(result_cell['距离']<distance) & (result_cell['小区覆盖类型_x']== 'OUTDOOR') & (result_cell['小区覆盖类型_y']== 'OUTDOOR')]    return result_final
5:检查频点为10663,复用距离3000米之内的同扰码小区,这个10663和3000是可以自己修改的,保存成本地csvpsc_check(frequency=10663,distance=3000)psc_check(frequency=10663,distance=3000).to_csv('扰码复用距离小于3000米.csv',encoding = 'gbk')
6:接下来是扰码规划的,def psc_plan(cell , long = 0  , lati = 0 , distance = 3500 , plan_nums = 1):    choice = []    best_choice = []    pscs = psc0215.copy()    pscs['plan_cell'] = cell    pscs['plan_long'] = long    pscs['plan_lati'] = lati    pscs['距离'] = pscs.apply(lambda pscs : haversine(pscs.long,pscs.lati,pscs.plan_long,pscs.plan_lati), axis = 1)    pscs = pscs[(pscs['距离']<distance)]    used_psc = set(list(pscs.PSC))    for i in range(1,400):        if i not in used_psc:            choice.append(i)        else:            continue    if plan_nums != 3:        return (choice)    else:        plan_nums = 3        for i in choice:            if (i + 8) in choice and (i + 16) in choice:                best_choice.append((i,i+8,i+16))        return (best_choice)
7,比如输入以下指令表示 规划 ‘站名’  指定经纬度,在距离 4000米内无同扰码,规划数量 = 3 默认是规划一个站的三个小区,按隔 8 连续排列的三个扰码(如195,203,211),也可以输入其它数量,输入其它数量的话就输出所有可选扰码列表。psc_plan('站名' , long = 10.03771  , lati = 3.59746 , distance = 4000, plan_nums = 3 )
如果找不到连续隔8的三个扰码的话,可能是距离设置要求过大,可以改plan_nums数字 = 3 以外的数就行了。
论坛对代码的显示不太友好,图片可以正常显示就又编辑了一下,代码都贴出来了,可以直接复制,附件jupyter 文件也是一样的代码。利用python进行扰码分析.rar
+展开全部描述
本站已经禁止了迅雷、快车等工具下载,请直接点击下载;如这类工具是你的默认下载工具,请取消再试。 如何取消?

更多相关下载: 复用      扰码      THO      分析      码分      AAE      DDE     
资料名称 人气 发布日期  
5G-NR复用与信道编码 1057人关注 2020-07-13
光无源器件:你对CCWDM紧凑型波分复用器了解多少? 1360人关注 2018-05-10
CWDM波分复用器有哪几种种类? 988人关注 2018-05-09
什么是DWDM密集型光波复用?DWDM产品有哪些? 1132人关注 2018-03-30
浅析:CCWDM紧凑型粗波分复用技术概况原理和优势 1332人关注 2018-03-29
剖析:10G粗波分复用CWDM技术原理和网络应用 918人关注 2018-03-27
你对粗波分复用器(CCWDM)了解多少? 1283人关注 2018-03-20
什么是粗波分复用CWDM光模块?有哪些技术产品应用? 1539人关注 2018-02-01
单小区ZC根序列复用核查(Mapinfo插件,Mapbasic自编) 3575人关注 2017-11-30
单小区PCI码复用情况展示(mapbasic插件自编) 2063人关注 2017-11-20
GSM网络简易BCCH+BSIC复用核查(Mapbasic自编工具) 3471人关注 2017-11-20
LTE PCI码复用核查工具(Mapinfo插件自编)+新增附件 6490人关注 2017-11-20
粗波分复用CWDM专题:10G粗波分复用网络的应用和优点-Gigalight 1862人关注 2017-11-13
低成本100G波分复用(WDM)宽带传输设备 3468人关注 2017-11-03
NB-iot终端扰码开关设置问题(案例) 6387人关注 2017-10-23
LTE_PCI复用距离不足导致掉话案例 4449人关注 2017-10-12
TD-SCDMA HSDPA帧分复用配置说明-20090601-A-V1.0 2464人关注 2017-09-19
LTE复用与信道编码 1736人关注 2017-08-01
数据中心:平行还是波分复用 3887人关注 2017-07-03




当前时区 GMT+8, 现在时间是 2024-04-17 00:33:46
渝ICP备11001752号  Copyright @ 2006-2013 mscbsc.com  本站统一服务邮箱:mscbsc@163.com


Processed in 0.210367 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系我们 - 移动通信网 - 移动通信论坛 - 通信人才网 - Archiver