基于QT的电子地图设计与实现
毕业设计是基于QT的电子地图设计与实现 ,用于C语言的开发。2010届本科生毕业设计目录摘要ABSTRACT前言.1.1概述1.2研究背景1.3研究目标1.4需求分析1.41用户需求分析1.4.2功能需求分析1.5本章小结2qT简介2.1QT的背景介绍2.2qT实现的结构原理.2.3 QT GraphicsⅤ iew Framework简介2.3.1 Graphics view层次结构2.3. 2 QGraphicsItem2.4QT应用程序的实现2.5本章小结3 mapinfo绘制电了地图3.1 Mapinfo professiona1简介122010届本科生毕业设计3.2 Mapinfo地图图表3.3 Mapinfo地图图层与图元.143.3.1地图图层.3.3.2地图图元3.4地图的来源3.5电了地图绘制3.5.1 Mapinfo professional地图绘制工具3.5.2 Mapinfo professional绘制地图3.6来MIF和求.MID文件3.7本章小结204系统框架描述214.1系统模块申非214.2主要功能4.3平台简介224.4UP- TECHPXA270-S核心模块资源234.5本章小结.....245详细设计,,255.1程序流程图...255.2界面设计.....275.2.1主窗体设计..,,,,.275.2.2子窗休设计285.3地图的显示..,,,,,,..,,.292010届本科生毕业设计5.3.1地图坐标转换5.3.2地图图元的显示305.3.3显示效果设计.,,,,,,,,,,335.4单源最短路径算法365.4.1 Dijkstra(迪杰斯特拉)算法365.4.2路径节点的存储,,,,,,,375.5木章小结416测试及运行结果6.1测试目标6.2测试预期结果426.3运行结果.6.3.1地图浏览功能.....436.3.2路径规划功能446.4木章小结看鲁457论文总结46参考文献.47谢辞482010届本科生毕业设计前言1.1概述随着新的ARM芯片不断问世以及这些芯片的价格下降,嵌入式产品开始潜移默化的取代早期的些单片机,并在社会各行各业中占有越来越重要的位置,嵌入式产品也由此成为众多工程师选择开发高端产品的芯片首选。QT具备跨平台,易扩展,界面华丽,性能稳定等优点。因此,以嵌入式处理器作为使件半台,以QT作为程序框架,两者的完美结合必将成为未来技术的发展方向1.2研究背景现在,汽车正在普及,道路不断建设,城际间的经济往来更加频繁,活动的区域也越来越大。为了提高生活质量,大量的休活动、探险活动的举行使我并不局限在自己认识的一小块区域中,不认识道路,找不到目的地的情况也屡有发生。就此,各种各样的导航仪逐渐走进我们的生活。无论仆么导航仪最主要的部分都是电子地图。开发电子地图成为了导航仪的关键。根据调査,电了地图制作困难而且价格相当昂贵,给导航伩的开发带来了很多不便。自主绘制电子地图,编写电子地图应用程疗,不管是从经济上还是研究上都具有非常大的意义市面上的嵌入式产品各式各样,用到的嵌入式操作系统自然也是有所不同。如果拥有一个跨平台的程序的话,那将会给我们的开发节省了大量的时间。QT正是一个支持多平台的C+图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Q是完仝面向对象的很容易扩展,并且允许真正地组件编程。所以使用QT作为应用程序框架是一个不错的选择1.3研究目标基于上述背景,开发一个电子地图项目,使用 windOws cD5.0搭配PXA270开发板来构建这个项目。仗用 mapinfo电子地图绘制软件自主绘制电子地图。利用QT4作为系统应用层的程序框架。根据系统的需求,裁减、移植 windOwsce内核。分析系统功能和接口,添加各种驱动程序,如:USB驱动,(∽M口驱动等根据应用程序屮的钶个功能模块,分析各个模块的用户界面接口和对人机交互图2010届本科生毕业设计形化用户界面的接口设计。1.4需求分析1.4.1用户需求分析目前,我们可以通过各种途径接触电子地图,例如以网页形式的电子地图,如 Google地图、 Google earth、百度地图等,以车载GPS导航仪的电子地图,如 garmin饪我游、纽曼、新科、城际通等,还有以手机导航功能出现的电子地图,越来越多的亍杋将支持导航功能,诺基亚2010年在大规模普及手机导航对此,本顶目采用免费版的QT作为程序框架,并且可以跨平台使用,在廾发成本上有着很大的优势。未来几年,配备电子地图的电子产品市场将逐渐走向成熟,市场需求和产品销量会保持大幅增长,产品供应链中的各类企业将获得曰大商机。尤其是随着产品价格的不断下降,这种快速发展的态势公愈加明显。电子地图在中国市场必然会获得更大的发展空间。由此,本项日也适应用户需求,开发电子地图的相关功能:地图显示功能卫星定位功能、路径导航功能、语音提示功能等。1.4.2功能需求分析根据用户需求,和对产品的定位,划分以下功能表1-1用户需求功能支持功能所需硬件1地图显示2实时定位UP- TECHPXA270-S为硬件开发平台3路径导航4语音提示2010届本科生毕业设计攴持功能分析:1.地图显示:显示当前位置地理信息,包括道路、河流、建筑物,以及标志性建筑的名称,可以通过地图了解的所在位置的周边情况。实时定位:通过不断对对COⅧM凵接收到的信息进行分析,获取当前所在位置并且显示在地图的相应位置上3.路径导航:可以设置日的地点,系统将通过路径优先算法显示最优路径,完成导航功能。4.语音提示:通过简单的语言提示来配合路径导航。所需硬件分析:需要的硬件模块在UP一 TECHPXA270-S硬件实验平台上已一应俱全。在此平台上还配制了8英寸的TFT真彩液晶屏,支持640*480的分辨率。UP一 TECHPXA270S在存储系统方面也有着很高的配置,内置了高性能价格比的 NAND FLASH6M内存,支持大谷量的用户差异图形图片和媒休文件的存储。CPU的能力当然是毋庸置疑的, Intel xscale结构芯片的PXA270在各方面都表现了很强悍的能力,在日前市场上来说也是一款很先进的处理器芯片PXA270处理器是 Intel公司目前性能最为强劲的移动处理器,已经成为高端移动设备屮最受欢迎的处理器之一。PXA270最高主频可达624Mz,它引入了X86架构奔腾4系列上的多媒体技术——MⅨ技术,能够大大提升多媒体处理能力,用户通过该技术可以在VGA上面播放高质量的MPG4视频:同时加入了 Inte lSpeedstep动态电源管理技术,在保证CPU性能的情况下,最大限度地降低移动设备功耗。1.5本章小结木章主要介绍本项目的选题背景、意义,选题目标和项目需求分析,根据品市场和本人技术水平情况,按需求划分软件功能模块,还根据软件功能和现有瓷源的性能对使件需求做」详细分析。2010届本科生毕业设计20T简介2.1QT的背景介绍Qt/ Embedded是著名的Qt库开发商 Trolltech公司开发的面向嵌入式系统的Qt版本,开发人员多为KDE项日的核心开发人员。许多基于Qt的XWindow程序可以非常方便地移植到Qt/ Embedded上,与X11版本的Qt在最大程度上接口兼容,延续了在Ⅹ上的强大功能,在底层彻底摒弃了X1ib,仅米用 framebuffer作为底层图形接口。Qt/ Embedded类库完全采用C++封装。丰富的控件资源和较好的可移植性是Qt/ Embedded最为优秀的·方面,使用Ⅹ下的开发工具 Qt Designer可以直接开发基于Qt/ Embedded的UI(用户操作接口)界面。越来越多的第三方软件公司也开始采用Qt/ Embedded廾发嵌入式下的应用软件。2.20T实现的结构原理Qt/ Embedded是 Trolltech公司开发的面向嵌入式系统的Qt版本,与Ⅹ11版本的Qt在最大程度上接口兼容,采用帧缓存( framebuffer)作为底层图形接口。Qt/ Embedded类库完全采用C艹+封装,并且有着丰富的控件资源以及较好的可移植性,大范围的Qt/ Embedded apl可用于多种开发项∏。Qt/ Embedded的实现结构如下:QT的应用程序QT的图形事件QT/EmbeddedFrameBuffer设备驱动操作系统硬件平台图21QT的实现结构图2010届本科生毕业设计Qt/ Embedded的底层图形引擎基于 framebuffer。 Framebuffer驱动程序的实现分为两个方面:一方面是对LCD及其相关部分的初始化,包括画在缓冲区的创建和对DMA通道的设置;另外一方面是对画面缓冲区的读写,具体到代码为read、 write、 Iseek等系统调用接凵。至于将画面缓冲区的内容输出到LCD显示屏上,则由硬件自动完成。对于软件来说是透明的。当对于DMA通道和画面缓冲区设置完成后,DMA开始正常工作,并将缓冲区中的内容不断发送到LCD上。这个过程是基于DMA对于LCD的不断刷新的基于该特性, framebuffer驱动程序必须将画面缓冲区的存储空间(物理空间)重新映射到一个不加高缓存和写缓存的虚拟地址区间中,这样能才保证应用程序通过map将该缓存映射到用户空间后,对于该画面缓存的写操作能够实时的体现在LCD上。QT程序是基于C+编写的,图形用户界面编程同时需要运行效率和高水平的灵活性。Qτ通过结合C+的速度为这一领域提供了Qt对象模型。Qt把下面这些特性添加到了C++当中和被称为信号和槽的非常强大的机制;可查询和可设计的属性项;强大的事件和事件过滤器:根据上下文进行国际化的字符串翻译;完善的时间间隔驱动的计时器等。许多Qt的特性是基于Q0 bject的继承,通过标准C++投术实现的。Q^ pplication是必须构造的吐t主对象,需要在一开始的时候就构造这个对象,并把命令行参数传递给这个对象,每个Qt应用程序有且仪有一个APplication对象,该对象必须在做其他事之前创建,这个对象处理一些底层操作,如事件处理、字符串本地化和控制界面外观等。信号和信号处理函数是(UⅠ应用程序用来响应用户输入的基本机制,乜是所有GUI库的核心特征,Qt的信号处理机制由信号( signa1)和槽(slot)构成,它们相当于GTK+中的信号和回调函数。在Qt中回调函数就叫做槽。信号和槽用于对象间的通讯,它的基本语法为:connect(objectl, signal, object2, slot1)2.3 QT Gr aphics view Framework简介2.3.1 Graphics view层次结构Graphics view提供一个强人的自定义2D平面图元并处理它们之间相互作用的接口,以及将一个这些图元视化的view控件,它支持旋转和缩放。该框架还包含个事件传递机制,允许画布和画布上的图元之问精确
- 2020-12-08下载
- 积分:1
GNSS-SDR_manual.pdf (v0.0.9)
GNSS-SDR is an open-source GNSS software receiver freely available to the research community. This project provides a common framework for GNSS signal processing which can operate in a variety of computer platforms. This tool is intended to foster collaboration, increase awareness, and reduce develoContentsMain Page1.1 Contents1.2 Overview1.3 Building GNSS- SDR2351.3.1 Debug and release builds1.3.2 Updating GNSS-SDR1.4 Using GNSS-SDR51.5 Control plane1.5.1 Configuration61.5.2 GNSS block factory1.6 Signal Processing plane1.6.1 Signal Source1.6.2 Signal Conditioner1.6.3 Channel1.6.3.1 Acquisition1.6.3.2 Tracking101.6.3.3 Decoding of the navigation message11.6.4 Observables121.6.5 Computation of Position, velocity and Time121.7 About the software license1.8 Publications and Credits131.9 Ok. now what?14CONTENTS2 Reference Documents152.1 Interface Control Documents152.1.1GPs2.1.2 GLONASS152.1.3Gai152.1.4 beiD2.1.5 Satellite Based Augmentation Systems(SBAS)2.2 Other Standards2.2.1R|NEX172.2.2 NMEA22.3KML.2.2.4 C++ Standards182.2.5 Positioning protocols in wireless communication networks183 Signal model193. 1 GNSS signal model1.1 Global Positioning System(GPS)signal in space3.1.2 GLONASS signal in space3.1.3 Galileo signal in space223.1.4 Reference254 Todo list5 Hierarchical Index5.1 Class Hierarchy6 Class Index336.1 Class list7 File Index7.1 File list43CONTENTS8 Class docu8. 1 AcquisitionInterface Class Reference538.1.1 Detailed Description8.2 ArraySignal Conditioner Class Reference8.2.1 Detailed Dtio558.2.2 Constructor& Destructor Documentation8.2.2. 1 Array SignalConditioner(Configurrface configuration, std: shared_ptr data type_adapt, std: shared_ptr< GNSSBlockInterfaceil, std: shared ptr< GNSSBlockInterface > res, std: string role, std: stringimplementation)558. 2.2.2 Array SignalConditioner(558.2.3 Member Function Documentation8.2.3. 1 implementation(558.3 beamformer Class Reference568.3. 1 Detailed Description8. 4 Beamformer Filter Class Reference568.4.1 Detailed description578.4.2 Member Function Documentation8. 4.2.1 implementation()8.5 byte x2 to complex byte Class Reference8.5.1 Detailed Description588.6 Byte ToShort Class Reference588.6. 1 Detailed description8.6.2 Member Function Documentation8.6.2. 1 implementation(598.7 Channel Class Reference598.7.1 Detailed description608.7.2 Constructor Destructor Documentation8.7. 2.1 Channel(ConfigurationInterface *configuration, unsigned int channel, std+shared_ptr< GNSSBlockInterface> pass through, std: shared_ptr acq, std: shared_ptr nav, std string role, std stringimplementation, boost: shared ptr< gr: msg_queue queuegenerated by DoxygenCONTENTS8.7.2.2 Channelo8.7.3 Member Function Documentation8.7.3. 1 implementation(618.7.3.2 set signal(const Gnss Signal &gnss signal8.7.3. 3 start_ acquisition(68.8 channel msg receiver cc Class Reference8.8.1 Detailed Description628.8.2 Constructor Destructor Documentation628.8.2. 1 channel_msg_ receiver_ cco8.9 ChannelFsm class Reference8.9.1 Detailed Description638.10 ChannelInterface Class Reference638.10.1 Detailed Description8.11 cl_ fft_ plan Struct Reference648.11.1 Detailed Description648.12 clFFT Complex Struct Reference648. 12. 1 Detailed Description8. 13 ClFFT Dim 3 Struct Reference8. 13.1 Detailed description658.14 ClFFT_ SplitComplex Struct Reference658. 14.1 Detailed Description658. 15 complex byte to float x2 Class Reference8. 15.1 Detailed description8. 16 complex_ float_to _ complex_ byte Class Reference668.16.1 Detailed Description668. 17 concurrent map< Data> Class Template Reference8.17.1 Detailed description8.18 concurrent_ queue< Data > Class Template Reference8.18.1 Detailed description688.19 ConfigurationInterface Class ReferenceCONTENTS8.19. 1 Detailed Description8.20 ControlMessage Class Reterence698. 20. 1 Detailed Description8.21 ControlMessage Struct Reference698.21. 1 Detailed Description8.22 ControlMessageFactory Class Reference708.22. 1 Detailed Description8. 22.2 Constructor Destructor Documentation8. 22.2. 1 ControlMessage Factory8. 22.2.2 ControlMessage(8.23 Control Thread class Reference8. 23. 1 Detailed Description718.23.2 Constructor Destructor Documentation8.23. 2.1 ControlThreado8. 23.2.2 Control Thread(std: shared_ptr< ContigurationIntertace> configuration)8.23. 2.3 Control Thread(728.23. 3 Member Function Documentation8.23.3. 1 flowgraph7282332run()728.23.3.3 set_control_ queue(boost: shared _ptr< gr: msg_queue control queue)8. 24 cpu multicorrelator Class Reference8.24. 1 Detailed Description8.25 cpu multicorrelator 1 6sc Class Reference8.25. 1 Detailed Description748.26 cshort to float x2 Class Reference748. 26. 1 Detailed Description8.27 cuda multicorrelator Class Reference8.27.1 Detailed Description758.28 direct resampler conditioner cb class Reference758.28. 1 Detailed Descriptiongenerated by DoxygenCONTENTS8.29 direct resampler conditioner cc Class Reference8.29. 1 Detailed description768.30 direct resampler conditioner cs Class Reference8.30. 1 Detailed description8.31 DirectResampler Conditioner Class Reference8.31. 1 Detailed Description788.31.2 Member Function Documentation788.31.2.1 implementation788.32 Fast Correction Struct Reference8. 32 1 Detailed Description8.33 File Configuration Class Reference8.33. 1 Detailed Description798.33.2 Constructor destructor documentation8.33.2. 1 File Configuration(8. 34 File SignalSource Class Reference808.34.1 Detailed Description808.34.2 Member Function Documentation8.34.2.1 implementation(8.35 Fir Filter Class Reference8.35. 1 Detailed Description818.35.2 Constructor Destructor Documentation8.35.2. 1 Fir Filter( ConfigurationInterface *configuration, std: string role, unsigned intreams, unsigned int out_streams)8.35. 2.2 FirFiltero8.35. 3 Member Function Documentation8.35.3. 1 implementation(828.36 FlexibandsignalSource Class Reference828.36. 1 Detailed descripti838.36.2 Member Function Documentatio8.36.2.1 implementation(8. 37 FreqXlating FirFilter Class ReferenceCONTENTSX8.37.1 Detailed Description8.37.2 Member Function Documentation848.37. 2.1 implementation(848.38 FrontEndCal Class Reference848. 38. 1 Detailed description8.38.2 Member function documentation8.38. 2.1 estimate_doppler_ from_ _eph(unsigned int PRN, double toW, double lat, doublelon, double height)8.3822 get ephemeris(),.,.,,.,,,,,,,858.38.2.3 GPS L1 front end model E4000(double f bb true Hz, double f bb_measHz, double fs nominal_ hz, double *estimated_fs_ hz, double *estimated_f if Hz, 85double *tosc_err_ppm)8.38.2.4 set_configuration(std shared_ptr< ConfigurationInterface configuration)858. 39 Galileo Almanac class Reference858.39. 1 Detailed description8. 39.2 Constructor destructor documentation8.39.2.1 Galileo_ Almanac8.40 galileo e1 dl pll veml tracking cc Class Reference8.40. 1 Detailed Descriptio88ember Function Documentation8.40.2.1 general work(int output_ items, gr_ vector_int &ninput_ items. gr vector_constvoid_star &input_items, gr_ vector_ void_ star &output_ _items)8. 41 galileo_e1_ Is_pvt Class Referenc8.41. 1 Detailed Descriptio8. 41.2 Member data documentation8. 41.2.1 d channels898.41. 2.2 galileo_ ephemeris_ map898.42 galileo e1 observables cc Class Reference8.42. 1 Detailed Description8. 43 galileo_e1_pvt_cc Class Reference8.43. 1 Detailed description8. 43.2 Constructor Destructor documentatiCONTENTS8. 43.2.1 galileo_e1_pvt_cc918. 43.3 Member Function documentation8. 3.1 general_work(int output_items, gr vector_int &ninput_items. gr_ vector_constevoid star &input items, gr vector void star &output items)918. 44 Galileo_E1_ Tcp Connector_ Tracking_cc Class Reference8.44.1 Detailed Description8. 45 galileo e1b telemetry decoder cc Class Reference928.45. 1 Detailed description938. 45.2 Member Function Documentation8.45.2. 1 forecast(int noutput_items, gr_ vector_ int &input_items_required8.45. 2.2 general_ work(int output_items, gr- vector_ int &ninput_items. gr_ vector_const+void star &input_items, gr_ vector_ void_ star &output_ items938. 45.2.3 set_channel(int channel8.45.2. 4 set_ decimation(int decimation)8. 45. 2.5 set_ satellite(Gnss_ Satellite satellite)8.46 Galileo E5a Dl Pll Tracking cc Class Reterence8.46. 1 Detailed description48. 47 galileo e5a noncoherentlQ acquisition caf cc class Reference8.47.1 Detailed Description958. 47.2 Constructor Destructor Documentation8.47. 2.1 galileo e5a noncoherentlQ acquisition caf cco8. 47.3 Member Function Documentation968.47. 3.1 general_ work(int output_items, gr_ vector_int &ninput_ items. gr vector_const+void_star &input_items, gr_vector_ void_star &output_items)8.47.32init()968.47.3.3mag(0..968.47.3.4 set active(bool active968.47.3.5 set channel(unsigned int channel)968.47.3.6 set_ doppler_ max(unsigned int doppler_ max)8.47.3.7 set_ doppler_ step(unsigned int doppler step8.47.3.8 set_gnss synchro(Gnss Synchro *p_gnss_ synchro8.47.3.9 set_local_code(std: complex< float >*code, std: complex< float > *code Q)97
- 2020-12-01下载
- 积分:1