洛洛智久
搜一个给你参考一下:软件测试从零开始引言 几年前,从学校毕业后,第一份工作就是软件测试。那时候,国内的软件企业大多对软件测试还没有什么概念,书店里除了郑人杰编写的《计算机软件测试技术》之外,几乎没有其它的软件测试相关书籍,软件测试仅仅在软件工程的教材中作为一个章节列出来,因此,我对软件测试一无所知。不过,在正式走上工作岗位之前,公司提供了为期两周的系统的软件测试技术专题培训,对接下来的软件测试工作有很大的指导意义。现在,我继续从事软件测试的培训与咨询服务,在这个过程中,亲眼目睹了很多软件测试新手面对的困惑,他们初涉软件测试行业,没有接受系统的培训,对软件测试一无所知,既不知道该测试什么,也不知道如何开始测试。下面针对上述情况,给出若干解决办法。 • 测试准备工作 在测试工作伊始,软件测试工程师应该搞清楚软件测试工作的目的是什么。如果你把这个问题提给项目经理,他往往会这样回答: “ 发现我们产品里面的所有 BUG ,这就是你的工作目的 ” 。作为一名软件测试新手,如何才能发现所有的 BUG ?如何开始测试工作?即便面对的是一个很小的软件项目,测试需要考虑的问题也是方方面面的,包括硬件环境、操作系统、产品的软件配置环境、产品相关的业务流程、用户的并发容量等等。该从何处下手呢?• 向有经验的测试人员学习 如果你进入的是一家运作规范的软件公司,有独立的软件测试部门、规范的软件测试流程、软件测试技术有一定的积累,那么,恭喜你!你可以请求测试经理委派有经验的测试人员作为你工作上的业务导师,由他列出软件测试技术相关书籍目录、软件测试流程相关文档目录、产品业务相关的文档目录,在业务导师的指导下逐步熟悉软件测试的相关工作。其实,在很多运作规范的软件公司,已经把上述的师父带徒弟的方式固化到流程中。 如果你进入的是一个软件测试一片空白的软件企业,那么,也恭喜你!你可以在这里开创一片自己的软件测试事业,当然,前提是老板确实认识到软件测试的重要性,实实在在需要提高产品的质量。这时候,可以到国内的软件测试论坛和相关网站上寻找软件测试资源,这种情况下,自学能力和对技术的悟性就至关重要了。 • 阅读软件测试的相关书籍 现在,中文版的软件测试书籍越来越多,有的是国人自己写的,有的是翻译国外经典之作。可以到 或者 等网络购书的站点查找软件测试相关的书籍。目前,从国外引入的软件测试书籍有很多经典之作,但是,翻译成中文后,翻译质量对阅读效果有很大的影响。 • 走读缺陷跟踪库中的问题报告单 如果您所在的公司已经有软件缺陷跟踪库了,无论采用的是商用工具,如 ClearQuest 、 TestDirecter 等工具,还是采用的 Bugzilla 、 Mantis 等开源工具,这都无关紧要,缺陷跟踪库中的缺陷报告单才是有价值的。缺陷跟踪库中的问题报告单是软件测试工程师工作绩效的集中体现,同时也是软件产品问题的集中体现。一般来说,缺陷报告单中最关键的几个部分包括:第一部分是发现缺陷的环境,包括软件环境、硬件环境等;第二部分是缺陷的基本描述;第三部分是开发人员对缺陷的解决方法。通过对上述缺陷报告单的三个部分作仔细分析,不知不觉你已经吸收了其他软件测试人员的工作经验,并掌握了软件产品常见的基本问题。这是迅速提高软件测试经验的好方法。 • 走读相关产品的历史测试用例 如果你所在的公司有测试用例管理系统,那么,走读相关产品的软件测试用例是迅速提高测试用例设计水平的一条捷径。走读测试用例也是有技巧的。测试用例写作一般会包括测试用例项和根据测试用例项细化的测试用例,下面举例说明。 “ 测试用户登录的功能 ” 是一个测试项,该测试项的目的是测试用户登录功能是否正确,是否能够完成正常的登录功能,是否能够对非法用户名和密码做异常处理等等。因此,根据该用例项,可以设计出若干个测试用例,大多数情况下,测试用例项和测试用例是一对多的关系。 通过走读测试用例项目,你可以掌握应该从哪些功能点着手未来的测试工作;通过走读软件测试用例,你可以了解如何根据被测试的功能点开展软件测试用例的设计工作,包括如何确定测试用例的输入、测试用例的操作步骤和测试用例的输出结果等。 总之,走读其他软件测试人员设计的优秀软件测试用例,是提高自身用例设计水平的好方法。 • 学习产品相关的业务知识 软件测试人员不仅要掌握软件测试技术相关知识,对产品相关的业务知识也要学习。这很好理解,如果从事财务软件的测试工作,一定要学习财务知识;如果从事通讯产品测试工作,那么相关的通讯理论知识也是必须的;如果从事银行软件的测试,银行的业务流程也是不可或缺的知识点。 因此,在学习软件测试技术的同时,千万不要忽略产品相关业务知识的学习。如果你是一个软件测试技术专家,但是对产品业务知识一无所知,那么也只能测试出来纯粹的软件缺陷,而面对眼前出现的产品业务相关的缺陷,很可能是视而不见,如此这般,软件测试的效果会大打折扣。 • 识别测试需求 识别测试需求是软件测试的第一步。如果开发人员能够提供完整的需求文档和接口文档,那固然好。可以根据需求文档中描述的每个功能项目的输入、处理过程和输出,来设计测试用例。如果开发人员没有提供软件需求文档,那该如何是好?下面给出几个有效的方法: • 主动获取需求 开发人员通常不会更好地考虑软件测试,如果没有开发流程的强制规定,他们通常是不愿意提供任何开发文档,即便有强制规定,需求文档也未必能够真正指导软件系统测试工作。因此,需要测试人员发挥主观能动性,与相关的软件开发项目经理和软件开发人员保持沟通,了解软件实现的主要功能是什么,并记录得收集到的信息。一般来说,开发人员即便没有提供相关需求文档,也会保存一些简单的过程文档,主动向开发人员索要这些文档,可以作为测试的参考。此外,可以与公司的技术支持人员交流,技术支持人员是最贴近用户的人,因此,通过交流可以获取第一手的用户使用感受,在测试的过程中会更加贴近用户。 当拿到相关的资料后,从哪些方面分析需求?如何与开发人员交流需求?其实,只要把握需求分析的几个关键的点就可以解决问题:输入、处理过程、输出、性能要求、运行环境,下面针对每一个项目逐一分析: 软件输入: 与该需求相关的一切可能输入,可以从这几方面考虑,输入来源、输入参数的数量、输入参数的度量单位、输入参数的时间要求、输入参数的精度和输入参数的有效输入范围。在测试用例设计中,这部分内容作为测试用例输入的依据。 处理过程: 描述对输入数据所执行的所有操作和如何获得输出的过程。测试人员了解处理过程即可,在测试过程中发现 BUG 时候,如果对处理过程了解的深入,对定位问题根源有很大的帮助。 软件输出: 描述每个需求的输出结果,包括输出的位置(如计算机显示器、打印机,文件),输出参数的数量、输出参数的度量单位、输出参数的时序、输出参数精确度、输出参数的有效输出范围、错误消息。在测试用例设计中,这部分内容作为测试用例的预期输出。 性能要求: 与该需求相关的性能要求,比如 “ 插入 ATM 取款卡后, 3 秒钟内弹出提示用户取款的图形界面 ” 。 3 秒钟这一限制,就是对需求的基本性能要求。 运行环境: 软件的运行所需的环境,包括硬件平台的要求、操作系统的要求、数据库的要求,以及其它相关支撑软件的要求。 • 确认需求的优先级 确认需求的优先级是很必要的,如果在产品进度比较紧的情况下,测试人员可以考虑优先测试优先级高的需求项,如果进度允许,那么在测试优先级低的需求项,如果进度不允许,那么就放弃测试优先级低的需求项。如果软件公司有规范的流程支撑,开发人员在提供软件需求文档的时候,应该在文档中确定需求的优先级。但是,如果开发人员连基本的软件需求文档都没有提供,又怎能指望他们确定软件需求的优先级?如果是这样,需求的优先级只能由测试人员完成了。 • 加入开发小组的邮件群组 测试人员需要通晓被测试产品,但是,产品在开发的过程中往往是不断变化的。如果软件开发团队有一套变更控制流程,测试人员会对产品的变更了如指掌。如果没有变更控制,那就要采用其他的土方法了。如果公司里面有自动化办公系统,也许采用的是 Lotus Notes 系统,也许使用的是 E-mail 系统,测试人员应该加入到开发人员的邮件群组中。当开发人员通过邮件讨论问题、通知召开技术会议的时候,测试人员可以及时知晓,如果必要,可以参加开发人员的技术会议。即便公司里面有了软件变更控制流程,加入到开发邮件群组也是一个很好的习惯。 • 与开发人员为邻 建议测试人员与开发人员为邻。我所在的测试组曾经与开发组是在相邻的写字间里,开发人员与测试人员的关系非常融洽,抛去同事关系,大家还是不错的朋友。不管开发人员有什么样的活动,测试人员都能第一时间获得信息。无论从事软件测试工作,还是从事其它的工作,与工作中上下游环节的同事保持良好的个人关系对工作有很大便利。一般的公司内部都存在部门墙,良好的人际关系是打通部门墙的手段之一。向领导建议测试人员与开发人员为邻,这很必要。 • 测试用例设计 测试需求收集完毕后,开始测试设计。测试用例是什么?测试用例就是一个文档,描述输入、动作、或者时间和一个期望的结果,其目的是确定应用程序的某个特性是否正常的工作。设计测试用例需要考虑以下问题: • 重用同类型项目的测试用例 如果我看得远,那是因为我站在巨人的肩上 --牛顿。 一般来说,每个软件公司的项目可以分为固定的几大类。可以按业务类型划分,比如 ERP 软件、产品数据管理软件、通信软件、地理信息系统软件等等;可以按软件结构来划分,比如 B/S 架构的软件、 C/S 架构的软件、嵌入式软件等等。参考同类别软件的测试用例,会有很大的借鉴意义。如果,公司中有同类别的软件系统,千万别忘记把相关的测试用例拿来参考。如果,系统非常接近,甚至经过对测试用例简单修改就可以应用到当前被测试的软件。 “ 拿来主义 ” 可以极大的开阔测试用例设计思路,也可以节省大量的测试用例设计时间。 • 测试用例执行 测试用例设计完毕后,接下来的工作是测试执行,测试执行中应该注意以下几个问题: • 搭建软件测试环境,执行测试用例 测试用例执行过程中,搭建测试环境是第一步。一般来说,软件产品提交测试后,开发人员应该提交一份产品安装指导书,在指导书中详细指明软件产品运行的软硬件环境,比如要求操作系统系统是 Windows 2000 pack4 版本,数据库是 Sql Server 2000 等等,此外,应该给出被测试软件产品的详细安装指导书,包括安装的操作步骤、相关配置文件的配置方法等等。对于复杂的软件产品,尤其是软件项目,如果没有安装指导书作为参考,在搭建测试环境过程中会遇到种种问题。 如果开发人员拒绝提供相关的安装指导书,搭建测试中遇到问题的时候,测试人员可以要求开发人员协助,这时候,一定要把开发人员解决问题的方法记录下来,避免同样的问题再次请教开发人员,这样会招致开发人员的反感,也降低了开发人员对测试人员的认可程度。 • 测试执行过程应注意的问题 测试环境搭建之后,根据定义的测试用例执行顺序,逐个执行测试用例。在测试执行中需要注意以下几个问题: 全方位的观察测试用例执行结果: 测试执行过程中,当测试的实际输出结果与测试用例中的预期输出结果一致的时候,是否可以认为测试用例执行成功了?答案是否定的,即便实际测试结果与测试的预期结果一致,也要查看软件产品的操作日志、系统运行日志和系统资源使用情况,来判断测试用例是否执行成功了。全方位观察软件产品的输出可以发现很多隐蔽的问题。以前,我在测试嵌入式系统软件的时候,执行某测试用例后,测试用例的实际输出与预期输出完全一致,不过在查询 CPU 占用率地时候,发现 CPU 占用率高达 90 %,后来经过分析,软件运行的时候启动了若干个 1ms 的定时器,大量的消耗的 CPU 资源,后来通过把定时器调整到 10ms , CPU 的占用率降为 7 %。如果观察点单一,这个严重消耗资源的问题就无从发现了。 加强测试过程记录: 测试执行过程中,一定要加强测试过程记录。如果测试执行步骤与测试用例中描述的有差异,一定要记录下来,作为日后更新测试用例的依据;如果软件产品提供了日志功能,比如有软件运行日志、用户操作日志,一定在每个测试用例执行后记录相关的日志文件,作为测试过程记录,一旦日后发现问题,开发人员可以通过这些测试记录方便的定位问题。而不用测试人员重新搭建测试环境,为开发人员重现问题。 及时确认发现的问题: 测试执行过程中,如果确认发现了软件的缺陷,那么可以毫不犹豫的提交问题报告单。如果发现了可疑问题,又无法定位是否为软件缺陷,那么一定要保留现场,然后知会相关开发人员到现场定位问题。如果开发人员在短时间内可以确认是否为软件缺陷,测试人员给予配合;如果开发人员定位问题需要花费很长的时间,测试人员千万不要因此耽误自己宝贵的测试执行时间,可以让开发人员记录重新问题的测试环境配置,然后,回到自己的开发环境上重现问题,继续定位问题。 与开发人员良好的沟通: 测试执行过程中,当你提交了问题报告单,可能被开发人员无情驳回,拒绝修改。这时候,只能对开发人员晓之以理,做到有理、有据,有说服力。首先,要定义软件缺陷的标准原则,这个原则应该是开发人员和测试人员都认可的,如果没有共同认可的原则,那么开发人员与测试人员对问题的争执就不可避免了。此外,测试人员打算说服开发人员之前,考虑是否能够先说服自己,在保证可以说服自己的前提下,再开始与开发人员交流。 • 及时更新测试用例 测试执行过程中,应该注意及时更新测试用例。往往在测试执行过程中,才发现遗漏了一些测试用例,这时候应该及时的补充;往往也会发现有些测试用例在具体的执行过程中根本无法操作,这时候应该删除这部分用例;也会发现若干个冗余的测试用例完全可以由某一个测试用例替代,那么删除冗余的测试用例。 总之,测试执行的过程中及时地更新测试用例是很好的习惯。不要打算在测试执行结束后,统一更新测试用例,如果这样,往往会遗漏很多本应该更新的测试用例。 • 提交一份优秀的问题报告单 软件测试提交的问题报告单和测试日报一样,都是软件测试人员的工作输出,是测试人员绩效的集中体现。因此,提交一份优秀的问题报告单是很重要的。软件测试报告单最关键的域就是 “ 问题描述 ” ,这是开发人员重现问题,定位问题的依据。问题描述应该包括以下几部分内容:软件配置、硬件配置、测试用例输入、操作步骤、输出、当时输出设备的相关输出信息和相关的日志等。 软件配置: 包括操作系统类型版本和补丁版本、当前被测试软件的版本和补丁版本、相关支撑软件,比如数据库软件的版本和补丁版本等。 硬件配置: 计算机的配置情况,主要包括 CPU 、内存和硬盘的相关参数,其它硬件参数根据测试用例的实际情况添加。如果测试中使用网络,那么网络的组网情况,网络的容量、流量等情况。硬件配置情况与被测试产品类型密切相关,需要根据当时的情况,准确翔实的记录硬件配置情况。 测试用例输入 \ 操作步骤 \ 输出: 这部分内容可以根据测试用例的描述和测试用例的实际执行情况如实填写。 输出设备的相关输出信息: 输出设备包括计算机显示器、打印机、磁带等等输出设备,如果是显示器可以采用抓屏的方式获取当时的截图,其他的输出设备可以采用其它方法获取相关的输出,在问题报告单中提供描述。 日志信息: 规范的软件产品都会提供软件的运行日志和用户、管理员的操作日志,测试人员应该把测试用例执行后的软件产品运行日志和操作日志作为附件,提交到问题报告单中。根据被测试软件产品的不同,需要在 “ 问题描述 ” 中增加相应的描述内容,这需要具体问题具体分析。测试结果分析软件测试执行结束后,测试活动还没有结束。测试结果分析是必不可少的重要环节, “ 编筐编篓,全在收口 ” ,测试结果的分析对下一轮测试工作的开展有很大的借鉴意义。前面的 “ 测试准备工作 ” 中,建议测试人员走读缺陷跟踪库,查阅其他测试人员发现的软件缺陷。测试结束后,也应该分析自己发现的软件缺陷,对发现的缺陷分类,你会发现自己提交的问题只有固定的几个类别;然后,再把一起完成测试执行工作的其他测试人员发现的问题也汇总起来,你会发现,你所提交问题的类别与他们有差异。这很正常,人的思维是有局限性,在测试的过程中,每个测试人员都有自己思考问题的盲区和测试执行的盲区,有效的自我分析和分析其他测试人员,你会发现自己的盲区,有针对性的分析盲区,必定会在下一轮测试用避免盲区。总结:限于文章的篇幅,本文不可能给出一个类似于 checklist 的指导性的软件测试新手入门。无论从事软件测试还是从事其它的工作,技术上的和技巧上的问题都可以通过查询相关的软件测试技术书籍获取,掌握一套基本的方法论是最重要的。以上文字,都是作者从事软件测试工作积累的经验之谈,如发现谬误之处请不吝指出。
小淘淘0312
近年来,随着就业竞争越演越烈,关于 毕业 生就业质量问题的研讨亦日益广泛深入。下面是我为大家推荐的计算机论文,供大家参考。
计算机论文 范文 一:认知无线电系统组成与运用场景探析
认知无线电系统组成
认知无线电系统是指采用认知无线电技术的无线通信系统,它借助于更加灵活的收发信机平台和增强的计算智能使得通信系统更加灵活。认知无线电系统主要包括信息获取、学习以及决策与调整3个功能模块,如图1所示[3]。
认知无线电系统的首要特征是获取无线电外部环境、内部状态和相关政策等知识,以及监控用户需求的能力。认知无线电系统具备获取无线电外部环境并进行分析处理的能力,例如,通过对当前频谱使用情况的分析,可以表示出无线通信系统的载波频率和通信带宽,甚至可以得到其覆盖范围和干扰水平等信息;认知无线电系统具备获取无线电内部状态信息能力,这些信息可以通过其配置信息、流量负载分布信息和发射功率等来得到;认知无线电系统具备获取相关政策信息的能力,无线电政策信息规定了特定环境下认知无线电系统可以使用的频带,最大发射功率以及相邻节点的频率和带宽等;认知无线电系统具备监控用户需求并根据用户需求进行决策调整的能力。如表1所示,用户的业务需求一般可以分为话音、实时数据(比如图像)和非实时数据(比如大的文件包)3类,不同类型的业务对通信QoS的要求也不同。
认知无线电系统的第2个主要特征是学习的能力。学习过程的目标是使用认知无线电系统以前储存下来的决策和结果的信息来提高性能。根据学习内容的不同, 学习 方法 可以分为3类。第一类是监督学习,用于对外部环境的学习,主要是利用实测的信息对估计器进行训练;第2类是无监督学习,用于对外部环境的学习,主要是提取外部环境相关参数的变化规律;第3类是强化学习,用于对内部规则或行为的学习,主要是通过奖励和惩罚机制突出适应当前环境的规则或行为,抛弃不适合当前环境的规则或行为。机器学习技术根据学习机制可以分为:机械式学习、基于解释的学习、指导式学习、类比学习和归纳学习等。
认知无线电系统的第3个主要特性是根据获取的知识,动态、自主地调整它的工作参数和协议的能力,目的是实现一些预先确定的目标,如避免对其他无线电系统的不利干扰。认知无线电系统的可调整性不需要用户干涉。它可以实时地调整工作参数,以达到合适的通信质量;或是为了改变某连接中的无线接入技术;或是调整系统中的无线电资源;或是为了减小干扰而调整发射功率。认知无线电系统分析获取的知识,动态、自主地做出决策并进行重构。做出重构决策后,为响应控制命令,认知无线电系统可以根据这些决策来改变它的工作参数和/或协议。认知无线电系统的决策过程可能包括理解多用户需求和无线工作环境,建立政策,该政策的目的是为支持这些用户的共同需求选择合适的配置。
认知无线电与其他无线电的关系
在认知无线电提出之前,已经有一些“某某无线电”的概念,如软件定义无线电、自适应无线电等,它们与认知无线电间的关系如图2所示。软件定义无线电被认为是认知无线电系统的一种使能技术。软件定义无线电不需要CRS的特性来进行工作。SDR和CRS处于不同的发展阶段,即采用SDR应用的无线电通信系统已经得到利用,而CRS正处于研究阶段,其应用也正处于研究和试验当中。SDR和CRS并非是无线电通信业务,而是可以在任何无线电通信业务中综合使用的技术。自适应无线电可以通过调整参数与协议,以适应预先设定的信道与环境。与认知无线电相比,自适应无线电由于不具有学习能力,不能从获取的知识与做出的决策中进行学习,也不能通过学习改善知识获取的途径、调整相应的决策,因此,它不能适应未预先设定的信道与环境。可重构无线电是一种硬件功能可以通过软件控制来改变的无线电,它能够更新部分或全部的物理层波形,以及协议栈的更高层。基于策略的无线电可以在未改变内部软件的前提下通过更新来适应当地监管政策。对于较新的无线电网络,因特网路由器一直都是基于策略的。这样,网络运营商就可以使用策略来控制访问权限、分配资源以及修改网络拓扑结构和行为。对于认知无线电来说,基于策略技术应该能够使产品可以在全世界通用,可以自动地适应当地监管要求,而且当监管规则随时间和 经验 变化时可以自动更新。智能无线电是一种根据以前和当前情况对未来进行预测,并提前进行调整的无线电。与智能无线电比较,自适应无线电只根据当前情况确定策略并进行调整,认知无线电可以根据以前的结果进行学习,确定策略并进行调整。
认知无线电关键技术
认知无线电系统的关键技术包括无线频谱感知技术、智能资源管理技术、自适应传输技术与跨层设计技术等,它们是认知无线电区别传统无线电的特征技术[4,5]。
频谱检测按照检测策略可以分为物理层检测、MAC层检测和多用户协作检测,如图3所示。3.1.1物理层检测物理层的检测方法主要是通过在时域、频域和空域中检测授权频段是否存在授权用户信号来判定该频段是否被占用,物理层的检测可以分为以下3种方式:发射机检测的主要方法包括能量检测、匹配滤波检测和循环平稳特性检测等,以及基于这些方法中某一种的多天线检测。当授权用户接收机接收信号时,需要使用本地振荡器将信号从高频转换到中频,在这个转换过程中,一些本地振荡器信号的能量不可避免地会通过天线泄露出去,因而可以通过将低功耗的检测传感器安置在授权用户接收机的附近来检测本振信号的能量泄露,从而判断授权用户接收机是否正在工作。干扰温度模型使得人们把评价干扰的方式从大量发射机的操作转向了发射机和接收机之间以自适应方式进行的实时性交互活动,其基础是干扰温度机制,即通过授权用户接收机端的干扰温度来量化和管理无线通信环境中的干扰源。MAC层检测主要关注多信道条件下如何提高吞吐量或频谱利用率的问题,另外还通过对信道检测次序和检测周期的优化,使检测到的可用空闲信道数目最多,或使信道平均搜索时间最短。MAC层检测主要可以分为以下2种方式:主动式检测是一种周期性检测,即在认知用户没有通信需求时,也会周期性地检测相关信道,利用周期性检测获得的信息可以估计信道使用的统计特性。被动式检测也称为按需检测,认知用户只有在有通信需求时才依次检测所有授权信道,直至发现可用的空闲信道。由于多径衰落和遮挡阴影等不利因素,单个认知用户难以对是否存在授权用户信号做出正确的判决,因此需要多个认知用户间相互协作,以提高频谱检测的灵敏度和准确度,并缩短检测的时间。协作检测结合了物理层和MAC层功能的检测技术,不仅要求各认知用户自身具有高性能的物理层检测技术,更需要MAC层具有高效的调度和协调机制。
智能资源管理的目标是在满足用户QoS要求的条件下,在有限的带宽上最大限度地提高频谱效率和系统容量,同时有效避免网络拥塞的发生。在认知无线电系统中,网络的总容量具有一定的时变性,因此需要采取一定的接入控制算法,以保障新接入的连接不会对网络中已有连接的QoS需求造成影响。动态频谱接入概念模型一般可分为图4所示的3类。动态专用模型保留了现行静态频谱管理政策的基础结构,即频谱授权给特定的通信业务专用。此模型的主要思想是引入机会性来改善频谱利用率,并包含2种实现途径:频谱产权和动态频谱分配。开放共享模型,又称为频谱公用模型,这个模型向所有用户开放频谱使其共享,例如ISM频段的开放共享方式。分层接入模型的核心思想是开放授权频谱给非授权用户,但在一定程度上限制非授权用户的操作,以免对授权用户造成干扰,有频谱下垫与频谱填充2种。认知无线电中的频谱分配主要基于2种接入策略:①正交频谱接入。在正交频谱接入中,每条信道或载波某一时刻只允许一个认知用户接入,分配结束后,认知用户之间的通信信道是相互正交的,即用户之间不存在干扰(或干扰可以忽略不计)。②共享频谱接入。在共享频谱接入中,认知用户同时接入授权用户的多条信道或载波,用户除需考虑授权用户的干扰容限外,还需要考虑来自其他用户的干扰。根据授权用户的干扰容限约束,在上述2种接入策略下又可以分为以下2种频谱接入模式:填充式频谱接入和下垫式频谱接入。对于填充式频谱接入,认知用户伺机接入“频谱空穴”,它们只需要在授权用户出现时及时地出让频谱而不存在与授权用户共享信道时的附加干扰问题,此种方法易于实现,且不需要现有通信设备提供干扰容限参数。在下垫式频谱接入模式下,认知用户与授权用户共享频谱,需要考虑共用信道时所附加的干扰限制。
在不影响通信质量的前提下,进行功率控制尽量减少发射信号的功率,可以提高信道容量和增加用户终端的待机时间。认知无线电网络中的功率控制算法设计面临的是一个多目标的联合优化问题,由于不同目标的要求不同,存在着多种折中的方案。根据应用场景的不同,现有的认知无线电网络中的功率控制算法可以分成2大类:一是适用于分布式场景下的功率控制策略,一是适用于集中式场景下的功率控制策略。分布式场景下的功率控制策略大多以博弈论为基础,也有参考传统Adhoc网络中功率控制的方法,从集中式策略入手,再将集中式策略转换成分布式策略;而集中式场景下的功率控制策略大多利用基站能集中处理信息的便利,采取联合策略,即将功率控制与频谱分配结合或是将功率控制与接入控制联合考虑等。
自适应传输可以分为基于业务的自适应传输和基于信道质量的自适应传输。基于业务的自适应传输是为了满足多业务传输不同的QoS需求,其主要在上层实现,不用考虑物理层实际的传输性能,目前有线网络中就考虑了这种自适应传输技术。认知无线电可以根据感知的环境参数和信道估计结果,利用相关的技术优化无线电参数,调整相关的传输策略。这里的优化是指无线通信系统在满足用户性能水平的同时,最小化其消耗的资源,如最小化占用带宽和功率消耗等。物理层和媒体控制层可能调整的参数包括中心频率、调制方式、符号速率、发射功率、信道编码方法和接入控制方法等。显然,这是一种非线性多参数多目标优化过程。
现有的分层协议栈在设计时只考虑了通信条件最恶劣的情况,导致了无法对有限的频谱资源及功率资源进行有效的利用。跨层设计通过在现有分层协议栈各层之间引入并传递特定的信息来协调各层之间的运行,以与复杂多变的无线通信网络环境相适应,从而满足用户对各种新的业务应用的不同需求。跨层设计的核心就是使分层协议栈各层能够根据网络环境以及用户需求的变化,自适应地对网络的各种资源进行优化配置。在认知无线电系统中,主要有以下几种跨层设计技术:为了选择合适的频谱空穴,动态频谱管理策略需要考虑高层的QoS需求、路由、规划和感知的信息,通信协议各层之间的相互影响和物理层的紧密结合使得动态频谱管理方案必须是跨层设计的。频谱移动性功能需要同频谱感知等其他频谱管理功能结合起来,共同决定一个可用的频段。为了估计频谱切换持续时间对网络性能造成的影响,需要知道链路层的信息和感知延迟。网络层和应用层也应该知道这个持续时间,以减少突然的性能下降;另外,路由信息对于使用频谱切换的路由发现过程也很重要。频谱共享的性能直接取决于认知无线电网络中频谱感知的能力,频谱感知主要是物理层的功能。然而,在合作式频谱感知情况下,认知无线电用户之间需要交换探测信息,因此频谱感知和频谱共享之间的跨层设计很有必要。在认知无线电系统中,由于多跳通信中的每一跳可用频谱都可能不同,网络的拓扑配置就需要知道频谱感知的信息,而且,认知无线电系统路由设计的一个主要思路就是路由与频谱决策相结合。
认知无线电应用场景
认知无线电系统不仅能有效地使用频谱,而且具有很多潜在的能力,如提高系统灵活性、增强容错能力和提高能量效率等。基于上述优势,认知无线电在民用领域和军用领域具有广阔的应用前景。
频谱效率的提高既可以通过提高单个无线接入设备的频谱效率,也可以通过提高各个无线接入技术的共存性能。这种新的频谱利用方式有望增加系统的性能和频谱的经济价值。因此,认知无线电系统的这些共存/共享性能的提高推动了频谱利用的一种新方式的发展,并且以一种共存/共享的方式使获得新的频谱成为可能。认知无线电系统的能力还有助于提高系统灵活性,主要包括提高频谱管理的灵活性,改善设备在生命周期内操作的灵活性以及提高系统鲁棒性等。容错性是通信系统的一项主要性能,而认知无线电可以有效改善通信系统的容错能力。通常容错性主要是基于机内测试、故障隔离和纠错 措施 。认知无线电对容错性的另一个优势是认知无线电系统具有学习故障、响应和错误信息的能力。认知无线电系统可以通过调整工作参数,比如带宽或者基于业务需求的信号处理算法来改善功率效率。
认知无线电所要解决的是资源的利用率问题,在农村地区应用的优势可以 总结 为如下。农村无线电频谱的使用,主要占用的频段为广播、电视频段和移动通信频段。其特点是广播频段占用与城市基本相同,电视频段利用较城市少,移动通信频段占用较城市更少。因此,从频率域考虑,可利用的频率资源较城市丰富。农村经济发达程度一般不如城市,除电视频段的占用相对固定外,移动通信的使用率不及城市,因此,被分配使用的频率利用率相对较低。由于农村地广人稀,移动蜂窝受辐射半径的限制,使得大量地域无移动通信频率覆盖,尤其是边远地区,频率空间的可用资源相当丰富。
在异构无线环境中,一个或多个运营商在分配给他们的不同频段上运行多种无线接入网络,采用认知无线电技术,就允许终端具有选择不同运营商和/或不同无线接入网络的能力,其中有些还可能具有在不同无线接入网络上支持多个同步连接的能力。由于终端可以同时使用多种 无线网络 ,因此应用的通信带宽增大。随着终端的移动和/或无线环境的改变,可以快速切换合适的无线网络以保证稳定性。
在军事通信领域,认知无线电可能的应用场景包括以下3个方面。认知抗干扰通信。由于认知无线电赋予电台对周围环境的感知能力,因此能够提取出干扰信号的特征,进而可以根据电磁环境感知信息、干扰信号特征以及通信业务的需求选取合适的抗干扰通信策略,大大提升电台的抗干扰水平。战场电磁环境感知。认知无线电的特点之一就是将电感环境感知与通信融合为一体。由于每一部电台既是通信电台,也是电磁环境感知电台,因此可以利用电台组成电磁环境感知网络,有效地满足电磁环境感知的全时段、全频段和全地域要求。战场电磁频谱管理。现代战场的电磁频谱已经不再是传统的无线电通信频谱,静态的和集重视的频谱管理策略已不能满足灵活多变的现代战争的要求。基于认知无线电技术的战场电磁频谱管理将多种作战要素赋予频谱感知能力,使频谱监测与频谱管理同时进行,大大提高了频谱监测网络的覆盖范围,拓宽了频谱管理的涵盖频段。
结束语
如何提升频谱利用率,来满足用户的带宽需求;如何使无线电智能化,以致能够自主地发现何时、何地以及如何使用无线资源获取信息服务;如何有效地从环境中获取信息、进行学习以及做出有效的决策并进行调整,所有这些都是认知无线电技术要解决的问题。认知无线电技术的提出,为实现无线环境感知、动态资源管理、提高频谱利用率和实现可靠通信提供了强有力的支撑。认知无线电有着广阔的应用前景,是无线电技术发展的又一个里程碑。
计算机论文范文二:远程无线管控体系的设计研究
1引言
随着我国航天事业的发展,测量船所承担的任务呈现高密度、高强度的趋势,造成码头期间的任务准备工作越来越繁重,面临着考核项目多、考核时间短和多船协调对标等现实情况,如何提高对标效率、确保安全可靠对标成为紧迫的课题。由于保密要求,原研制的远程标校控制系统无法接入现有网络,而铺设专网的耗资巨大,性价比低,也非首选方案。近些年来,无线通信已经成为信息通信领域中发展最快、应用最广的技术,广泛应用于家居、农业、工业、航天等领域,已成为信息时代社会生活不可或缺的一部分[1],这种技术也为解决测量船远程控制标校设备提供了支持。本文通过对常用中远距离无线通信方式的比较,择优选择了无线网桥,采用了桥接中继的网络模式,通过开发远程设备端的网络控制模块,以及相应的控制软件,实现了测量船对远程设备的有效、安全控制。
2无线通信方式比较
无线通信技术是利用电磁波信号在自由空间中进行信息传播的一种通信方式,按技术形式可分为两类:一是基于蜂窝的接入技术,如蜂窝数字分组数据、通用分组无线传输技术、EDGE等;二是基于局域网的技术,如WLAN、Bluetooth、IrDA、Home-RF、微功率短距离无线通信技术等。在中远距离无线通信常用的有ISM频段的通信技术(比如ZigBee以及其他频段的数传模块等)和无线 网络技术 (比如GSM、GPRS以及无线网桥等)。基于ISM频段的数传模块的通信频率为公共频段,产品开发没有限制,因此发展非常迅速,得到了广泛应用。特别是近年来新兴的ZigBee技术,因其低功耗、低复杂度、低成本,尤其是采用自组织方式组网,对网段内设备数量不加限制,可以灵活地完成网络链接,在智能家居、无线抄表等网络系统开发中得到应用[2]。但是,对于本系统的开发而言,需要分别研制控制点和被控制点的硬件模块,并需通过软件配置网络环境,开发周期长,研制成本高,故非本系统开发的最优方案。
GSM、GPRS这种无线移动通信技术已经成为人们日常生活工作必不可少的部分,在其他如无线定位、远程控制等领域的应用也屡见不鲜[3],但是由于保密、通信费用、开发成本等因素,也无法适用于本系统的开发。而无线网桥为本系统的低成本、高效率的研发提供了有利支持,是开发本系统的首选无线通信方式。无线网桥是无线网络的桥接,它可在两个或多个网络之间搭起通信的桥梁,也是无线接入点的一个分支。无线网桥工作在2•4GHz或5•8GHz的免申请无线执照的频段,因而比其他有线网络设备更方便部署,特别适用于城市中的近距离、远距离通信。
3系统设计
该远程控制系统是以保障测量船对远端标校设备的有效控制为目标,包括标校设备的开关机、状态参数的采集等,主要由测量船控制微机、标校设备、网络控制模块、主控微机以及无线网桥等组成。工作流程为测量船控制微机或主控微机发送控制指令,通过无线网桥进行信息传播,网络控制模块接收、解析指令,按照Modbus协议规定的数据格式通过串口发给某一标校设备,该标校设备响应控制指令并执行;网络控制模块定时发送查询指令,并将采集的状态数据打包,通过无线发给远程控制微机,便于操作人员监视。网络通信协议采用UDP方式,对于测量船控制微机、主控微机仅需按照一定的数据格式发送或接收UDP包即可。网络控制模块是系统的核心部件,是本文研究、设计的重点。目前,常用的网络芯片主要有ENC28J60、CP2200等,这里选用了ENC28J60,设计、加工了基于STC89C52RC单片机的硬件电路。通过网络信息处理软件模块的开发,满足了网络信息交互的功能要求;通过Modbus串口协议软件模块的开发,满足了标校设备监控功能,从而实现了系统设计目标。
3.1组网模式
无线网桥有3种工作方式,即点对点、点对多点、中继连接。根据系统的控制要求以及环境因素,本系统采用了中继连接的方式,其网络拓扑如图1所示。从图中可以清晰看出,这种中继连接方式在远程控制端布置两个无线网桥,分别与主控点和客户端进行通信,通过网络控制模块完成数据交互,从而完成组网。
3.2安全防范
由于是开放性设计,无线网络安全是一个必须考虑的问题。本系统的特点是非定时或全天候开机,涉密数据仅为频点参数,而被控设备自身均有保护措施(协议保护)。因此,系统在设计时重点考虑接入点防范、防止攻击,采取的措施有登录密码设施、网络密匙设置、固定IP、对数据结构体的涉密数据采取动态加密等方式,从而最大限度地防止了“被黑”。同时,采用了网络防雷器来防护雷电破坏。
3.3网络控制模块设计
3.3.1硬件设计
网络控制模块的功能是收命令信息、发状态信息,并通过串口与标校设备实现信息交互,其硬件电路主要由MCU(微控制单元)、ENC28J60(网络芯片)、Max232(串口芯片)以及外围电路组成,其电原理图如图2所示。硬件设计的核心是MCU、网络芯片的选型,本系统MCU选用的STC89C52RC单片机,是一种低功耗、高性能CMOS8位微控制器,可直接使用串口下载,为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。ENC28J60是由M-icrochip公司出的一款高集成度的以太网控制芯片,其接口符合IEEE802.3协议,仅28个引脚就可提供相应的功能,大大简化了相关设计。ENC28J60提供了SPI接口,与MCU的通信通过两个中断引脚和SPI实现,数据传输速率为10Mbit/s。ENC28J60符合IEEE802.3的全部规范,采用了一系列包过滤机制对传入的数据包进行限制,它提供了一个内部DMA模块,以实现快速数据吞吐和硬件支持的IP校验和计算[4]。ENC28J60对外网络接口采用HR911102A,其内置有网络变压器、电阻网络,并有状态显示灯,具有信号隔离、阻抗匹配、抑制干扰等特点,可提高系统抗干扰能力和收发的稳定性。
3.3.2软件设计
网络控制模块的软件设计主要包括两部分,一是基于SPI总线的ENC28J60的驱动程序编写,包括以太网数据帧结构定义、初始化和数据收发;二是Modbus协议编制,其软件流程如图3所示。
3.3.2.1ENC28J60的驱动程序编写
(1)以太网数据帧结构符合IEEE802.3标准的以太网帧的长度是介于64~1516byte之间,主要由目标MAC地址、源MAC地址、类型/长度字段、数据有效负载、可选填充字段和循环冗余校验组成。另外,在通过以太网介质发送数据包时,一个7byte的前导字段和1byte的帧起始定界符被附加到以太网数据包的开头。以太网数据包的结构如图4所示。(2)驱动程序编写1)ENC28J60的寄存器读写规则由于ENC28J60芯片采用的是SPI串行接口模式,其对内部寄存器读写的规则是先发操作码<前3bit>+寄存器地址<后5bit>,再发送欲操作数据。通过不同操作码来判别操作时读寄存器(缓存区)还是写寄存器(缓冲区)或是其他。2)ENC28J60芯片初始化程序ENC28J60发送和接收数据包前必须进行初始化设置,主要包括定义收发缓冲区的大小,设置MAC地址与IP地址以及子网掩码,初始化LEDA、LEDB显示状态通以及设置工作模式,常在复位后完成,设置后不需再更改。3)ENC28J60发送数据包ENC28J60内的MAC在发送数据包时会自动生成前导符合帧起始定界符。此外,也会根据用户配置以及数据具体情况自动生成数据填充和CRC字段。主控器必须把所有其他要发送的帧数据写入ENC28J60缓冲存储器中。另外,在待发送数据包前要添加一个包控制字节。包控制字节包括包超大帧使能位(PHUGEEN)、包填充使能位(PPADEN)、包CRC使能位(PCRCEN)和包改写位(POVERRIDE)4个内容。4)ENC28J60接收数据包如果检测到EIR.PKTIF为1,并且EPKTCNT寄存器不为空,则说明接收到数据,进行相应处理。
3.3.2.2ModBus协议流程
本系统ModBus协议的数据通信采用RTU模式[5],网络控制模块作为主节点与从节点(标校设备)通过串口建立连接,主节点定时向从节点发送查询命令,对应从节点响应命令向主节点发送设备状态信息。当侦测到网络数据时,从ENC28J60接收数据包中解析出命令,将对应的功能代码以及数据,按照Modbus数据帧结构进行组帧,发送给从节点;对应从节点响应控制命令,进行设备参数设置。
4系统调试与验证
试验调试环境按照图1进行布置,主要包括5个无线网桥、1个主控制点、2个客户端、1块网络控制模块板以及标校设备等,主要测试有网络通信效果、网络控制能力以及简单的安全防护测试。测试结论:网络连接可靠,各控制点均能安全地对远端设备进行控制,具备一定安全防护能力,完全满足远程设备控制要求。
5结束语
本文从实际需要出发,通过对当下流行的无线通信技术的比较,选用无线网桥实现远控系统组网;通过开发网络控制模块,以及相应的控制软件编制,研制了一套用于测量船远程控制设备的系统。经几艘测量船的应用表明,采用无线网桥进行组网完全满足系统设计要求,具有高安全性、高可靠性、高扩展性等优点,在日趋繁重的保障任务中发挥了重要的作用。本系统所采用的无线组网方法,以及硬件电路的设计方案,对其他相关控制领域均有一定的参考价值。
生活中所吃到的瓜果蔬菜、禽类、蛋类等等,都属于农产品,所以只要是供人们食用的食物,都可以关系到农产品安全问题,确保农产品安全的第一道防线就是农产品检测。关于农产
由于在加工过程中有很多因素影响加工精度,所以同一种加工方法在不同的工作条件下所能达到的精度是不同的。任何一种加工方法,只要精心操作,细心调整,并选用合适的切削参
发过去了()自己看咯~
机械专业工程 教育 应加强对学生的工程实践训练,以提高机械专业的工程教育水平。下面是我为大家推荐的机械专业 毕业 论文,供大家参考。机械专业毕业论文篇一
去领测国际问问吧 他们挺专业的