地理信息系统二次开发实例教程-c#+ArcGis
地理信息系统二次开发实例教程-c#+ArcGis面,包括需求分析、数据管理设计、用户界面设计、设计模式在软件开发中的应用。在开发过程中应用软件工程技术,可以提高软件开发效率和质量。第章“需求分析”介纽了“北京市地理信息公众查询系统”的需求分析,包括需求概述、功能需求以及功能需求详细描述。第章“系统总体设计”介绍了系统平台选择、系统总体框架、系统数据组织及系统开发进度安排等。第章“系统详细设计”根据系统的总体设计结构分别从北京市地理信息公众查询系统的数据库设计和一些相关类的设计两方面米详细阐述系统的设计。第章“系统主界面的实现”首先简单介绍的功能、特点、结构及其数据源,然后介绍如何设计系统的主界面及主要实现代码。第章“选择与査询功能的实现”主要介绍如何通过查询与数据集有关的衣从数据中获取信息,以及如何通过空间和逻辑的查询方法从数据中获取信息。第章“系统其他辅助功能”介绍了系统中其他一些辅助功能的实现,例如当鼠标移动到某地物上并稍做停留后,岀现一个小标签,显示该地物的名称,以及距离量算、面积量算的实现,等等。为了让读者更加全面地掌握的廾发,第章介绍了“北京市地理信息公众査询系统”开发过稈中没有涉及到的一些对象,包括投影对象、地址匹配对象、动态跟踪层(对象与地理事件()对象。科海网站提供了本书涉及的所有源代码,以及实现书中内容所需的所有组件。读者可以从中下载这些资料。由于时间仓促,书中难免有一些错误、遺漏,恳请读者谅解,并提出批评和指正编者2004年5月日录第章地理信息系统软件工程软件工程简介基本概念软件系统开发过程开发过程模型需求分析需求获取需求规约数据管理设计全部采用文件管理文件结合关系数据库管理全部采用关系数据库合理采用面向对象数据库管理用户界面设计界面设计原则界面设计中的要素界面样式应用模式与开发方式应用模式开发方式“北京市地理信息公众查询系统”介绍第章需求分析需求概述功能性需求系统体系结构用户描述具体功能需求非功能性需求功能需求详细描述第章系统总体设计系统平台选择便件平台目录系统操作平台数据库平台系统川发模式与组件选择开发工具系统总体框架系统功能框架系统数据库系统的川发结构系统界面组织系统数据组织系统数据的逻辑组织系统的主要数据类型进度规划第章系统详细设计数据库详细设计地名分类编码元数据表结构电子地图数据系统相关类的详细设计辅助类的详细设计类的详细设计类的详细设计类的详细设计类的详细设计第章系统主界面的实现简介的功能的特点的结构的数据源建立项目加入地图控件加入其他引用创建位图资源主窗体的实现界面设汁基本编码类的初步实现目录辅助类的实现类的成员变量读取元数据创建主窗口中的工作区创建I作区创建“地图”选项卡创建“查询”选项卡创建“帮助”选项卡图层的加入与控制在地图中加入图层依据比例尺控制图层显小通过“地图”选项卡控制地图显示控制显示的地物类型控制地图显示区域地图的放大、缩小、全图显示和漫游其他辅助功能的实现鹰眼功能的实现显示经纬度第章选择与查询功能的实现选择地物查询地物信息地名查询查找最近地物公交查询公交站点与线路查询乘车路线询地名索引查洎绀果的定位与更详细信息最短路径查询第章系统其他辅助功能地名的快速显示距离量算与面积量算其他工具栏按钮功能的实现地图输出子系统的实现在线帮助子系统的实现第章的其他对象动态跟踪层对象与对象目录对象的属性对象的方法对象的属性对象的方法实例应用投影对象坐标系地图投影地理编码用于地址匹配的专用文件绘制街道文件地理编码对象地址定位对象地址标准化对象交耳式地址兀配批地址匹配第章地理信息系统软件⊥程在地理信息系统(开发过程中应用软件工程技术,可以提高软件开发效率和质量。本章首先介绍了软件工程的基本概念、软件系统开发过程和开发过程模型。然后讲述了软件工程技术在系统廾发中的应用:需求分析、数据管理设计、用户界面设计、设计模式在软件开发中的应用。这些方面涉及了开发过程中的不同阶段及不同层次,有些方法之间是互斥的,如和方法,但是软件工程技术最重要的特点是实用,开发者可以根据只体情况选用不同的技术。软件工程简介基本概念计算机软件工程是一类求解工程。它应用计算机科学、数学、工程科学及管理科学等原理,借鉴传统工程的原则、方法创建软件,以达到提高软件质量、降低开发成本的目的。其中,讣算杋科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于管理计划、资源、质量、成本等。从学科角度来看,软件⊥程是·门指导计算机软件开发和维护的上程学科。软件工程的提出是为了解决世纪年代出现的软件危机,当时在大型软件开发项日中存在着成本髙、开发进程不易控制、开发工作量难于估算、软件质量低、项目失败率高等诸多闩题,给软件行业带来了巨大的沖击。软件工程提出了一系列理论、原则、方法及工具,试图解决这种软件危机。和其他工程一样,软件工程有自己的目标、活动和原则,其框架可以概括为图所示的内容。分多//算持开发范型需现设计方法支持过程求管理过程图软什工稈框架第章地理信息系统软件工程软件工程的目标可以概括为“生产具有正确性、可用性及开销合宜的宀品”,其活动包括需求、改计、实现、确认及支持等。围绕工程设计、支持及管理,软件工程有以下条基本原则:)选取适宜的廾发模型。选取适宜的廾发模型可以利」认识需求易变性并加以控制以保证软件产品满足用户的需求〔)采用合适的设计方法。通常要考虑实现软件的模块化、抽象与信息隐藏、本地化致性及适应性等特征。()提供高质量的工程支持。在软件工程中,软件工具与环境对软件过程的支持颇为重要。()重视开发过稈的管理。开发过程的管理直接影响可用资溟的有效利用、最终的软件产品的满意度,软件组织的生产能力等问题。只有对开发过程实施有效管理,才能实现有效的软件工程软件工程把软件工程的思想和方法应用于软件的开发过程。如前所述,软件工程活动包括需求、设计、实现、确认及支持等,它们对应」软件廾发过程的不同阶段。般来说,软件开发都要经历从分析设计到实现确认的过程。每个阶段按照相应的规范进行工作,并得到该阶段的成果,是保证整个开发过程戊功的关键。软件系统开发过程前面讲过,软件工程活动包括需求、设计、实现、确认及支持,它们对应于整个软件开发过程的不同阶段。需求分析需求分析阶段处于软件开发过程的前期,其基本活动是准确定义未来系统的目标,确定为满足用户的需求必须做什么。需求分析又划分为两个阶段,即需求获取和需求规约前者用自然语言清楚地描述用广的需求,而后者的目的是消除获取需求的二义性和不致性。在软件项目的生命周期中,一个错误发现得越晩,修复错误的代价也越髙,所以,高质量的需求工程是软件项目得以正确、高效完成的前提。对于系统分析人员,建立需求面临着以下个方面的困难:·问题空间的理解系统开发人员通常是计算机专业人员,难以深入理解各种业务系统所憂解决的问题空间。人与人之间的通信对于系统分析人员而言,通信主要包括同用户的通信以及同事之间的通信,由于自然语言的二义性,会给准确刻田需求造成障碍。·需求的不断变化造成需求变化的原因很多,包括技术、用户方、市场等等。作为分析人员,必须采用些策咯以适应变化。面向对象的分析方法被认为是解决上述闲难的较好技术,但是完整、准确地刻划问题空间始终是分析人员所面临的挑战第章地理信息系统软件工程系统设计一般来说,需求分析阶段的主要任务是确定系统“做什么”,而系统设计阶段则要解决“怎么倣”的问题。系统设计的任务是将系统分析阶段提出的逻辑模型转化为相应的物理模型,其设计的内容随系统的目标、数据的性质和系统的不同而有很大的差异。一般前言,首先应根据系统的目标,确定系统必须具备的空间操作功能,称为功能设计;其次是系统的建模和产品的输出,称为应用设计。系统设计是系统整个开发工作的核心,不但要完成熤辑模型所规定的任务,而且要使所改计的系统达到优化。所谓优化,就是选择最优方案,使系统具有运行效率高、控制性能好和可变性强等特点。要提高系统的运行效率,般要尽量避免中问文件的建立,减少文件扫摧的遍薮,并尽量采用优化的数据处理算法为增强系统的搾制能丿,要拟定对数字和字符岀错时的校验方法;在使用数据文件时,要设置口令,防止数据泄密和被非法修改,保证只能通过特定的通道存取数据。为了提高系统的可变性,最有效的方法是釆用模块化的方法,即先将氅个系统看成一个模块,然后按功能分解为若干个子模块。一个模只执行一种功能,一种功能只用一个模垗实现,这样设计出来的系统才能做到可变性好并具有生命力。功能设计又称为系统的总体设计,它的主要仟务是根据系统的目标来规划系统的规模,确定系统的各个组成部分,并说明它们在整个系统中的作用与相互关系,以及确定系统的硬件軋置,规定系统采用的合适技术规范,以保证系统总体目标的实现。图给出了通用的总体设计结构图。因此,系统的总体设计大致包括数据库设计硬件配置与选购软件设计等应用设计又称详细设计。详细设计包括详细的算法、数据表示和数据结构、实施的功能和使用数据之间的关系。详细改计过程中采用了一些工只,以便对数据、算法等进行描述,包括流程图、,问题分析图)、盒图(图)、伪码实现阶段软件实现阶段将设计的结果变换成程序设计语言编写的程序。一般情况下在实现阶段,首先要确定程序改计语言,其影响因素包括:开发人员对语言的熟悉程度、语言的可移植性、编译程序的效率、编译工具的支持等等。目前,语言是被普遍采用的构造系统软件的编程语言,而则更多地应用于编写网络应用程序。无论采用哪一种编程语言,都要求编写高质量的源稈序代码,稈序质量通常包含正确性、可读性、可移植性、程序效率等指标。考虑到系统的维护和演化,提髙源程序的可读性是实觋阶段的一个重要目标,其途径包括添加注释、规范书写格式、确定标认符命名原则、采用结构化的程序设计方法(不用或减少使用语句)等。
- 2020-12-05下载
- 积分:1
基于fpga的自适应滤波器
关于自适应滤波器的fpga实现,对于想学数字滤波器的和fpga的同学来说非常好基于FPGA的自适应滤波器设计摘要数字滤波器较模拟滤波器相比,具有信噪比髙,过渡带性能好,髙可靠性及可扩展性,设计灵活方便的优势,应用范围越米越广。随着专用数字信号处理芯片的发展,数字滤波器的可实现性能以及处理速度得到了极大的提升,FPGA(现场可编程门阵列)作为一种新型数字信号处理芯片,具有数字信号处理速度快、数据并行处理并且利用硬件编程语言直接进行硬件设计等特点,自适应滤波器的FPGA设计以及优化方法,是目前的一个研究热点。本文对自适应滤波器进行 Matlab仿真,以对其结构特性以及运算特点进行了解,利用 Matlab生成测试信号与FPGA仿真软件 Modelsim进行联合设计以及行为仿貞,采用 Altera公司的 Cyclone IV系列芯片EP4CE15F17C8为载体的开发板进行设计仿真,在设计过程中,充分利用FPGA可以并行处理以及快速的数字信号处理的特点进行针对性的结构设计。在此基础上做了以下工作。在充分了解滤波器,自适应横向滤波器,自适应陷波滤波器以及FFT变换原理的基础上,选择并搭建∫设计平台,在目前自适应横向滤波器的FPGA设计的研究基础上,采用模块化的设计方法,单独设计可重复调用的串行FR滤波模块以及串行LMS杖值更新模块,对两种模块的设计以及综合分别进行了设计以及仿真实验,通过并行调川两种不同模块,每种调用四个的方式设计一个16阶的滤波器为例来阐述模块化设计方法,并设计32阶64阶分别与仝串行以及仝并行设计方式的处理速率以及逻辑资源调用进行比较,结果说明运算速率与并行调用模块数量成正比,远快于全串行结构的设计方式,并且对于64阶仝并行系统来说,极大的减少了硬件资源的消万方数据耗,提髙了设计灵活性。在此设计的基础上,针对传统自适应陷波滤波器的滤波频夲固定不变的缺陷,提出了一种频域变换法检测噪声特征频夲,并可以根据特征噪声频率实时改变陷波频率的滤波器设计方法,为了减小设计复杂性,研究了符号LMS自适应陷波器算法,通过 Matlab仿真实验选取符号的特征变量。并对噪声信号提取算法进行了介绍和设计仿真,最终设计出根据噪声频率自动调节陷波中心频率的自适应陷波滤波器,并对滤波器性能进行了 Modelsim仿真研究,自适应陷波器具有能有效的滤除对应频的单频噪声信号,并且根据噪声的频率特性自动调节滤波频率的特点。针对两种自适应滤波器的FPGA设计,体现了FPGA在自适应滤波器设计时灵活性以及针对性,两种不同类型的自适应滤波器,可以分别适用于普通数字滤波器无法有效发挥作用的场合,同时本文的设计方法对其它类型数字信号处理系统的FPGA实现具有一定参考价值关键词:现场可编程门阵列,自适应横向滤波器,模坎化设计,自适应陷波器万方数据DESIGN OF ADAPTIVE FILTER BASED ON FPGAABSTRaCTCompared with analog filter, digital filter has the advantages of high signalto noise ratio, good performance of transition zone, high reliability andexpansibility, flexible and convenient design and application With developmentof special digital signal processing chip, digital filter Can achieve performanceand processing speed has been greatly improved, the realization of the use of thebetter performance of digital chip design more complex filter, so that the adaptivefilter realization and application become possible, FPGA (field programmablegate array) is a new type of digital signal processing chip, with parallel processingof data and Can use hardware programming language directly the characteristicsof the hardware design, is currently a hot research topic for study of adaptive filteris implemented on FPgaThe matlab simulation of the adaptive filter to understand the characteristicsof the structure and opcration characteristics, and the use of Matlab generatingtest signals and FPGA simulation software Modelsim joint behavior simulation ofFPGa design, then to Altera cyclone Iv series chip ep4cel5f17c8 as the carrierof the development board for simulation design. in the design process, make fulluse of FPGa parallel processing and fast digital signal processing for structuraldesign On this basis, the following work has been doneThe filter needed to fully understand, adaptive transversal filter, adaptivenotch filter and Fft transform based on the principle of selection and build adesign platform, first in the basic research of current FPGA adaptive transversalfilter realization, using modular design method, the structure is divided into singleand serial FiR filter module serial LMS weight update module, the design of thetwo modules and integrated were designed, and simulation experiments, through万方数据the parallel call two different modules, each call the four way to design a 1 6 orderfilter as an example to illustrate the modular design method, and design of 32order and 64 order respectively with serial and the processing rate parallel designmethods and logic resources call were compared. The results show that theoperation rate and parallel call module is proportional to the number, far faster Inthe whole serial design mode, and for the 64 order all parallel system, greatlyimprove the design flexibility, reduce the consumption of hardware resourcesAfter the design on this basis, the traditional adaptive trapped wave filter, filterfrequency fixed defects, put forward a method of frequency domain transformdetection noise characteristic frequency, and can change in real time accordingto the characteristics of noise frequency trapped wave frequency filter designmethods, in order to reduce the design complexity and the sign LMs adaptivenotch filter algorithm, the characteristic variables of the symbol is determinedthrough the simulation experiment of Matlab. And the noise signal extractionalgorithm are introduced and the simulation design, the final design according tofrequency noise automatically adjust the trapped wave frequency adaptive notchfilter, and on the performance of the filters were Modelsim simulation researchthe adaptive notch filter has CaN effectively filter on the frequency of the singlefrequency noise signal, and does not affect the characteristics of waveforms usefulFor the fpga design of two based on the lms adaptive algorithm of filterreflecting the FPGa in the adaptive filter design flexibility and uniqueness, twodifferent types of adaptive filter can be respectively applicable to ordinarydigital filter Can not effectively play the role of occasions, also the designmethod of other types of digital signal processing system based on FPGaimplementation has a certain reference valueKEY WORDS: FPGA, Adaptive transversal filter, Modular design, Adaptivenotch filter万方数据目录摘要ABSTRACT··,··*···第·章绪论…1.1研究目的与意义1.1.1数字滤波器简介·················+··*····+··········*···:··.*····…···*········:··+*·········1.1.2基于FPGA的自适应滤波器研究意义·“中,非2国内外研究现状1.2.1自适应滤波器研究现状122自适应滤波器的FPGA实现研究现状·······申中···申1.3课题的主要研究内谷··B申61.3.1课题的主要工作1.3.2课题的研究实现方案…4本章小结第二章自适应陷波滤波器的原理以及实验平台2.自适应滤波器理论介绍·····中中·········中·中·"中··中·中····中····申2.1.1IR与FIR滤波器简介2.12LMS算法原理132.1.3自适应陷波器的原理15214FFT变换的原理··p··中··中··,和p申·和中中····中·申22设计平台介绍2022.1自适应滤波器的设计平台20222自适应陷波滤波器接2223本章小结24第三章自适应横向滤波器的FPGA实现..273.1自适应滤波器的 Matlab仿真研究…····中中中申·中申···申申p中申·中申··申p申中273.1.1自适应滤波器的功能仿真研究273.2自适应滤波器的滤波收敛性能研究方法…83.1.3自适应滤波器的收敛性能研究….30万方数据3.2自适应滤波器的FPGA模块化设计333.2.1自适应滤波器FPGA模块化设计原理333.22FIR串行模块的设计申·中p申申,申申申·申和中p申申非申·p;申p申·非申·申新申中和申p申和·申·申P申申·申申申p申p343.2.3LMS串行模块的设计35324自适应滤波器多级处理结构整体设计363.2.5结构特性分析393.3木章小结···非中中非第四章自适应陷波滤波器的FPGA设计41符号LMS算法的梯度特征值选择及系统结构设计.414.1.1符号LMS算法的梯度特征值选择4141.2FIR自适应陷波滤波器系统结构设计42噪声信号分析以及参考信号频率值提取……1464.2.1FFT变换的功能464.2.2FFT变换的参数介绍42.3 FFT IP核的调试以及功能测试……4842.4特征噪声频率提取算法.…43自适应陷波模块的设计非··申申中431自适应波器的 Matlab仿真43.2自适应陷波器FPGA设计时的数据截取方法554.3.3白适应陷波器模块的FPGA设计56434自适应陷波器的整体设计6044采用频域变换法自适应陷波器滤除工频噪声.44.1提高系统实时性的方法6144.2模拟与实验验证45木章小结·········65第五章总结与展望DD67参考文献致谢75攻读学位期间发表的学术论文目录77ⅤI万方数据太原理工大学硕上饼究生学位论文第一章绪论1.1研究目的与意义滤波器从1917年发明以米,已经有近一个世纪的发展史1,滤波器的发明也极大的推进了电了器件以及通信的发展。计算机技术以及集成电路的技术的发展又使滤波器产生飞跃式的发展,各科数字电路以及模拟开关电路元件体积越来越小,密度越来越高,直接催生了集成芯片式RC有源滤波器,开关电容滤波器以及数字滤波器。使滤波器的应用范围再一次扩大,不仅仅在通信领域,在医学,电气,图像处理等领域也起到了举足轻重的作用。1.1.1数字滤波器简介数字滤波器作为数字信号处理的一部分,是随着计算机以及数字器件的发展而发展起来的一门比较新的技术,尤其近几年来,数字处理芯片以及数字信号处理技术的发展使得数字滤波器的优点越米越突出,现代数字滤波器可以轻易实现将过渡带缩短到Iz以內,这点是模拟滤波器无法达到的性能指标。数字滤波器比模拟滤波器还有更优越的信噪比、可靠性以及灵活性和可扩展性,并且随着数字集成电路的发展,制作成本将会越来越低S。目前使用比较多的滤波器设计方法分别是无限冲击响应(IR)以及有限冲击响应(FR)波器,其屮由于FR滤波器可以很容易实现具有严格线性相位结构的滤波器,而IR滤波器要达到严格线性相位结构必须经过仝通网终线性相位矫正从而大大增加滤波器的阶数。FR滤波器由于其冲击响应有限,所以是个稳定系统。并且没有反馈环节,有利于其在使件上实现。所以FR滤波器以其独有的优势应用于线性相位结构的系统屮。近几年米,随着RLS以及LMS自适应算法的提出S,很多专家学者提出了利用自适应算法在数字系统上设计自适应滤波器,使滤波器的性能更加灵活,并且在对滤波器有特殊滤波要求的场合使用門,例如自适应陷波器常用在电气设备中滤除工频干扰而对其余频率信号几乎完全不产生影响,以及在通道失配屮采用自适应滤波原理进行矫正12,有些系统可以采用自适应算法达到抵消噪声千扰3,这些都是常规滤波器无法达万方数据基于FPGA的自适应滤波器设计到的性能指标。LMS算法以其简单的特性,可以在多和数字芯片上进行设计。尤其在FPGA上实现各种自适应滤波器14,是目前针对自适应滤波器方面的一个研究方向。1.1.2基于FPGA的自适应滤波器研究意义FIR与IR滤波器都是数字滤波器,即在数字系统上实现滤波器功能,而数字系统又分为软件数字系统实现以及硬件数字系统实现,软件数字系统实现最常用的例如使用MEATLAB或者 Labview进行编程实现15,其优点是可以自如的调节信号字长以及滤波步长,可以达到很高的精度,并且可以综合其它的处理功能为一体。缺点是接口比较单,必须接外置的采集卡,需要以计算机为载休休积往往很大。并且对信号的处理速度在相同糸件下要比硬件实现的滤波器系统要慢,并不能达到很好的实吋性,实际应用中只适用于屮、少量的数据后期分析以及对成本以及实时性要求不高的一些系统使用16。哽件芯片实现的数字滤波器实吋性要比PC杋软件好,并且硬件载体也比较多,如单片机、ARM类芯片,和专门用于数字信号处理的DSP芯片上均可以实现滤波器功能,但是其运算均为串行运算,(现场可编程门阵列)FPGA作为·种可编辑器件,不仅能实现上述所有芯片的功能,在资源配置合理的情况下,还能进行处理馍垬多重并行调用,即在个芯片上实现多个基本芯片同时处理的功能8,从而达到特别优异的数字信号处理功能,目前在图像处理等需要实时对大量数字信号进行滤波处理的领域,FPGA已经成为款不可或缺的芯片。但硬件设计数字滤波器的时候,山于数字滤波器的特殊性,在设计数字滤波器的时候,并没有现成的标准公式,这造成了很多数字滤波器并不能完全直接在硬件系统上实现,例如,FR数字滤波器,必须先利用软件工具得出FIR滤波器的各延迟抽头系数才能进行硬件设计,所以设计FIR滤波器的时候,是离不开计算机系统的,但是设计好的滤波器,可以脱离软件系统进行使用。由亍FR滤波器的本质就是一个标准的乘加运算集,恰好可以利用分布式算法实砚FIR滤波器,分布式算法的每个乘法运算屮必须有一个乘数为常数,这又与FPGA的基本逻辑单元査找表的功能相适应,利用査找表结构可以进行个常数乘数与·个变量相乘的运算,这样在实现FIR滤波器的时候,利用分布式算法,可以实现不使用或仅使用少量乘法器资源即可完成FR滤波器结构设计,FPGA的设计结构刚好与FIR滤波器的万方数据
- 2021-05-06下载
- 积分:1