计算机叠代算法分析论文

关键词: 架构 地震 计算机 系统

摘要:竹笛是我国民族乐器中最具代表性的乐器之一。历史悠久,承载着丰富的历史文化底蕴。熟知度高,音色的辨识度突出、穿透力强,表现力丰富。竹笛在民族音乐应用中具有不可替代性,被众多音乐创作者广泛使用、情有独钟。无论是歌剧、戏曲、交响乐、音乐剧、民族声乐作品、电子音乐等各种形式,都能看见竹笛的身影。下面是小编为大家整理的《计算机叠代算法分析论文(精选3篇)》,欢迎阅读,希望大家能够喜欢。

计算机叠代算法分析论文 篇1:

地震资料计算机解释系统架构的发展与展望

摘 要:地震资料计算机解释系统是集地震数据存储、数据分析和图形显示于一体的系统,其架构经历了不同的发展阶段。最初的系统架构利用单一站点进行解释,随着地震勘探中数据量的不断增大和三维可视化技术的应用,计算机解释系统由单一站点向网络化和集群化方向发展。而近来随着虚拟化和云计算技术的应用,石油勘探开发一体化云平台被广泛运用,解释系统作为云平台的一个功能模块,变得更加完善和高效。通过部署虚拟化、大数据和云计算等技术,解释系统呈现了智能化和协同化的发展趋势。

关键词:地震资料计算机解释系统;工作站;集群;虚拟化;云计算

1 引言(Introduction)

地震资料解释就是把经過处理的地震波信息利用专业的地学软件将其转变成人们可认知的地质成果的过程,是石油勘探研究中的一项重要技术手段。由于在解释过程中需要利用复杂的地学软件处理海量的地震数据,显示地下三维剖面图,因此对计算机硬件的配置要求较高,对IT资源和技术比较敏感[1]。随着软硬件的不断发展和石油勘探事业的不断进步,地震资料解释系统也经过了由简单到复杂、由单一化到网络化的发展过程。本文结合作者自身工作经历,分析了各种系统架构的特点及解释系统的未来发展趋势。

2 地震资料计算机解释系统的发展历程(Development stages of computer interpretation system for seismic data)

地震资料计算机解释系统经过多年的发展变化,其系统架构经历了以下几个发展阶段。

2.1 工作站单机模式

所谓工作站单机模式,就是将解释软件和数据库全部安装在一台工作站上进行解释工作。工作站安装的操作系统是Unix系统,包括Oracle公司的solaris、IBM公司的AIX和SGI公司的IRIX。这是Unix工作站进入地震资料解释领域的最初模式,由于工作站内置硬盘容量有限,因此需要在工作站上外接磁盘阵列用于存储数据,为了便于显示地震剖面,每台工作站都会配置双屏显示器。至此,工作站就具有了存储、解释和显示等功能,利用单机资源即可完成所有的解释工作,其系统架构如图1所示。这种系统架构简单、易于实现,由于早期的地震数据和解释规模都不大,因此这种架构应用比较普遍,广泛用于单个项目组或某个区块的石油勘探研究中。随着勘探解释规模的不断扩大,工作站的性能瓶颈弊端便显露出来,而且单一机器解释不利于地震工区数据的共享和多人协同工作,因此这一架构逐渐被新的模式架构所取代。

2.2 基于X-window协议的仿真登录模式架构

随着地震解释工区规模的扩大和解释用户的增多,单一工作站已不能满足石油勘探中地震资料解释工作的需要,为了满足多用户多工区的共同解释和数据资源共享,需要性能更高的计算机和容量更大的存储设备。由于Unix系统是多用户多任务的操作系统,通过将专业软件和数据统一集中安装存放,每台Unix机器即可成为一台解释服务器,再通过X-window协议利用仿真登录即可从PC终端登录到服务器进行解释工作,其架构如图2所示。

基于X-window协议的仿真登录模式彻底改变了过去的工作方式,研究人员不用再去机房上机,在办公室利用PC机就可以完成工作。在这一系统架构中,多项网络技术和服务被利用,极大方便了系统配置和管理。

2.2.1 网络附加存储(NAS: Network Attached Storage)

NAS被定义为一种特殊的专用数据存储服务器,由存储控制器、磁盘阵列和功能软件模块组成,用于为网络中的各种计算机提供数据存储、共享和备份[2]。NAS存储设备将地震工区数据统一集中管理,能实现不同用户间的使用和共享,为地震勘探解释中多用户多工区的共同解释提供了重要保障[3];同时利用NAS存储的数据快照功能,可以方便地对数据进行在线备份,有效保障了数据的安全。

2.2.2 网络文件系统(NFS: Network File System)

NFS是一种网络协议,用于网络中的计算机之间通过TCP/IP网络共享文件系统资源,利用NFS协议,可以在Unix工作站上挂载NAS存储设备,从而可以像访问本地文件一样访问NAS存储设备上的工区数据。NAS和NFS的结合使得NAS存储设备得以充分共享和高效利用,不仅解决了海量工区数据的存放问题,还能够作为各种专业软件的安装目录,各Unix工作站通过共享即可调用所有专业软件。

2.2.3 网络信息服务(NIS: Network Information Service)

NIS服务主要用来统一管理Unix账户信息,通过设置NIS域服务器,在服务器上建立用户账号,即可在域内所有Unix机器上同步账号和hosts文件等信息,从而可在域内所有主机上登录。此外还能对所有用户实现统一管理,包括设置不同权限和共享目录、分配存储空间以及用户的环境设置等。

基于X-window协议的仿真登录模式是目前应用比较广泛的系统架构,其具有工作高效、计算机资源配置使用灵活、系统冗余度高等优点,但也有其缺点,主要是通过仿真登录无法显示三维地震剖面,需要新技术、新方法来实现。

2.3 勘探开发一体化云平台

随着大数据及云计算等IT技术的不断发展,石油勘探开发业务对信息化、智能化、协同化的要求也越来越高,勘探开发一体化云平台便是适应这一新要求的模式架构。利用云平台可以实现油田数据资料共享、勘探开发数据集中管理、高性能计算、多种专业软件同时调用、远程三维显示等多种功能。地震资料计算机解释系统是云平台的重要组成部分,用户利用云平台可随时随地调用云平台上的资源,进行地震资料解释,极大地提高了工作效率。

勘探开发云平台系统架构由三部分组成:基础设施层(IaaS)、平台服务层(PaaS)和软件应用层(SaaS)。基础设施层主要包括各种服务器、存储设备和网络设备等硬件资源,以及在物理设备上虚拟出来的各种虚拟资源,它们是整个云平台的基础构件;平台服务层主要指在基础设施上搭建的各种应用平台,包括操作系统安装、数据库及专业软件配置、用户权限管理、集群系统配置、资源监控及调度、软件许可证管理等,该平台实现了所有的功能应用,即具备了向用户提供各种应用服务的条件;软件应用层提供了用户应用接口,用户通过互联网即可调用云平台上的各项应用服务,打破了时间和空间限制,实现了IT资源的高效利用[4]。云平台的系统架构如图3所示。

勘探开发云平台改变了过去不同应用系统相互独立的局面,将所有数据资料和专业软件整合起來,将各种应用建在“云端”,用户不用关心其底层架构,也不用担心计算机硬件资源性能瓶颈,只需要互联网和终端,即可按需使用相关应用服务,真正实现了IT资源最大化利用。

3 地震资料计算机解释系统的发展趋势(Development trend of computer interpretation system for seismic data)

IT技术的发展对计算机解释系统的硬件配置要求不断提高,特别是解释软件的不断升级使得相应的系统平台配置也随之提高,随着软件和硬件的共同发展,在地震资料解释领域,计算机解释系统的发展将呈现以下趋势。

3.1 计算机集群系统的应用

随着石油勘探开发中一些新技术和大型软件的不断应用,其对计算机硬件的要求越来越高,需要运算速度更快的计算机、容量更大的存储设备、IO性能更高的网络环境。特别是在地震资料的叠前反演和油田开发数值模拟中,都需要大规模的并行计算来支持,而计算机集群技术则能充分利用已有的服务器和工作站解决这一问题。

计算机集群技术通过各节点协同工作,能有效整合各节点计算资源,进行复杂的数学运算,从而完成单一机器不能完成的工作[5-6]。集群系统有如下优点:(1)负载均衡。集群系统使用专门的负载均衡算法分析各节点的负载能力,保证系统资源的充分利用,使系统的性能达到最优化。(2)系统可用性高。集群系统通过多个节点并行运算,当其中某个节点出现故障时,系统仍然能够正常工作,从而避免了过去单一服务器出现故障导致无法运算的情况。(3)系统可扩展性强。集群系统具有灵活的扩展性,当系统硬件资源无法满足解释处理业务的增长需求时,可以增加节点提高系统整体性能,利用较少的投入即可适应业务的增长需求。

3.2 虚拟化技术的部署

虚拟化是一种资源管理技术,是将计算机的各种实体资源,如服务器、内存及存储等,通过各种软件根据需要虚拟出相应的资源[7-8]。随着勘探开发云平台的不断运用,虚拟化技术作为其必要技术,在云平台上广泛部署。通过部署虚拟化技术,减少了物理服务器数量,有效整合了硬件资源,在使用中具有以下优势:降低了硬件成本和能源消耗,节省了机房空间以及管理成本;设备利用率大大提高,宿主机的优越性能得以充分利用,同时虚拟机的资源可以灵活动态调整,真正做到了按需分配;系统运维更加方便快捷,利用管理工具,大大简化了服务器的部署、管理和维护工作;系统安全性更高,虚拟化技术支持虚拟机的快速复制、备份和迁移,当系统出现故障时能快速恢复和还原,大大提高了系统的可用性和冗余度。

3.3 人工智能技术崭露头角

人工智能技术(AI)作为目前的一项前沿技术,在众多领域已经得到广泛应用,但在石油行业还处于起步阶段,虽然在有些油田的数据采集和管网监测方面有所运用,但有关地震资料解释处理的应用还在研究中[9]。目前几大国际石油公司和IT巨头纷纷开展合作,针对石油行业的智能化开展研究,相信在不久的将来,石油行业将会变得更加智能化,特别是在前期的勘探开发研究中,通过大数据分析和机器学习,由高度智能化的软件程序即可完成地震资料的处理和分析解释工作。

4 结论(Conclusion)

随着计算机技术的不断发展,地震资料计算机解释系统也经历了由简单到复杂、由单一化到并行化和集约化的发展过程,其系统架构随着IT技术的发展也越来越完善。而大数据、云计算和人工智能是当今IT技术发展的主流,相信在今后的发展过程中,这些主流技术将在地震资料计算机解释系统中发挥更大的作用,使一体化云平台架构更加完善和先进,使石油勘探研究变得更加高效和智能。

参考文献(References)

[1] CAO S Y, YUAN D. Summary of high-resolution seismic data processing technology[J]. Xinjiang Petroleum Geology, 2016, 37(1):112-119.

[2] 汪生珠,何庆兵,欧阳欣.集群NAS存储技术在石油勘探高性能计算中的应用[J].中国科技信息,2016(6):29-31.

[3] 曾薇,杨乐,谭颖.网络存储技术在地震数据存储中的应用[J].震灾防御技术,2011,6(3):335-342.

[4] 于会松.勘探协同研究云平台的设计及应用[J].计算机仿真,2014,31(6):155-157.

[5] YIN L. Discussion on the application of large-scale computer cluster in seismic exploration data processing[J]. Computer Age, 2016(08):1-3.

[6] HUANG Y, SHI X M. Parallel computing technology and its present situation and prospect in exploration geophysics[J]. Progress in Geophysics, 2010, 25(2):642-649.

[7] 罗红梅.利用虚拟化技术提升地震解释软件应用能力[J].信息系统工程,2015(12):90-91.

[8] 章婷.虚拟化技术在地震行业应用的综述[J].中国科技信息,2016(20):51-52.

[9] 韩晓山,何庆兵.云计算技术在地震处理解释中的应用探讨[J]. 電子技术与软件工程,2018(13):9-10.

作者简介:

叶虹余(1984-),男,本科,高级工程师.研究领域:勘探开发软硬件运维,信息系统开发和管理.

作者:叶虹余

计算机叠代算法分析论文 篇2:

竹笛音色应用与采样分析

摘要:竹笛是我国民族乐器中最具代表性的乐器之一。历史悠久,承载着丰富的历史文化底蕴。熟知度高,音色的辨识度突出、穿透力强,表现力丰富。竹笛在民族音乐应用中具有不可替代性,被众多音乐创作者广泛使用、情有独钟。无论是歌剧、戏曲、交响乐、音乐剧、民族声乐作品、电子音乐等各种形式,都能看见竹笛的身影。录音采样、频谱分析对竹笛音色的频率范围和动态范围有很好的指引性。通过对音色的变形制作可将其运用到更为广泛的音乐作品中。更为重要竹笛音色的应用、变形与拓展为乐器本身改良、升级、创新提供了强有力的理论依据。

关键词:竹笛应用;音色采样;算法分析

研究意义

竹笛乐器的应用,音色的采录、分析、算法、变形与制作,为今后竹笛艺术进一步拓展国际音乐创作市场提供更为广阔的发展空间。通过采样分析研究进一步确立竹笛艺术(竹笛音色)特殊性和重要性,为今后竹笛改良提供必要的理论基础。更深层次丰富了音乐家在创作中多样性选择和特殊性要求,折服于竹笛音色及变形那不可思议的创造力。

一、竹笛起源与形态

贾湖骨笛,民族乐器的始祖,距今已有 8000 多年的历史(出土于中国河南省贾湖遗址)。贾湖骨笛共计出土约 20 多件不同样式的骨笛,其中包含有5孔、6 孔、7孔和8孔等多种样式,大多是截取仙鹤(丹顶鹤)尺骨(翅骨)制成的骨笛,且能够演奏中国传统的五声音阶和七声音阶,甚至可以演奏不同少数民族的民族乐曲。“笛”最早出于《史记》记载中,"黄帝使伶伦伐竹于昆豀、斩而作笛,吹作凤鸣"。而“骨笛”“竹笛”作为具有鲜明特色的华夏民族乐器,其发音温婉、清脆、动听,古人亦谓“荡涤之声”,始名为“涤”。自古以来,笛子就是我国广为流传的民族吹奏乐器,其材质用天然竹子所制,所以也称为"竹笛"。近现代以来,竹笛的发展和改良越来越丰富多样化。从材质的选择,体型的大小、长短,孔位的变化,应用的领域,无一不彰显出竹笛正在经历一次跳跃式的改良发展。形态丰富,品种繁多。熟知度最高的是梆笛、曲笛、定调笛。另外还有短笛、竖笛、七孔笛、八孔笛、十一孔笛和玉屏笛等。笛子在乐队中扮演着重要的角色,是民族乐队中不可或缺的旋律乐器,常以独奏形式存在,也可以重奏、合奏。

二、竹笛音色应用

竹笛作为最具鲜明特色的民族性乐器,它的音色一直以来都是创作者们所亲睐的,对于音乐的帮衬和层次上的丰富起到画龙点睛的效果。传统民族民间音乐更是离不开竹笛的衬托。尤其是中国传统戏曲音乐,在戏曲音乐的结构中举足轻重。竹笛作为伴奏织体参与其中,淋漓尽致体现出其本身旋律性的特点和音色的独特性,也是戏曲音乐结构中御用的伴奏乐器。

例如,中国戏曲“黄梅戏”音乐,《天仙配》《女驸马》《牛郎织女》《打猪草》等。竹笛对于音乐性的拓展、音乐的张力、音乐调性拔高可谓是功不可没,先闻其声,便知其名。长久以来也是形成黄梅戏音乐伴奏织体中固定的精髓所在。

竹笛艺术与戏曲的相互作用是我国劳动人民在长期的生活中逐渐演变形成的,两者相辅相成、默契搭配,是中国戏曲艺术在不断发展中凝聚的结晶。提到“黄梅戏”就不得不提及“昆曲”和“秦腔”。昆曲的经典曲目:牡丹亭、长生殿、桃花扇、浣纱记;秦腔:苏若兰、卖酒、斩秦英、二进宫、苏武牧羊、吕布戏貂蝉等。无论是曲目还是选段,竹笛艺术与戏曲艺术进行了数次的完美结合,竹笛的托腔、行腔、旋律再现以及情景衔接,表达了中国戏曲艺术对竹笛音色的独到诉求。这种体系构建是在长久的戏曲历史中锤炼出来的。

此外,竹笛也广泛运用于现代音乐中,交响乐、歌剧、戏曲、音乐剧、民族声乐、流行音乐、电子音乐、影视配乐等。竹笛的运用无一不展现出它强大的民族特色(音乐生命力、传播力、影响力)。这是民族器乐的代表,更是民族文化传承。

三、竹笛音色采样

竹笛种类丰富,这里主要对梆笛、曲笛两种类型进行不同音高、音色、演奏技法、时长、音质的采样与制作。对竹笛音色进行采样主要是挖掘其音色的独特性,便于未来虚拟音乐编配提供多种可能性。

首先,具备相对标准的录音棚及声学环境,才能对竹笛的音色进行干声采录。需要多种录音设备共同完成。(电脑终端、专业多通道声卡、专业拾音设备、发放、压缩器、限制器、分配器、监听耳机、监听音箱、数控台、专业宿主软件等)其次,对于竹笛调性的选择,一般从 G 大调(曲笛)开始,依次为 bA 大调、A 大调、bB 大调、C 调、D 调、E 调;到 bE 调(绑笛)、F 调、G 调、A 调、bA调、B 调、小 c 调绑笛。竹笛的音阶范围通常在 2 个 8 度以上,以 C 调曲笛为参考,从低音 5 到高音 5,再往上拓展純五度为止。钢琴上的对应音域是:c1G(so)到 c4D(re),理论上可以更高,但在实际的演奏中已到达极限。传统的曲笛和绑笛音域范围相同。

第三,演奏人员的选择上一定是竹笛专业演奏员,对于竹笛演奏气息的控制、音色音准的表达、演奏技法熟练都应有精准的呈现。采样出来的初始素材就会有较高参考标准。依次对每个音进行的延音、长音、颤音、叠音、打音、顿音、气震音、滑音、吐音(单双三吐音)、垫音、涟音、泛音、花舌音、循环音等演奏技法进行采录,形成竹笛奏技法音色库。根据录制要求,每次录制要设置录制距离(乐器与拾音设备的距离),提高和保证拾音采样的准确性。一个音,一组演奏技法采录完大约是 20 次/种),19 个音全部采录完大约是 330 次(有效次数),另外 50 次演奏技法无效(实际演奏超高音有部分失真无效)。

第四,录制设备调试。拾音器模式选择,在单个录制时,一般录制模式选择“心形”模式,“心形”模式更好地将声音采录进行集中,缩小采录拾音范围。对于多轨录制,可采取“8 字形”、“环形”录制模式。绑笛的录制距离维持在25cm 至 50cm 之间,根据响度相应调整。曲笛录制距离保持在 15cm 至 30cm 之间,有效录制低音区域。前置发放压缩:对于输入音频信号(Ip)压缩比设置的是4/3,前置增益提高 5 至 8 个分贝(db)。动态实时压缩输出信号(Op)至声卡端的是-0.5(db),保持信号不过载。输入信号压缩的主要目的是要提高输入源的响度和增强原始动态范围,更真实还原原始音质。数字音频声卡主要作用于解析音频精度,解析范围有限,通常将声卡采样率设置成 48000Hz,比特率为 32bit,通道模式设为直通采录。每一路输入信号对应每一路轨道设置,对输入轨道进行标色和标记,有效统一管理音频的位置和内容。输入通道的预设效果器中不需要加载任何效果器,保持原真干声输入。

第五,录制的方法要采用分类、分级、分开的录控模式,在开源的宿主软件系统中可以预设 8 通道录制模板,进行有效切换录制(既可 solo,也可混录、叠录)。如果是多通道录制就要与硬件数字调音台或者虚拟数字调音台进行有效连接,对于每路信号源精准把控,才是数控台的意义所在。

四、竹笛音色频谱分析与算法

频段分析:竹笛音阶的每一个音高进行采录后,在输出末端挂载 4 个频段的频谱分析效果器 PAZ-Analyzer,检测每个音高、音色的频谱特征,可观察音高的频响范围和音色动态范围。由于是采录,在后期制作过程中基于电脑本身二进制算法,再加上 Project setup 输入端口固定设置的采样率和比特率,以保证后期输出算法的一致性,统一合成器加载标准。如,以钢琴上中央 C 键、A 键为准,目前国际统一标准为 261.6hz、440hz。以曲笛 C 调对应录制,得出 C 音的采样频率在 240hz 至 280hz 之间;A 音的采样频率在 435hz 左右。这与钢琴的标准有所差异,是原于本身材质不同。钢琴属于弦震动,金属材质;竹笛属于气膜震动,竹类材质。材质的密度、属性不同,会导致采样的结果有差异。同样,频谱分析仪对竹笛音色采样的频率分析结果也印证了采样的正确性。

这里的算法主要指竹笛音色采样完成后,进入合成器进行二次加载时的算法。此时的算法与前期固定设置的采样率和比特率有直接关系。涉及到二次加载,第一步要解决采样的格式问题。通常选取的音色主要集中在宿主软件音色库中,每一个音色库就是一个单独的合成器,以挂载的形式放置在开源的宿主软件中,也可以是一个单独的音色软件。使用前都需预设成 PC 模式下 VST及VST拓展形式,音源音色库下设菜单栏会以分级状态呈现。如,C:\Program Files(x86)\Steinberg\VstPlugins\\C:\ProgramFiles

(x86)\EastWest\Colossus\Colossus\Library\Instruments\Acoustic Drumkits 等路徑形式存在。关键在于合成器对应的格式。Kontakt系列合成器采样对应的虚拟路径格式是nki格式,而实际音色包压缩的读取格式是 nkc 格式。前期采样的音频格式统一为WAV无损音频格式,后期经过合成算法统一转化为虚拟nki、nkc以及其他合成器需要的格式。极端情况下WAV格式是可以直接进行挂载,前提是要按照规定的路径放置在标准的子文件夹内(Library\Instruments 或 Contents)。这里的算法就是将十进制算法通过计算机转化成二进制算法,便于读取。

十进制如何转二进制:将该数字不断除以2直到商为零,然后将余数由下至上依次写出,即可得到该数字二进制表示。如,数字21转化为二进制为10101。将音频格式先以十进制形式储存,然后通过进制转换器转换成二进制编码,每个编码对应虚拟采样的nki格式,通过合成器以虚拟键盘的形式呈现。这样的算法既不会出错,更会精准对应钢琴键盘上的音阶。虚拟钢琴键盘上中央C触发的编码是10101,而10101对应的是21号十进制数字,只要把 21 号十进制数字触发预设成竹笛音频的C音,我们在合成器键盘上点击中央C时,就会听到C调的竹笛发出C(do)音。

五、竹笛音色的变形制作

音色上的变化会带来情绪上的起伏,人对于固定、熟知事物的形态和音色是具有能动条件反射和提前预知。但只要改变其原有的振动频率,一切固定的形态和音色就会变得截然不同。传统意义下,我们对竹笛音色的需求足以通过采录来获取,在音乐的创作和编配中可以物尽其用。想要获得额外音色样本,就需在原有基础上利用音频软件及工具进行变形制作。张艺谋武侠三部曲中的《英雄》开篇音乐“苍”,谭盾采用的是小提琴声音变形得来的。音色变形有利于拓展音色应用范围,进一步挖掘音色使用的市场空间,丰富音色种类。在现代音乐编配、电子音乐制作、影视配乐方面可展现出无限的发展潜力和应用空间。

在实际演奏中,竹笛的泛音列只存在中低音阶,向上纯五度即是泛音列的构成。而竹笛在演奏超高音 1-do 和 2-re 时,泛音列不存在,在合成器中也得不到完全解决。需要通过音色变形可以实现高质量录入与加载。在此,运用到的是Nuendo/Cubase 效果器中的多段 EQ、delay、filter、Step filter/tonic、Transpose、Sizing Applies Time Stretch 等功能。可将高音 7-si 直接通过变形手法改变音程关系达到所需音阶。反之,亦可将低音 5-so 向下延展至更低音域。当原音与变形音之间的关系值到达一定范围时,变形效果就会越明显。如需音质保持不变,则需原有的音色时长(时值)做出相对应调整。成千上万的电子音色都是通过自然音色变形出来的,现在的编曲风格复杂多样,变形音色参与其中,已经成为音乐、影视制作中的不可或缺的一部分。竹笛音色的长音既可以变形近似管乐声,也可以变形成风声。诸多创作者在影视配乐中仅仅一件乐器就可以制作出一组影视配乐,功能强大到难以置信。由此可见,竹笛音色的变形足以让竹笛这件喜闻乐见的民族乐器在今后的音乐、影视舞台上大放异彩。

六、结语

竹笛音色变形超越了原有本质音色范畴,在一定程度上也触发了竹笛改良的契机。可对原始材质、大小、长短、孔距、孔数、发生原理做出改变,创造出新类笛。当前竹笛的改良处于发展的试探期,大部分还没有超脱出原有的本质。有部分类似电子管合成器已经开始向民族乐器伸出橄榄手。未来竹笛本身改良和音色的应用在市场中大有可为。

参考文献

[1]大卫.路易斯.耶尔德(DAVID LEWIS YEWDALL).译者:黄英侠.电影声音制作实用技巧[M].人民邮电出版社.2021.

[2]苏曹骢.竹笛在黄梅戏伴奏音乐中的应用研究[D].安徽师范大学.2017.

[4]戴亚.八孔笛:新改良竹笛应用教程[M].人民音乐出版社.2009.

作者:张建文

计算机叠代算法分析论文 篇3:

基于Euclidean修正的分布式加权定位算法

摘 要:传统的多维定标(MDS)算法由于采用多跳距离代替节点间的直接距离,生成的局部网络准确度低,在不规则网络中定位误差大。相对于现有的算法,引入Euclidean方法来产生多跳节点间的准确距离,并采用一种加权机制来改进协强系数,以抑制累积误差。仿真结果表明该方法在C型网络和低连通度的矩形网络定位中能取得更好的效果。

关键词:加权多维标度; 多跳距离;局部地图; 接收信号强度指示; 节点定位; 无线传感器网络

Key words: weighted MDSMAP;multihop distance;local map;Received Signal Strength Indication (RSSI);node localization;Wireless Sensor Network (WSN)

0 引言

对于无线传感器网络(Wireless Sensor Network,WSN),不仅需要采集数据,还需要明白这些数据所来自的空间位置[1-2]。通常的定位方法按照有无锚节点分为两类。有锚节点的定位方法通常简单易行,但是缺点在于对锚节点精度的依赖性比较高,而且每个节点都要能够直接与锚节点进行通信。实际情况中,由于有的节点和锚节点距离太远,导致无法定位,无锚节点的定位算法刚好弥补了这种不足。多维定标(MultiDimensional Scaling,MDS)[3-4]技术是一种有锚节点和无锚节点相结合的算法,它利用节点间相对位置关系进行定位,在没有锚节点时也能得到节点间的相对坐标。在大型网络,尤其是那些联通度较高的网络有很好的定位效果,但是对于联通度较低的网络,定位误差非常明显。在此基础上产生了许多改进的算法:MDSMAP(P)[5]算法采用生成局部地图的方法,将多跳跳数限定在4跳范围内,之后再将局部地图进行融合,然而如果局部地图不够准确,多次融合的过程中会产生较大的累积误差。MDSMAP(P,O,R)[6]算法,用迭代更新的方式求解相异性矩阵,使得生成的相对地图更为准确。MDSMAP(W) [7]算法考虑到相隔越远的节点间其距离误差也越大,在约束条件中引入了加权系数以抑制累积误差。然而这些方法都没有从根本上计算出准确的多跳距离。本文对以上问题进行了研究,结合以上各算法优点,提出了MDSMAP(E)算法,采用Euclidean方法得到准确的多跳距离,从而明显降低了低连通度网络中的定位误差。

1 经典MDSMAP算法

若一个图的每条边长度确定且具有刚性,那么由这些边连接而成的几何图形就被完全确定了[8]。

MDSMAP(C)[9]算法通过实体间的相异性来建立相对坐标。用pij表示实体i,j之间的相异性。用dij=(xi-xj)2+(yi-yj)2表示实体i,j的欧氏距离。实体间越相似,它们的距离就越接近。用式ij=f(pij)表示估计距离。并定义代价函数

Stressl=∑ij,i≠j(ij-dij)2(1)

求解相对坐标的问题就转化为了求式(1)的最小值的问题。在经典MDS中,取ij=a+b•pij。求解式(1)的步骤是首先令P2=(p2ij),双中心化P2得到

A=-12(I-1nE)•P2•(I-1nE) (2)

其中I为单位矩阵,E为元素全为1的矩阵。对得到的A矩阵进行奇异值分解(Singular Value Decomposition,SVD)得到矩阵B=VAV′。求得坐标矩阵

X=VA12(3)

该算法的结果并不理想,其误差主要来源于两个方面:1)对于不能直接测距的节点采用多跳距离代替其欧氏距离,结果误差较大。2)在实际情况中相异性与欧氏距离并非满足简单的线性关系,采用ij=a+b•pij表示ij=f(pij)显然是不够准确的。特别是C型网络,这些误差往往高达通信半径的1.5倍甚至更高。

为了减小欧氏距离带来的误差,MDSMAP(P,C)算法[7]构建两跳内的局部地图,距离误差得以控制,之后再将所有的局部地图通过旋转,平移变换“融合”到一起,该方法取得一定的效果。但局部地图内的最大跳数为4跳,一些实体间的欧氏距离仍然不准确,这将导致局部地图的变形。这种变形虽然十分微小,但是在多次的地图融合过程中会产生较大的误差积累,特别是在网络不规则分布的边缘处。

2 现有的改进算法

继经典MDSMAP算法之后陆续出现了一些非线性关系的MDS算法, 它们的特点都是将ij=f(pij)的关系用一个满足单调关系的表达式代替,如表1所示。

而相异性和欧氏距离并没有这么强的单调约束,pij和ij只需要满足,对于任意i,j相异性小的实体距离更近,即当pij<pkl时,ij≤kl。为了得到ij,非度量MDSMAP(P,O)[6,10]算法采用一种有效的PAV(Pool Adjacent Violators)单调回归近似计算。PAV算法将pij按照从小到大的顺序排列,然后依次检测当pij

xki=xk-1i+αn-1∑j∈M,j≠i(1-k-1ijdk-1ij)(xk-1j-xk-1i)(4)

yki=yk-1i+αn-1∑j∈M,j≠i(1-k-1ijdk-1ij)(yk-1j-yk-1i)(5)

其中:α为步长因子,M表示节点i两跳范围内所有节点的集合, n为M中的所有节点个数。

直到非度量MDS协强系数S小于容许误差ε,如式(6)所示:

S=Stressl=∑ij,i≠j(ij-dij)2∑ij,i≠jd2ij < ε(6)

非度量MDS(P,O)虽然解决了相异性和欧氏距离非线性的问题,但未解决节点多跳距离不准确的问题。

3 MDSMAP(E)

针对以上问题,对非度量MDS算法进行了以下改进:1)使用Euclidean算法计算多跳节点的间距,从而比MDS算法得到的相对地图更为精确;2)由于协强系数反映的是估算位置的欧氏距离和实际位置欧氏距离的偏差大小,因而一跳节点的间距对图形“刚度”的影响更大,跳数越多影响越小。定义加权协强系数[7]:

S = WStressl = ∑ij,i≠jωij(ij-dij)2∑ij,i≠jd2ij(7)

式中ωij=1/pij。定位步骤如下。

3.1 计算多跳节点的距离

每个节点和它附近两跳范围内的节点通信组成局部地图,通过RSSI值获得每对可通信节点间的距离。用Euclidean算法代替Floyd算法获得最短路径距离矩阵Pij。

Euclidean的具体算法如下:D是A的两跳邻居,

p2AD = p2AC + p2CD-2cos∠ACD(8)

cos∠BCD = p2BC + p2CD-p2BD2pBCpCD(9)

cos∠BCA = p2BC + p2CA-p2BA2pBCpCA(10)

当B,C在AD同侧时∠ACD=∠BCD-∠BCA,在异侧时∠ACD=∠BCD+∠BCA。

以上两种情况均有可能,但是正确的结果必须满足:

1)由于D为A的两跳邻居,故max{pAB,pBC,pCD,pBD,pAC}<pAD<min{pAB+pBD,pAC+pCD}。

2)若两种情况计算出来的pAD都满足步骤1)中的表达式,则找到D的一个邻跳邻居E,且E是B(或C)的邻居,那么用E代替C(或B),来计算同侧和异侧情况的pAD,从4个距离值中选出两个最接近的值作为pAD。

如图3,在计算出2跳距离pAD,pAE的基础上可以计算出3跳距离pAF。

3.2 生成局部地图[11]

对每一个节点执行以下算法:

步骤1 执行经典MDS算法生成初始估计坐标(x0i,y0i)。

步骤2 计算初始欧氏距离:

d0ij = (x0i-x0j)2 + (y0i-y0j)2

步骤3 用PAV单调回归算法计算出0ij。

步骤4 对两跳范围内的所有节点,采用下面两式叠代更新局部地图坐标

xk+1i = xki-αSx/Sx(11)

yk+1i = yki-αSy/Sy(12)

作如下近似:

xki=xk-1i+αn-1∑j∈M,j≠iωij(1-k-1ijdk-1ij)(xk-1j-xk-1i)(13)

yki=yk-1i+αn-1∑j∈M,j≠iωij(1-k-1ijdk-1ij)(yk-1j-yk-1i)(14)

取α=0.1。

步骤5 更新计算欧氏距离:

dkij = (xki-xkj)2 +(yki-ykj)2

步骤6 用PAV算法更新估计欧氏距离kij。

步骤7 计算协强系数。

WStressl = ∑ij,i≠jωij(kij-dkij)2∑ij,i≠j(dkij)2(15)

步骤8 若协强系数WStressl<ε,停止算法;

3.3 地图融合

首先选择一块具有最多节点的地图作为中心地图,然后选择与这块中心地图有最多公共交点的地图作为下一次将融合的地图。本文通过旋转、镜像、平移和缩放将融合地图投影到中心地图上,可以通过公共点坐标的对比来实现,实现变换后的坐标点与其本身在主地图中坐标均方误差最小。

设Y为公共点在融合地图中的坐标矩阵,X为公共点在主地图中的坐标矩阵。Y^为投影后的坐标矩阵。于是问题变为求如下坐标变换:

Y^=sYT+lt′(16)

其中:T为旋转镜像矩阵,要求T′T=E(E为单位矩阵),s为缩放系数,l与Y相同列数的全1向量,t为坐标平移向量矩阵,使得Y^与X的均方误差最小,即要求最小化L(s,t,T):

L(s,t,T)=tr[X-(sYT+lt′)]′[X-

(sYT+lt′)](17)

其中tr代表矩阵的迹(取矩阵对角元素和的操作)。

通过普鲁克分析求出使该代价函数最小的变换矩阵:

1)计算矩阵C=X′JY,其中

J=I-n-1E(18)

2)计算矩阵C的SVD分解:

C=PΦQ′(19)

3)求得旋转变换矩阵:

T=QP′(20)

4)求得缩放系数:

s=tr(X′JYT)/tr(Y′JY)(21)

5)求得平移向量矩阵

t=n-1(X-sYT)′l (22)

执行变换=sAT+lt′,将融合地图的所有节点矩阵A投影到主地图上,形成新的主地图,重复以上过程直到主地图包含所有节点,得到整张地图后再通过所有锚节点位置将相对地图通过旋转、镜像、平移和缩放变换为绝对地图。

4 算法分析

在Matlab环境下分别对矩形随机网络和C型随机网络进行了仿真。图4是200个节点随机分布在100m×100m区域内的矩形网络的一个例子。该网络通信半径15m,测距误差5%,平均网络连通度12.5,含4个锚节点(图中▲表示锚节点,○表示待定位节点)。采用MDSMAP(E)算法的误差仅为3.11%。图5是不同算法定位结果,其中○表示估计位置,线段指向实际位置。

由仿真实验结果可以看出,在网络有较大空洞处(连通度较低),MDSMAP(C)会产生较大的定位误差,MDSMAP(P,C)通过局部地图信息融合的方法,有效控制了这些误差。而MDSMAP(P,O,R)在此基础上改进了欧氏距离和相异性关系,对全局地图进行了修正,取得了明显的效果。MDSMAP(E)使用Euclidean得到了更加准确的多跳距离,并采用加权误差度量机制,从进一步提高了算法定位的准确性。

图6是160个节点随机分布在100m×100m区域内的C型网络,通信半径15m,测距误差5%,平均网络连通度10.95,锚节点个数为4(图中▲表示锚节点, ○表示待定位节点)。定位误差图7中○表示估计位置,线段指向实际位置。

由图7可以看出,部分区域连通度相对较低的C型网络,MDSMAP(C)算法的误差达到了130%,MDSMAP(P,C)算法的误差为35.29%,较大的误差主要集中在连通度较低的C型网络“两端”,MDSMAP(P,O,R)算法通过修正的办法将误差控制在了18.7%。而MDSMAP(E )算法获得了准确的多跳距离,这相当于提高了网络的连通度,误差仅为9.93%。仿真结果表面MDSMAP(E)算法更能适应不规则网络的定位要求。

图8是50次定位实验的平均误差和连通度的关系曲线,在节点数目固定的情况下,我们通过扩大通信半径来增加连通度。由图可以看出,在连通度较低的情况下,锚节点数目对定位结果的影响较大,而连通度较高的情况下,影响较小。在平均连通度增加到30时各算法都有较小的定位误差,MDSMAP(C)算法在C型网络中的定位除外,因为虽然连通度增加了,但多跳距离的误差随着通信半径的增大也更高。而在连通度较低时MDSMAP(E)算法具有明显的优势。

5 结语

在研究了MDSMAP(C)算法和MDSMAP(P,O,R)算法的缺陷后,提出了MDSMAP(E)算法。该算法从多跳距离的计算和融合过程中误差的控制两个方面来提高定位精度。经理论分析和实验证明,在连通度较低的情况下该算法优势明显,但不足之处在于该算法复杂度高、节电能量消耗大。在无线传感器网络的实际应用上,对定位精度和能耗往往要进行折中考虑,下一步还需要设计一种分簇机制减少局部地图融合次数。

参考文献:

[1] 王福豹,史龙,任丰原.无线传感器网络中的自身定位系统和算法 [J]. 软件学报, 2005,16(5): 857-868.

[2] 廖先林,张铨荣,王光兴,等.无线传感器网络节点定位问题研究[J]. 武汉理工大学学报:信息与管理工程版,2007,12(5):47-51.

[3] BORG I, GROENER P. Modern multidimensional scaling theory and applications[M].New York: SpringerVerlag,1997.

[4] COX M. Multidimensional scaling[M]. London: Chapman and Hall,1994.

[5] SHANG Y, RUML W, ZHANG Y. Improved MDSbased localization[C]// Proceedings of IEEE International Conference on Computer Communications 2004. New York:IEEE,2004:2640-2651.

[6] VIVEKANANDAN V,WONG V. Ordinal MDSbased localization for wireless sensor networks[J]. International Journal of Sensor Networks,2006,1(3/4):1-5.

[7] VO N, VO D S, CHALLA S. Weighted nonmetric MDS for sensor localization[C]// International Conference on Advanced Technologies for Communications 2008. Berlin:SpringerVerlag, 2008: 391-394.

[8] EREN T, GOLDENBERG D,WHITELEY W, et al. Rigidity computation and randomization in network localization[C]// 23rd Annual Joint Conference of the IEEE Computer and Communications Societies.New York:IEEE,2004: 2673-2684.

[9] SHANG Y,RUML W,ZHANG Y,et al. Localization from mere connectivity[C]// Proceedings of the 4th ACM International Symposium on Mobile Ad Hoc Networking and Computing. New York:ACM,2003: 201-212.

[10] 肖玲,李仁发,罗娟. 基于非度量多维标度的无线传感器网络节点定位算法[J].计算机研究与发展,2007,44(3):399-405.

[11] 马震,刘云,沈波. 分布式无线传感器网络定位算法MDSMAP(D) [J].通信学报,2008,29(6):57-62.

作者:付锴 雷勇 颜嘉俊

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:计算机数字艺术分析论文 下一篇:社会政策执行