计算机软件的简单概念(忆海拾贝我写计算机软件的那点事)

5、写《TD小区覆盖优化》软件

覆盖异常产生的后果主要是掉话和接入失败等用户通话质量的感知问题,投诉较多,是客户服务中心的老大难问题,因此小区覆盖往往是运营商路测优化中的重点。

根据TD理论,反映覆盖的指标主要有PCCPCH强度、接收功率、发射功率和覆盖里程比等,其中PCCPCH强度因其是UE空闲模式下接收信号的强度,因而是反映覆盖质量的关键参数;而覆盖里程比则是反映网络整体覆盖状况的综合指标。然而,从实际操作来看,覆盖问题主要有弱覆盖、越区覆盖和无主覆盖等现象。若说得简单、具体、通俗一点的话,小区覆盖主要包括由天线高度、下倾角、方位角、波瓣角等几何参数决定的阴影覆盖和由电波强度与环境信噪比等物理参数决定的功率覆盖。

由于在小区覆盖优化的实际操作中,人们往往更倾向于采用操作简单、直观的阴影覆盖和功率覆盖来处理问题,因为它们是通用问题。我编写的《TD小区覆盖优化》软件,因是专门针对TD-SCDMA小区在基站小区升级扩容后需要优化的前提下研发的,所以软件仿真优化的理论基础也是以阴影覆盖和功率覆盖等通用方法为依据,条件是现有基站的数据资料必须全面、准确、及时。比如数据主要有可直接、方便、简单决定阴影覆盖范围的天线高度、方位角、下倾角、水平波瓣角等几何参数。

至于功率覆盖,不仅要考虑基站发射天线的发射功率,更要考虑当地实际传输环境对发射功率的影响。由于小区及小区周边环境可以说是日新月异,环境衰耗现象呈动态式变化,若要优化功率覆盖,首先要分析小区周边传输环境,找出最佳仿真对应的相关传输信道参数。我使用的是目前广泛应用的Planet通用模型来校正基站周边环境衰耗,通过路测先找到优化对象周边对应的几组实验测试参数,然后将这几组参数分别代入Planet公式,通过最小二乘法拟合,从而仿真出环境模型衰耗预测。

在软件菜单中的第一个菜单条中,我就设置了“模型初值校正”子菜单,为后面的功率覆盖仿真提供了环境衰耗参考。所以,在小区优化前同样必须做路测,即对优化小区周边环境路测,这个路测数据是软件仿真优化小区周边传输环境的直接根据,路测数据越多好,路测数据越准确、越接近实际环境,仿真效果也越真实,供给软件优化后提供的优化方案也就越好,所以路测数据仍然是软件的基础。

由于《TD小区覆盖优化》软件是在相关路测数据支持下做出的仿真式工作,理论上可以适合许多移动通信制式的覆盖优化工作,因为任何移动通信制式都存在阴影覆盖和功率覆盖引起的覆盖异常,从而影响客户的正常通信和感知,而软件仿真中采用的理论基础,是适合所有制式的基本参数,并不会因为制式的不同而影响参数参考的正确性。也就是说,《TD小区覆盖优化》软件具有较强的通用性特点。

同理,这款软件我也不知道他的最后效果情况,因为自编写完后,它就从来没有使用过。自从我们公司的接入网基站维护优化外包出去以后,公司各中心也就多一事不如少一事了。我花了许多精力和汗水开发的这款软件,同样只能落得为公司争得一点小名誉,而上报给集团公司作为创新成果而且,真的非常可惜,但又能怎么办呢。在我写的这几款应用软件中,因为没有得到公司的支持,或者说开发软件时就是我的自发行为,领导需要的也只是尽量完成集团公司下发的科技成果创新任务。

如果说TD小区扰码优化软件还有较强的局限性的话,TD小区覆盖优化应该具有较好的通用性。如果该软件能够得到及时的应用,并能在应用中不断改进提高,应该是一款有一定前途的软件,可惜它没有这个福气。国企有许多优点,但缺点也是致命的,说明国企改革迫在眉睫,独资!股份!混合制!一个充满活力的国企我翘首以待。

计算机软件的简单概念(忆海拾贝我写计算机软件的那点事)(1)

《TD小区覆盖优化》软件

6、写《TD LTE PCI码资源规划与优化》软件

《TD LTE PCI码资源规划与优化》软件是为4G TD LTE设计的。

TD LTE作为当今世界两种4G模式之一的标准,已经具有完全独立的国家自主知识产权,具有完全可以与FD LTE平分秋色的能力。虽然TD-SCDMA技术因其时分特点应用的不够成熟,但经过几年的应用和探索,已经在同为时分制的TD LTE身上得到了很大的改善与优化,尤其是频谱上因为是时分制,在4G、甚至更高版本移动通信系统中将面临频谱资源越来越紧张的前提下,使之更有优势,既可以使用整块频谱,也方便使用碎片化的被其他系统弃用的低频频谱,理论上讲,TD LTE的技术潜力更大。

与3G采用码分多址(CDMA)技术不同的是,TD LTE采用的多址技术是正交频分多址(OFDMA)。原则上,OFDMA并不是新技术,在上世纪六十年代就已经在理论上研究出来的技术,在频谱利率上有极高的性能。与传统的频分多址(FDMA)技术相比,由于OFDMA的子频之间具有正交性,理论上完全互不干扰,因而系统在频谱设计时,不仅可以取消传统的用于消除各子频间相互干扰的保护隔离的空白频带区域,各子频之间还可以相互重叠布局,一下子就将宽带通信中的频谱利用率提高了几十倍。

TD LTE没有扰码问题了,并不等于它没有新的问题。由于在OFDM制式中的同一小区内的用户信息承载,是在相互正交的子载波上,理论上可以有效地避免小区内各子载波间的相互干扰,但因本小区边缘用户有可能接受到来自相邻或远处小区占用同频和同正交性的载波,由于距离较远,信噪比相对较小,从而使用户无法享受了MIMO技术带来的性能提升,造成小区中心和边缘的性能差距越来越大,导致小区整体吞吐量较高时,使得小区边缘服务质量较差、吞吐量较低的情况时有发生。

为了抑制区间干扰对整个系统性能提升的影响,TD LTE系统采用了504个伪随机码(物理小区标识PCI,该码仅仅用于标识小区,与手机没有关系经),与504个小区的ID号绑定,进行干扰随机化,以此作为小区识别的区分手段,达到排除邻区和远区用户对本小区边缘用户影响的目的。但如同扰码一样,PCI码同样数量有限,也可以在一定的保护距离外重复使用,不同的是,扰码绑定用户手机,PCI码绑定小区。面对数量巨大的小区群体,PCI码资源合理应用,仍然是网络维护中的重要内容,需要规划、优化,随着小区的变化随时做出适当的合理调整。

在TD LTE的空中接口中,504个PCI码用于小区识别和信道同步,可被分成168个小区的ID组,每组3个不同的PCI码,对应着一个标准基站中的3个小区,所以每个PCI码属于并只属于一个小区ID组。为了消除小区边缘效应,PCI码的一个基本规划是:将1~100号设为第一扇区、101~200设为第二扇区、201~300设为第三扇区、301~400设为室内覆盖、401~450设为边界协调、451~504作为备用。为此,根据这个设计标准,我专门设计了这款《TD LTE PCI码资源规划与优化》软件。

遗憾的是,这款软件自写出来也没有使用过,且一直被闲置在我的硬盘中,有同事好意建议我,为了公司的荣誉,可当作创新项目上报集团公司,由此我也可以得到公司的500元的奖励。当然,从我的内心来讲,我更看重软件的应用,因为只有在应用中才能有机会发现问题,才能通过不断地改进优化,最终使软件真正成为一个有实际应用价值的产品,也才能真正体现我的价值,凸现我写软件的真实本意,相比于软件可能有更大应用空间的这个本意而言,这区区五百元又有多少意义呢。

从我自己为公司写的这几款软件来看,由于都是自己的“自由”行为,并没有得到公司的任何认可,就相当于一个个体户一样,所做的一切工作,只对自己有意义,对公司完全是可有可无,每每想到这些,我都有些心酸。

计算机软件的简单概念(忆海拾贝我写计算机软件的那点事)(2)

《TD LTE PCI码资源规划与优化》软件

7、写《平板光波导WKB拟合工具》软件

《平板光波导WKB拟合工具》软件是应我的研究生同学、吉林大学电子科学与工程学院博士生导师郑杰的邀请编写的。反正我写的那些软件并不为公司认可,能为同学做一点事,为大学的博士生导师做一点事,至少还有一点荣誉可言。

2009年郑杰在邮件中跟我说,他当年在意大利做访问学者时,从意大利的大学带来了一个老外用Matlab写的利用WKB法计算平板波导的,基于深度的有效折射率分布的仿真软件,但因该软件是意大利人写的,许多方式方法不易沟通,想要为已所用有较多不便,也存在许多困难。另外,他带的一个硕士研究生正在做实验,工作量比较大,需要随时了解平板波导中的许多情况,而学生写程序一来没有较多的时间,二来仓促应对担心效果不会很好。因此想请我帮忙,将其改写成一个传统的可在操作系统平台上直接应用的可执行软件。郑杰之所以联系我,完全是我们在读书时,他就对我的计算机软件能力比较看好,也相信我有这个能力解决好这个问题。

说来也是闲得无事,加之写点软件,可以将心思完全圈禁在那个封闭的逻辑思维世界中,多少也可将自己在工作中的许多不悦冲洗得干干净净。又因为我一直对我在研究生时期所学专业有所关注,理论计算和写软件的自信心较高、自我感觉较好,所以就爽快地答应了。WKB法从网上查找,很快就有了结果。利用最小二乘法拟合,在写《TD小区覆盖优化》软件时就已经熟悉了。唯一需要认真做的工作,就是怎样设计好这款软件的界面,包括菜单、图示、相关数据表述等,越详细越好。

我与郑杰是中科院长春物理所第八研究室的1989级理学硕士研究生同学,我的导师于荣金先生是第一任室主任,郑杰的导师徐迈先生是我就读时的室主任。我导师领导的研究组加上我都只有五人,于老师、王师付、马少杰、刘立杰、我,基本上算得上是精兵强将。徐迈老师的研究组至少有十几个人,老、弱、病、残和没有人要的都在他的小组里,因为徐老师是主任,他必须保证第八研究室中的每一个都有饭吃。为什么会出现这种情况呢?原来象牙塔也已经实行了改革,每位员工都要向所里上交所谓的“人头税”,人数越多,小组上交的负担就越重。

我与郑杰的交往最多,因而也是最好的朋友。我在物理所读书的三年中,几乎每个周六下午他都要来到我的房间陪我说说话,排解我远在外乡求学中的寂寞。由于他们研究组人最多,每天都有许多新闻,只要是与我或我们研究组有关的事情,他都会第一时间告诉我,从而使我了解了第八研究室中的许多内幕。记得许承杰老师的研究组是一个典型的老年组,其中有位范俊清老师,年龄较大,还有病,可能是多年前与我导师有点矛盾,曾发过狠誓,他做的所有工作都不会给我们组的员工使用。

有一次,郑杰组的一位八七级留所的女生刘大力,手里拿着一个当时时兴的5吋软件对我说,这里面是一个范老师用Basic写的专门用WKB法来计算平板波导的程序,非常好用,可以解决许多问题。恰好我正在学习平板波导的相关理论,加之我还比较熟悉Basic语言。所以,我便向刘大力讨要,请求借来看一看。谁知刘大力当场拒绝了我的要求,并说范老师早已有言在先,不能给你们小组他写的任何东西使用。听了刘大力的话后,我当时非常生气,并说“不给就不难,我自己写一个”。随后,我只用了几天的时间,先到资料室查找资料,然后坐下来认真地写了一个相同的程序,由于我用的APPLE II具有较强的绘图功能,所以我还在软件中增加了绘图功能。当我将程序运行给刘大力看后,好非常吃惊,马上回去对她们研究组的主要成员讲了我写的这个软件的许多优点,徐老师听后还表扬了我。这些都是郑杰后来告诉我的。

毕业后,郑杰留所,后来还读了博士,再后来又入职吉大。我却回到了岳阳,同样经历了邮电局、电信局和移动公司几次较大的变革。96年夏,郑杰去深圳参加相关学术会,专门在岳阳下车与我相聚。从上学到现在的三十多年里,我与郑杰一直保持友好的联系。我今天帮助郑杰写的这个程序,与早年在物理所用Basic写的那个有点相同,但完全不在一档次上了。当然,当年那个程序十分简单,只有几个简单的行编辑式数据输入输出提示,绘图功能的分辨率也低,运算速度慢得惊人,与今天这个可视化图形界面软件相比,完全不可同日而语。

《平板光波导WKB拟合工具》程序代码有2432行,大小只有1MB。

计算机软件的简单概念(忆海拾贝我写计算机软件的那点事)(3)

《平板光波导WKB拟合工具》软件

8、写《直角坐标系统FDTD电磁场仿真》软件

进入2000年后,我搞过一段时间的纯学术研究,且专门学了FDTD(有限时域差分)算法。为此,我专门网络购买了三本研究生专用教材:葛德彪老师编写的《电磁波时域有限差分方法》、王秉中老师编写的《计算电磁学》和吕英华老师编写的《计算机电磁学的数值方法》,其中我的主要学习教材是葛老师编写的书,该书深入浅出,使我受益良多。在学习了FDTD算法后,我还专门利用FDTD算法研究过光子晶体波导,从而了解了单个光子在光子晶体中的传输过程,尤其是发现了光子在光子晶体中传输要远优于光子在光纤中的传输现象,使我在自然科学的认知中大开了眼界。

FDTD算法是一种计算电磁学的算法,算法原理非常简单,但真正落实到编写程序时还是非常复杂的。该算法主要研究电磁波的动态传输过程,但占用计算资源太大,要求电脑的配置很高,普通笔记本电脑很难胜任。所以,在我的研究中一般只能计算小电环境,电磁波的传输距离只有几个波长,传输时间也只有几十毫秒。做一次仿真,长则需要几个小时,短则需要几十分钟,尽管如此,整个电磁波的动态传输过程仍然能使你一目了然,这也是FDTD电磁学计算一直都是热门学科的重要原因之一。

虽然我在学习FDTD计算电磁场时多采用Matlab,但我在Matlab的自我掌控方面没有自己编写的程序方便。如在计算电磁场传输时,若只需要显示3/4现场,用Matlab我一时难以做到,用Delphi编写就容易了。更重要的是Delphi编写的程序是可执行文件,一旦写成就可以方便使用,计算需求可以在菜单中清晰体现,计算速度也比MATLAB快。尤其是用Matlab编程能够做到的,用Delphi编程也够做到;用Matlab编程做不到的,我用Delphi编程也能做到,这也就是我写《直角坐标系统FDTD电磁场仿真》的原因,当然,最主要的还是我比较喜欢编程,具有较高的热情。

《直角坐标系统FDTD电磁场仿真》软件没有使用OpenGL技术来实现透视功能和消隐功能,虽然OpenGL是一款较为优秀的三维绘图技术,用它不仅可以提高运行速度,还可以轻易使三维图形实现旋转、平移、缩放等功能,我在这款软件中不用它,完全是想了解和学习更多的计算机软件技术。我写这个的软件时,采用的技术是用四边网格表面着色方式来实现消隐,用三维透视坐标变换来实现视图透视,虽然程序运行速度较慢,但它无需依赖第三方程序,更重要的是我的相关算法能力得到了提高。下图所示是:X轴按右手螺旋20度、Y轴按左手螺旋10度、Z轴按左手螺旋10度后,坐标系及其中电磁场波形的显示,可以看出,坐标系和电磁波给眼睛的一种立体透视感是非常强烈的。当然,这些显示特征可以通过软件中设置的菜单予以调整。

此款软件虽然是三维显示,但电磁波并不是三维的,因为其中有一维被电磁波的强度占用了,这也是计算机仿真中的某些缺陷。MATLAB为了克服这个缺陷,采用了所谓四维显示方式来显示三维电磁波,其中的第四维是用彩色代表的。软件系统中采用FDTD算法来计算电磁波时,是可以得到三维结果的,但却是以模式为TEM模球面波中三维分支对应的电波和磁波:Ex、Ey、Ez、Hx、Hy、Hz来分解表示的。下图中显示的正是电波Ex模式在动态传输过程中的截图。由于软件用FDTD算法计算的是所有电磁波,所以软件可以显示它在三个方向上的六种波形的结果。软件还可以计算TE模式和TM模式的二维结果,因为计算简单,速度快,人们大多愿意分析这两种模式。

《直角坐标系统FDTD电磁场仿真》软件有代码7447行,程序大小2.8MB,是我写的软件中较大的程序,原因主要是软件中既有三维坐标系统,还有FDTD算法。

计算机软件的简单概念(忆海拾贝我写计算机软件的那点事)(4)

《直角坐标系统FDTD电磁场仿真》软件

9、怎样实现加密序列号功能

零几年时,许多年轻的软件高手都将自己开发的软件,直接放在网上的相关平台上叫买,并已成为一种普遍现象,如杀毒软件、手机群发软件、移动抽奖软件等。受此启发,我也将那些已经应用在我公司的某些软件,以及我觉得性能比较好的计算型软件,改装成可以在网上销售的软件产品。所谓改装,其实就是在软件中增加了注册时的授权加密序列号功能。当然,还要先将软件放在网上供人们有限次数或有限时间使用,并控制每个加密序列号只能为一台电脑可用,只要人们使用了,觉得这个软件对他有用,他才会出钱购买,但价位不能高,我所出售的软件注册码每个一百元。

首先需要说明的是,每台电脑的主板、CPU、硬盘等主要部件都有一个唯一的可以识别硬件的序列号码,以区别同类硬件产品的不同。由于主板、CPU一般都不会轻易更换,我一般采用这两类硬件序列号作为软件产品注册号中的密钥。为了得到这个密钥,我在软件中增加了一项菜单“注册操作”,该菜单可打开一个获取本机机器码的功能,只要打开这个菜单,弹出的窗口中就有一个本机机器码密码显示栏,还有一个注册码密码输入栏,只要用户将这个本机机器码密码传给我,再将这个密钥输入到我专门写的一个注册码发生器中生成注册密码,并将这个注册密码传给用户,使其输入到注册码密码栏中,点击“注册”按钮就可完成软件注册了,从而成为正版软件。

计算机编程软件的本质是采用最简单的方法来解决最复杂的问题。虽然每种程序设计语言的语句语法数量不多,但就是这有限的语句语法却可以编写出无穷无尽的计算机处理事务来。另外,编写计算机程序有一个非常明显的特点,即用软件来实现同一个应用目标的程序结构,不同的程序员写的软件可以完全不同,性能差别也可能极大。也就是说,对程序设计语言的理解力越深,逻辑思维功能越强,对所编项目了解越透彻,特别是程序架构设计越合理,编写的程序也就越科学,不仅占用机器的资源少,运行效率也很高、很稳定,即所谓的“鲁棒性”很强,这样人一般都是高手。

作为业余“码农”,我的能力虽然有限,编写的软件也都是一些小玩意,但多年编程还是使自己少有一些理会。如:开发的软件项目越大,参与到软件编写的人员越多,这时的程序架构设计则越重要,且是整个软件项目成功的关键和核心,所以真正的程序员高手,不是写代码的人,而设计整个程序架构的人,即所谓的架构师;又如只要是计算机能够处理的事务,对于程序员来讲,没有用代码编做不到的事,只有编程设计时想不到的事。所以,有些天赋极高的程序员一般都会活在自己的世界里,就像悟性极高的圣徒一样,可以与上苍交流心得。有鉴如此,我特别尊敬如俅伯君那样的真正程序员!我还写过其他软件,下面的两款便是其中之一。

计算机软件的简单概念(忆海拾贝我写计算机软件的那点事)(5)

《拟合平滑回归伊分析》

计算机软件的简单概念(忆海拾贝我写计算机软件的那点事)(6)

《网管小助手》

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页