MSCBSC 移动通信论坛
搜索
登录注册
网络优化工程师招聘专栏 4G/LTE通信工程师最新职位列表 通信实习生/应届生招聘职位

  • 阅读:6605
  • 回复:10
利用python进行全网扰码复用距离分析,新站扰码规划
涛哥来袭
高级会员
鎵嬫満鍙风爜宸查獙璇


 发短消息    关注Ta 

公益·慈善勋章  
积分 1681
帖子 282
威望 576 个
礼品券 8 个
专家指数 270
注册 2009-3-15
专业方向  网络优化
回答问题数 0
回答被采纳数 0
回答采纳率 0%
 
发表于 2019-03-15 17:49:03  只看楼主 

利用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版本,怎么装的自行百度

先把工参整成下面模样

TIMͼƬ20190315163557.jpg

图片咋不显示呢?

发个首行吧。

cellnamePSC下行频点小区覆盖类型longlati

(注意我这里小区覆盖类型是indoor,OUTDOOR,至于为啥一个用小写一个用大写,要问工参负责周大神了,我也是写完才注意到,不过代码中分析复用距离时把室分排除了,但这个区分还是要的)


cmd  cd 进整好的工参所在目录,注意最好用英文文件命名。

比如我这里命名是:psc20190215.csv

在 cmd 里 打 jupyter notebook 回车就进入python的交互式笔记本模式了,py3文件。

导入模块和工参。图片能不能正常显示,太影响心情了。


TIMͼƬ20190315170608.png

1:

import itertools as its

import pandas as pd

from math import radians, cos, sin, asin, sqrt


2:

psc0215 = pd.DataFrame(pd.read_csv('psc20190215.csv',encoding='GBK'))

psc0215.head()


3:

image.png

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:

image.png

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:

image.png

检查频点为10663,复用距离3000米之内的同扰码小区,这个10663和3000是可以自己修改的,保存成本地csv

psc_check(frequency=10663,distance=3000)

psc_check(frequency=10663,distance=3000).to_csv('扰码复用距离小于3000米.csv',encoding = 'gbk')


6:image.png

接下来是扰码规划的,

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,image.png

比如输入以下指令表示 规划 ‘站名’  指定经纬度,在距离 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



查看积分策略说明
附件下载列表:
2019-3-15 17:52:55  下载次数: 135
利用python进行扰码分析.rar (1.84 KB)
2019-3-21 11:24:10  下载次数: 5
利用python进行扰码分析.rar (1.84 KB)
2019-3-21 11:30:26  下载次数: 2
利用python进行扰码分析.rar (1.84 KB)
2019-3-21 11:40:09  下载次数: 2
利用python进行扰码分析.rar (1.84 KB)
2019-3-22 14:40:48  下载次数: 9
利用python进行扰码分析.rar (1.84 KB)
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“iot6”免费领取《【8月30号登载】物联网创新技术与产业应用蓝皮书——物联网感知技术及系统应用
  • 2、回复“6G31”免费领取《基于云网融合的6G关键技术白皮书
  • 3、回复“IM6G”免费领取《6G典型场景和关键能力白皮书
  • 4、回复“SPN2”免费领取《中国移动SPN2.0技术白皮书
  • 5、回复“LTKJ7”免费领取《 联通科技周17本白皮书合集
  • 6、回复“5g-a”免费领取《中国联通5G-A 通感算融合技术白皮书
  • 7、回复“URLLC”免费领取《中国联通5G URLLC 技术白皮书
  • 8、回复“LDSL”免费领取《中国移动算力网络技术白皮书
  • 对本帖内容的看法? 我要点评

     
    [充值威望,立即自动到帐] [VIP贵宾权限+威望套餐] 另有大量优惠赠送活动,请光临充值中心
    充值拥有大量的威望和最高的下载权限,下载站内资料无忧
    horizon2
    VIP会员
    鎵嬫満鍙风爜宸查獙璇


     发短消息    关注Ta 

    积分 28229
    帖子 1102
    威望 19312 个
    礼品券 66 个
    专家指数 -399
    注册 2007-5-5
    专业方向  无线
    回答问题数 0
    回答被采纳数 0
    回答采纳率 0%
     
    发表于 2019-03-16 09:50:57 
    技术问题,回答得专家指数,快速升级


    QUOTE:
    原帖由 litaohello 于 2019-3-15 17:49:03 发表
    利用python进行扰码分析.rar看到有坛友发的python使用pyspark大数据技术解决大量数据迭代分组取TOPN的问题的帖子。我也来分享一下用python进行扰码复用分析和新站扰码规划的源码。相信网优老鸟都知道3G扰 ...

    代码无法下载,能发邮件吗?[email]416610102@qq.com[/email]。谢谢!

    对本帖内容的看法? 我要点评

     
    [立即成为VIP会员,百万通信专业资料立即下载,支付宝、微信付款,简单、快速!]
    涛哥来袭
    高级会员
    鎵嬫満鍙风爜宸查獙璇


     发短消息    关注Ta 

    公益·慈善勋章  
    积分 1681
    帖子 282
    威望 576 个
    礼品券 8 个
    专家指数 270
    注册 2009-3-15
    专业方向  网络优化
    回答问题数 0
    回答被采纳数 0
    回答采纳率 0%
     
    发表于 2019-03-16 11:33:53  只看楼主 


    QUOTE:
    原帖由 horizon2 于 2019-3-16 09:50:57 发表

    代码无法下载,能发邮件吗?416610102@qq.com。谢谢!

    已发邮件


    对本帖内容的看法? 我要点评

     
    最新通信职位:广东通信人才网 | 北京通信人才网 | 上海通信人才网 | 南京通信人才网 | 西安通信人才网 | 重庆通信人才网 | 中国通信人才网
    大灰熊
    新手上路
    鎵嬫満鍙风爜宸查獙璇


     发短消息    关注Ta 

    积分 -176
    帖子 91
    威望 9522 个
    礼品券 8 个
    专家指数 -631
    注册 2012-8-27
    专业方向  WCDMA
    回答问题数 0
    回答被采纳数 0
    回答采纳率 0%
     
    发表于 2019-03-18 09:55:14 


    QUOTE:
    原帖由 litaohello 于 2019-3-15 17:49:03 发表
    利用python进行扰码分析.rar看到有坛友发的python使用pyspark大数据技术解决大量数据迭代分组取TOPN的问题的帖子。我也来分享一下用python进行扰码复用分析和新站扰码规划的源码。相信网优老鸟都知道3G扰 ...

    怎么下载不了,麻烦发下邮箱[email]372936709@qq.com[/email]

    对本帖内容的看法? 我要点评

     
    热点: 通信招聘职位 | 网络优化全集 | WCDMA精品 | TD-SCDMA学习资料 | EVDO | MGW媒体网关资料
    新手小弟
    初级会员
    鎵嬫満鍙风爜宸查獙璇


     发短消息    关注Ta 

    积分 469
    帖子 95
    威望 4645 个
    礼品券 8 个
    专家指数 -6
    注册 2014-3-24
    专业方向  网络优化
    回答问题数 0
    回答被采纳数 0
    回答采纳率 0%
     
    发表于 2019-03-20 09:15:08 

    感谢LZ分享

    对本帖内容的看法? 我要点评

     
    最新通信职位:广东通信人才网 | 北京通信人才网 | 上海通信人才网 | 南京通信人才网 | 西安通信人才网 | 重庆通信人才网 | 中国通信人才网
    坐而言不如起而行
    高级会员
    鎵嬫満鍙风爜宸查獙璇


     发短消息    关注Ta 

    积分 1443
    帖子 286
    威望 1134 个
    礼品券 0 个
    专家指数 13
    注册 2016-3-15
    专业方向  LTE
    来自 河南
    回答问题数 0
    回答被采纳数 0
    回答采纳率 0%
     
    发表于 2019-03-20 12:53:36  QQ


    QUOTE:
    原帖由 新手小弟 于 2019-3-20 09:15:08 发表
    感谢LZ分享

    路过,学习一下!

    对本帖内容的看法? 我要点评

     
    [2分钟拥有VIP权限和充足威望,可下载站内任何资料] [快速找到一份高薪的通信行业职位]
    任我飞翔2008
    中级会员
    鎵嬫満鍙风爜宸查獙璇


     发短消息    关注Ta 

    积分 1162
    帖子 128
    威望 506 个
    礼品券 5 个
    专家指数 -30
    注册 2009-2-24
    专业方向  网络优化
    来自 河南
    回答问题数 0
    回答被采纳数 0
    回答采纳率 0%
     
    发表于 2019-03-21 14:40:04  QQ

    麻烦发下附件给邮箱  [email]421798309@qq.com[/email]  附件无法下载,谢谢,研究学习下

    对本帖内容的看法? 我要点评

     
    热点: 通信招聘职位 | 网络优化全集 | WCDMA精品 | TD-SCDMA学习资料 | EVDO | MGW媒体网关资料
    wangmingrei
    初级会员
    鎵嬫満鍙风爜宸查獙璇


     发短消息    关注Ta 

    纪念勋章·九周年  
    积分 271
    帖子 80
    威望 45092 个
    礼品券 14 个
    专家指数 -129
    注册 2012-3-2
    专业方向  移动通信
    来自 重庆
    回答问题数 0
    回答被采纳数 0
    回答采纳率 0%
     
    发表于 2019-03-21 23:22:12  QQ


    QUOTE:
    原帖由 任我飞翔2008 于 2019-3-21 14:40:04 发表
    麻烦发下附件给邮箱  421798309@qq.com  附件无法下载,谢谢,研究学习下

    楼主,麻烦发下,邮箱:[email]wangrun1234@qq.com[/email],感谢了!

    对本帖内容的看法? 我要点评

     
    热点: 通信招聘职位 | 网络优化全集 | WCDMA精品 | TD-SCDMA学习资料 | EVDO | MGW媒体网关资料
    恨水长东
    初级会员
    鎵嬫満鍙风爜宸查獙璇


     发短消息    关注Ta 

    积分 441
    帖子 79
    威望 7818 个
    礼品券 0 个
    专家指数 46
    注册 2013-8-24
    专业方向  网络优化工程师
    回答问题数 0
    回答被采纳数 0
    回答采纳率 0%
     
    发表于 2019-03-29 09:49:54 


    QUOTE:
    原帖由 litaohello 于 2019-3-15 17:49:03 发表
    利用python进行扰码分析.rar文章中附件删掉就没附件了,再添加上附件就累加多个附件上去了,可以直接复制文章中源码,或者威望多的也可以下载其中一个附件就可以了,完全一样的。看到有坛友发的python使用pyspa ...

    我去会编程流弊

    对本帖内容的看法? 我要点评

     
    [2分钟拥有VIP权限和充足威望,可下载站内任何资料] [快速找到一份高薪的通信行业职位]
    smailooooo
    初级会员
    鎵嬫満鍙风爜宸查獙璇


     发短消息    关注Ta 

    积分 70
    帖子 14
    威望 1752 个
    礼品券 0 个
    专家指数 0
    注册 2015-6-11
    专业方向  通信网优
    回答问题数 0
    回答被采纳数 0
    回答采纳率 0%
     
    发表于 2019-04-10 09:12:18 

    可以可以,但现在还有3G信号吗

    对本帖内容的看法? 我要点评

     
    [2分钟拥有VIP权限和充足威望,可下载站内任何资料] [快速找到一份高薪的通信行业职位]
    ffg654321
    金牌会员
    鎵嬫満鍙风爜宸查獙璇


     发短消息    关注Ta 

    积分 7724
    帖子 111
    威望 22417 个
    礼品券 20 个
    专家指数 -191
    注册 2007-6-18
    专业方向  网络优化
    回答问题数 0
    回答被采纳数 0
    回答采纳率 0%
     
    发表于 2020-05-17 17:45:03 


    QUOTE:
    原帖由 litaohello 于 2019-3-15 17:49:03 发表
    利用python进行扰码分析.rar文章中附件删掉就没附件了,再添加上附件就累加多个附件上去了,可以直接复制文章中源码,或者威望多的也可以下载其中一个附件就可以了,完全一样的。看到有坛友发的python使用pyspa ...

    下载不了,麻烦发下代码研究[email]18627110652@163.com[/email]

    对本帖内容的看法? 我要点评

     
    [2分钟拥有VIP权限和充足威望,可下载站内任何资料] [快速找到一份高薪的通信行业职位]

    快速回复主题    
    标题
    内容
     上传资料请点左侧【添加附件】

    (勾选中文件为要删除文件)


    当前时区 GMT+8, 现在时间是 2024-03-19 18:01:53
    渝ICP备11001752号  Copyright @ 2006-2016 mscbsc.com  本站统一服务邮箱:mscbsc@163.com

    Processed in 0.615145 second(s), 41 queries , Gzip enabled
    TOP
    清除 Cookies - 联系我们 - 移动通信网 - 移动通信论坛 - 通信招聘网 - Archiver