




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南科技大学毕业设计(论文)基于QT的任意波形数据生成软件设计摘 要随着电子测量技术与计算机技术的紧密结合,一种新的信号发生器任意波形发生器应运而生。用户可以用它生成任意复杂波形,因而具有广阔的应用前景。任意波形发生器是应用越来越广泛的一种信号源,而国内在任意波形发生器的研制方面相对较晚,推出的产品很少,市场占有率几乎为零。因此,对任意波形发生器的研制进行深入的研究已成为测试领域的一个新的课题,同时对于促进虚拟仪器技术的发展、应用以及适应自动测试系统的组建和完整性要求都具有深远的意义。本设计是基于QT软件来实现任意波数据的生成,本系统包含有基本波形模块,谐波模块,手绘波形模块,基本波形合成模块。QT的模块程度更高、运行速度快、成本低、开发方便并且全部都是开放源代码。本任意波形发生器不仅能产生正弦波、方波、三角波等常用的标准信号,也可以将几种基本波形进行合成,并根据用户的需要生成任意波形,对于目前三种典型的任意波形发生器PC总线插卡式,独立仪器,VXI模块都有重要的参考价值。关 键 词:波形发生器,任意波形,QT,LinuxQT-BASED ARBITRARY WAVEFORM GENERATION SOFTWARE DESIGN DATAABSTRACTIn modern electronic measuring instruments,test excitation signal generator used is a kind of very important instrument,closely integrated with the electronic measurement technology and computer technology,a new signal generator - came into being arbitrary waveform generatorRelatively late in the development of the domestic aspects of the arbitrary waveform generator,development and application of the product is relatively developed more slowlyTherefore,the development of an arbitrary waveform generator in-depth research has become a new subject areas tested,while all have far-reaching significance for promoting the development and application of virtual instrument technology and the automatic test system to adapt to the formation and integrity requirementsIn this paper,based on the analysis of existing waveform generator design scheme,based on QT software to achieve arbitrary waveform data to generate a higher degree of QT module,running speed,low cost,easy to develop and are all open sourceSo whether it is based on the development of electronic technology,market demand or software-based quick and easy to use QT to achieve arbitrary waveform data generation is groundbreaking and is still very necessaryThe arbitrary waveform generator can generate arbitrary waveforms according to the user s needs,the current three typical arbitrary waveform generator - PC bus plug-in,independent instrument,VXI module has important reference valueKEY WORDS:Waveform Generator,Arbitrary Waveform,QT,Linux目 录前 言1第1章 绪 论21.1 课题来源、目的及意义21.2任意波形数据生成的国内外研究现状21.3当前主要任意波形数据生成的基本方式41.3.1基于VXI的数字信号处理法41.3.2 软件合成法41.3.3直接数字频率合成51.4 本文主要研究内容6第2章 系统软件设计72.1 系统总体设计框图72.2 基本波形的设计82.3 谐波的设计142.4 手绘波形的设计172.5 基本波形合成的设计20第3章 使用说明书223.1 主操作界面223.2 参数输入界面233.2.1 谐波参数输入界面233.2.2 基本波参数输入界面243.2.3 手绘波形界面2433 操作步骤说明25第4章 测试分析报告264.1 按键事件的功能测试264.2 参数输入的功能测试294.2.1 谐波参数输入的测试294.2.2 基本波形参数输入的测试304.3 手绘波形的功能测试34第5章 系统测试结果35结 论39参考文献40致 谢41IV前 言随着电子测量及其他部门对各类信号发生器的广泛需求及电子技术的迅速发展,促使信号发生器种类增多,性能提高。尤其随着70年代微处理器的出现,更促使信号发生器向着自动化、智能化方向发展。任意波发生器在工业生产、科研实验中获得了越来越广泛的应用;如在雷达、通讯、仿真、电子、生物、机械、计算机等一系列系统测试中,都要用到任意波发生器;尤其是在要求同步输出任意波形的场合以及需要产生复杂波形信号的场合,任意波发生器具有特别的优势。可见,为适应现代电子技术的不断发展和市场需求,研究制作高性能的任意波数据生成器十分有必要,而且意义重大。QT是1991年奇趣科技开发的一个跨平台的C+图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。QT是面向对象的框架,使用特殊的代码生成扩展以及一些宏,易于扩展,允许组件编程。本设计是基于QT软件来实现任意波数据的生成, QT的模块程度更高、运行速度快、成本低、开发方便并且全部都是开放源代码。所以不管是基于电子技术的发展、市场的需求还是基于软件的方便快捷,使用QT来实现任意波数据的生成是开创性的并且还是十分有必要的。第1章 绪 论1.1 课题来源、目的及意义波形发生器即通常所说的信号发生器是一种常见的信号源,广泛应用与电子电路、自动控制和科学试验领域,是一种为电子测量工作提供符合严格技术要求的电信号设备。随着现代电子技术的飞速发展,现代电子测量工作对波形发生器的性能提出了更高的要求,不仅要求能产生正弦波,方波等标准波,还能根据需要产生任意波形,切操作方便,输出波形质量好,输出频率范围宽,输出频率稳定度、准确度及分辨率高,频率转换速度快且频率转换时输出波形相位连续等。在科学研究、工程教育及生产实践中,如工业过程控制、教学实验、机械振动实验、动态分析、材料实验、生物医学等领域,常常需要用到低频信号发生器。而在我们日常生活中,以及一些科学研究中,锯齿波和正弦波、矩形波信号是常用的基本测试信号。譬如在示波器、电视机等仪器中,为了使电子按照一定规律运动,以及利用荧光屏显示图像,常用到锯齿波产生器作为时基电路。信号发生器作为一种通用的电子仪器,在生产、科研、测控、通讯等领域都得到了广泛的应用。但市场上能看到的仪器在频率精度、宽带、波形种类及控制方面都已不能满足许多方面的需求。加之各类功能的半导体集成芯片的快速生产,都使我们研制一种低功耗、宽频带,能产生多种波形并具有程控等低频的信号发生器成为可能。1.2任意波形数据生成的国内外研究现状 任意波形发生器是随着众多领域对于复杂的、可由用户定义的测试信号波形日益增长的需要,以及不断进步的计算机技术和微电子技术在测量仪器中的应用而形成和发展起来的一类新的测试仪器。作为当代最新的一类信号源,引起了世界各国的广泛重视,纷纷投入人力物力进行研究制作。主要现状如下:第一,研究制作的任意波形发生器主要有独立的台式仪器和适用于个人计算机的插卡以及VXI模块。第二,主要采用了直接数字频率合成技术(Direct Digital frequency Synthesis,简称DDS) ,研究制作基本上均采用了软件结合硬件的方式。虚拟仪器开发编程语言LabWindows/CVI、汇编语言、Visual Basic、Visual C、EDA开发软件及硬件描述语言等软件和FPGA、CPLD、DSP芯片及高速存储器、高速D/A转化器、单片机等硬件被广泛应用。第三,大量使用各种高速器件提高时钟频率,使任意波形发生器输出波形频率不断提高,能应用于越来越广泛的领域。第四,使用各种计算机语言开发任意波形发生器波形编辑软件和操作软件面板,使任意波形发生器的操作控制或任意波形数据生成变得更加方便和容易,允许徒手从计算机显示屏上输入任意波形。上位机于任意波形发生器硬件模块广泛使用RS-232/485、GPIB等总线进行数据通信,近年,USB接口也逐步被广泛研究和应用。第五,与VXI资源结合。由于VXI总线的逐步成熟和对测量仪器的高要求,在很多领域需要使用VXI系统测量和产生复杂的波形,VXI的系统资源提供了明显的优越性。但由于开发VXI模块的周期长,而且需要专门的VXI机箱的配套使用,使得VXI的任意波形发生器模块仅限于航空、军事及国防等大型领域,在民用方面,VXI模块远远不如台式仪器更为方便4。就任意波形发生器技术而言,目前引领技术潮流的仍是国外的几大仪器公司,如美国国家仪器有限公司NI,美国安捷伦(Agilent)公司,美国泰克(Tektronix)公司,从台式机到插卡式模板都有不同档次的产品。泰克公司的任意波形发生器产品在波形合成上采取了传统技术与DDS技术相结合的方式,使输出波形的质量很高。Agilent公司是单纯的采用DDS技术来合成波形,这样在电路结构上要简单得多,性价比很高。代表性的产品有NI发布的NI5412,Agilent 33220A函数/任意波形发生器,美国泰克公司研制的AFG3000系列的任意波形发生器等,这些波形发生器都具有易于操作、高频率分辨率和宽频率范围等特点。这些产品代表了任意波形发生器的发展趋势:即更高取样率,更高分表率,更大存储量和更丰富的人机接口界面6。目前我国已开始研制任意波形发生器,并取得了可喜的成果。但总的来说,我国任意波形发生器还没有形成真正的产业。就目前国内成熟的产品来看,多为一些PC仪器插卡,独立仪器和VXI系统的模块很少,并且我国目前任意波形发生器的种类和性能都与国外同类产品存在较大的差距,因此加紧对这类产品的研制显得迫在眉睫。任意波形发生器作为信号发生器家族的一个新的成员,技术发展十分迅速,市场份额也日渐扩大,其状况和地位有如示波器家族中的数字存储示波器,以美国TEK公司为代表的国际各大电子测量仪器公司,其任意波形发生器产品已经纷纷形成系列,开始逐步取代传统的函数发生器,可以说任意波形发生器已经成为信号源的发展方向。1.3当前主要任意波形数据生成的基本方式1.3.1基于VXI的数字信号处理法VXI总线以其开发的系统结构、模块化的设计、紧凑的机械结构、良好的电磁兼容性等一系列优点,在众多军事、工业、商业等领域受到日益广泛的应用。基于VXI总线的任意波形生成将实现仪器的高速、模块化,可以通过PC机调用任意波形生成的软件面板来对仪器进行控制,具有测试精度高、使用空间小等特点。作为当代一类新型的信号源,在设计上它不仅保留了传统台式任意波形发生器所具有的各种功能,而且较传统波形发生器产生波形的种类多、频率高,可由计算机直接控制。作为一种基于VXI总线的卡式仪器,它可以很方便地与VXI总线测试系统集成,很大限度的发挥计算机和微电子技术在当今测试领域中的应用,具有一定的应用和发展前景。基于VXI总线任意波形发生器是数字式信号发生器,数字信号处理法采用数字信号处理器(DSP)实现任意波形合成。用DSP求解一个数字递推关系式产生出波形的离散序列,输出给D/A转换器,可以获得较高频率的波形信号。这种方法需要专用DSP开发系统,而且存在输出频率不连续可调和控制不便的缺点7。1.3.2 软件合成法软件合成法是由计算机软件,根据幅值、频率、相位计算出产生高精度波形所需数据表,计算机将离散序列送经D/A转化器和滤波器输出。这种方法是优点是电路简单,缺点是不能产生高频率的信号。造成信号频率低的原因是数据读取速度受计算机指令执行时间的限制,仅靠提高存储器本身存取速度和D/A转换器的速度不可能解决信号带宽问题。1.3.3直接数字频率合成DDS是从相位概念出发直接合成所需要波形的一种新的频率合成技术。DDS是把一系列数字量信号通过D/A转换形成模拟信号的合成技术。主要是利用高速存储器作查询表,然后通过高速D/A转换器产生已经用数字形式存入的正弦波(或其他任意波形)14。一个典型的DDS系统应包括:参考时钟,正弦查找表,相位累加器,D/A转换电路和滤波器等组成5,如图1-1所示。相位寄存器正弦查找表D/A转换器滤波器频率控制器参考时钟指定频率正弦波图1-1 典型DDS系统随着数字信号处理理论和方法引入到频率合成领域中,任意波形发生器使用直接数字合成的方式可以方便的产生各种需求的波形。将图1-1中的正弦查找表用波形存储器来替代10,得到图形如图1-2所示。每个波形存储器中存储一个周期的任意波形信号,周期由若干波形点构成,而波形点和相位一一对应,所以又相当于一个相位/振幅变换器,振幅信息通过D/A转换器生成阶梯波形,经过滤波得到需要的波形。指定频率正弦波滤波器频率控制器参考时钟D/A转换器波形存储器相位寄存器指定频率正弦波图1-2 任意波形DDS系统1.4 本文主要研究内容本设计是基于QT软件来实现任意波数据的生成,属于直接数字信号合成。QT的模块程度更高、运行速度快、成本低、开发方便并且全部都是开放源代码。QT还是面向对象,具有优良的跨平台性,以及大量的开发文档等,这些优越性使我们在开发任意波软件时具有更多的优势。QT的界面设计十分强大,使软件更加符合人们的要求,更加的人性化。总之基于QT软件开发任意波形的生成对于降低成本、提高系统的可靠性、灵活性、适应性,缩短开发周期,具有重大的实际意义。本设计的主要工作如下:1、分析任意波形数据生成的发展、分类、及各种任意波形生成的方法。2、进行软件部分设计及测试:根据系统要实现的功能画出本系统的软件流程图,编写C+源代码,并进行编译、修改直到达满意的结果。3、系统模块调试:软件整体设计结束后,对各个模块就行测试、修改直达到满意的结果。4、对设计的系统进行测试,获得测试的波形,并且进行波形分析。第2章 系统软件设计2.1 系统总体设计框图本系统是基于QT进行的纯软件开发设计,本系统包含有四大模块,分别为:基本波形生成模块,谐波生成模块,手绘波形生成模块,基本波合成波基本波形生成谐波生成手绘波形基本波合成主 控 制 器形模块。本系统的总体设计框图如图2-1所示。图2-1 系统总体设计框图 基本波形共有18种标准波形分别为:正弦波、余弦波、正切波、余切波、升指数、降指数、正半波、负半波、正全波、负全波、噪声、抽样函数、高斯函数、直流、方波、三角波、锯齿波、负锯齿。本设计的谐波是基于正弦波实现的。手绘波形是建立一个窗口,在这个窗口里用户可以用鼠标点击移动画线,根据用户自己的要求,可以画出用户想要的波形。基本波形的合成是基于基本波形的基础上,在任意波形任意相位任意点处,与任意波形连接,也可以是在某些位置处和其他波形合成,形成一个新的波形。本系统的流程图如图2-2所示。初始化有键按下NY谐波基本波形手绘波形参数选择参数选择参数选择显示输出继续添加波形NY开始结束 图2-2 系统流程图2.2 基本波形的设计在基本波形的设计前要先进行QT窗口的建立,设计主操作界面,使用QT进行窗口程序设计的一般流程如图2-3所示。对于创建一个新的QT应用程序来说,QT使用一个project workspace来存储该项目所需的所有文件,其中project workspace就是一个文件夹,与项目相关的文件存储在该文件夹下。而一个项目又由一定数量的文件组成,如果要生成一个可执行程序,文件必须包括cpp文件和头文件,而这些文件通常都存储在同一工作区文件夹中。我们在New选择一个项目类型,创建一个新的GUI application首先从菜单单栏中选择File项打开如图2-4和图2-5所示。创建工程目录新建工程创建图形界面编写代码生成mainc根据工程文件生成wvt文件编译并运行图2-3 QT窗口设计流程在图2-4所示的New对话框中选C+,选择子项GUI Application项目类型。当开始一个新项目里首先想好三项内容。第一项内容是项目类型是什么;第二项内容是项目名称是什么;第三项内容是是否需要创建界面。图2-6项目是否需要创建界面(需要的话,创建界面上打上勾)。图2-4 File子菜单图2-5 New对话框图2-6 含一个活动工作区的IDE窗口设计主操作界面:界面直接表现一个应用程序的功能。QT提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。主界面主要包括对话框,工具栏和菜单栏,它们可以将应用程序的所有功能与界面中的控件或菜单命令联系起来。主界面窗口大小为600*500的,包含一个tableView和九个按键。TableView是为了显示当前生成的波形的基本信息。如图2-7。信号和槽机制是QT 的核心机制,要精通 QT 编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性,也是 QT 区别于其它工具包的重要地方。图中九个按键分别为添加波形、添加谐波、手绘、删除、保存、关于、清空、打开、退出。这九个按键的槽函数分别为:add_bx_signal、add_signal、tuyaban、del_signal、save_file、about_software、clear_signal、open_file、Quit。我们在设置槽函数时,要先在头文件声明槽函数13,头文件中有三个区域,分别为:public slots、protected slots和private slots。图2-7 主界面的运行界面public slots:在这个区内声明的槽意味着任何对象都可将信号与之相连接。这对于组件编程非常有用,你可以创建彼此互不了解的对象,将它们的信号与槽进行连接以便信息能够正确的传递。protected slots:在这个区内声明的槽意味着当前类及其子类可以将信号与之相连接。这适用于那些槽,它们是类实现的一部分,但是其界面接口却面向外部。private slots:在这个区内声明的槽意味着只有类自己可以将信号与之相连接。这适用于联系非常紧密的类。我们以上九个槽函数都属于这一类型。以上是创建类以及设置主窗口的基本操作,基本波形、谐波、手绘及基本波合成都是在此基础上来进行研发的。基本波形首先是在系统的mix类中,它的程序流程图如图2-8所示。数据处理输出数据继续添加波形YN输入参数开始结束图2-8 基本波形的程序流程图共模块共包含有18种基本波形,它的设计界面如图2-9。图2-9 基本波形的设计界面此模块包含有波形、幅值、相位、起始点、终止点、确定及取消。波形的槽函数为comboBox,包含有18个基本波形,可以任意选择基本波形;幅值为am,最大值为100,最小值为0;相位为ph,最大为360;起始点和终止点范围为0到32768;确定的槽函数为dialog_ok;取消的槽函数为dialog_cancel。这几个槽函数的定义都在mix的头文件中private slots中。波形中正弦波为sin_generate_wave,正弦波的程序如下: for(i = start; i end; i +) temp = i; temp /= 327680; temp *= count; temp *= 3141592653; temp = sin(temp + phase / 360* 2 * 3141592653); temp += 10; temp /= 20; temp *= (163830 * amplitude / 100); *(p + i) = temp + *(p + i); 其他还有余弦波cos_generate_wave,正切波tan_generate_wave,余切波cot_generate_wave,直流dc_generate_wave,升指数expf_generate_wave,降指数expr_generate_wave,负全波full_n_generate_wave,正全波full_p_generate_wave,高斯函数gaus_generate_wave,负半波half_n_generate_wave,正半波half_p_generate_wave,噪声noise_generate_wave,抽样函数sinc_generate_wave,方波square_generate_wave,三角波triangle_generate_wave,锯齿波sawtooth_generate_wave,负锯齿fusawtooth_generate_wave。这些函数定义都在头文件的public slots中,函数程序与正弦波的函数程序相类似。2.3 谐波的设计谐波在设计中首先要创建属于谐波的类,创建类的过程见22基本波形类的创建。本次设计的谐波属于dialog类中,它的程序流程图如图2-10所示。输入参数生成基波计算显示输出继续添加谐波Y开始结束N图2-10 谐波的程序流程图添加谐波的设计界面如图2-11。 图2-11添加谐波的设计界面此界面包含有谐波次数、幅度比例、信号相位、确定及取消。谐波次数能选择2-100次;幅度大小为0-100;相位为0-360。确定和取消的槽函数为dialog_ok和dialog_cancel,属于private slots。谐波的设计程序为: int wave_count;/定义wave_count double wave_amplitude;/定义wave_amplitude int wave_phase;/定义wave_phase bool ok;/申请布尔变量ok double wave_temp_data32768; /32768个数组 generate_wave(wave_data,2,1000,0);/产生基波 for(int i = 0; i rowCount(); i +) wave_count = model-item(i,0)-text()toInt(&ok,10); wave_amplitude = model-item(i,1)-text()toDouble(&ok); wave_phase = model-item(i,2)-text()toInt(&ok,10) % 360; generate_wave(wave_temp_data,wave_count,wave_amplitude,wave_phase); for(int k = 0; k lastPointx() temp = (500 - endPointy() * 32 - (500 - lastPointy() * 32); temp /= (endPointx() * 64 - lastPointx() * 64); k = temp; b = (500 - endPointy() * 32 - k * endPointx() * 64; if(endPointx() 500) end = 500 * 64; else end = endPointx() * 64; if(lastPointx() * 64 0) start = 0; else start = lastPointx() * 64; for(i = start;i 500) end = 500 * 64; else end = lastPointx() * 64; if(endPointx() 0) start = 0; else start = endPointx() * 64; for(i = start;i end;i+) random_wave_datai = b + k * i ; QPainter pp(&pix); / 根据鼠标指针前后两个位置就行绘制直线 ppfillRect(1,1,500,400,Qt:white); for(i = 0; i 499;i+) ppdrawLine(QPointF(i,500 - (random_wave_datai * 64 / 32),QPointF(i + 1),500 - (random_wave_data(i + 1) * 64 / 32); / 让前一个坐标值等于后一个坐标值,这样就能实现画出连续的 QPainter painter(this); painterdrawPixmap(0,0,pix);2.5 基本波形合成的设计手绘波形属于mix这一类,此模块的程序流程图如图2-15所示。基本波形的合成是基于基本波形生成的,本设计在设计基本波形的合成时是保留基本波的数据,当再一次添加基本波形时,将现有的数据与保留的数据进行叠加来进行合成的。 基本波形合成运用的界面是和添加基本波形的界面如图2-9相同的。输入参数开始 数据处理输出数据数据保留Y继续添加波形N结束 图2-15 基本波合成程序流程图第3章 使用说明书 3.1 主操作界面该界面属于主要操作控制界面。功能:实现添加基本波形、添加谐波、手绘波形、保存等功能。如图3-1所示。以下为区域和按钮功能介绍。图3-1主操作界面区域:显示当前波形的参数。区域:波形显示区。按钮:点击可实现添加基本波形以及合成波形的功能。按钮:点击可实现添加谐波的功能。按钮:点击可实现手绘任意波形的功能。按钮:删除当前选中的波形参数。按钮:保存当前波形为wvt文件格式。按钮:点击能查询该软件的相关信息。按钮:点击能够清空当前所有的波形数据。按钮:点击打开wvt格式文件。按钮:点击退出软件。3.2 参数输入界面3.2.1 谐波参数输入界面该界面属于设定谐波参数界面。功能:设定谐波参数。如图3-2。以下为具体区域和按钮功能介绍。图3-2 添加谐波界面区域:选择谐波次数,范围为2-100。区域:选择谐波的幅值参数,范围为0-100。区域:选择谐波的信号相位,范围为0-360。按钮:点击进入主操作界面显示谐波波形。按钮:点击返回到主操作界面。3.2.2 基本波参数输入界面该界面属于设定基本波形参数的界面。功能:设定基本波形参数、实现基本波的合成。如图3-3。以下为具体区域和按钮功能介绍。图3-3 设定基本波形参数界面区域:选择波形类型,要进行不同波形合成,就继续添加波形。区域:设定波形的幅值,范围为0-100。区域:设定波形的相位,范围为0-360。区域:设定波形的起始位置,范围为0-32768,半个周期为16384,四分之一周期为8192,四分之三周期为24576。区域:设定波形的终止位置,范围为0-32768。按键:点击转入主界面,显示波形。按键:点击返回到主界面。3.2.3 手绘波形界面该界面属于手绘波形的界面。功能:实现手绘任意波的功能。如图3-4。以下为具体区域和按钮功能介绍。区域:手绘区。按键:点击将手绘区的波形复制到主界面的波形显示区。按键:点击返回到主操作界面。图3-4 手绘波形界面3.3 操作步骤说明本系统进入主操作界面后,可以根据需要点击主操作界面按键,进入到添加波形界面或点击主操作界面按键,进入添加谐波界面或点击主操作界面,进入到手绘波形界面。根据自己的需求,选择自己的参数、类型或者画出自己的波形图,点击确定在主操作界面区域显示出生成的波形。可以继续添加波形,合成新的波形,也可以点击主操作界面按键保存所生成的波形。点击主操作界面按键退出系统。第4章 测试分析报告4.1 按键事件的功能测试主操作界面的按键功能测试。点击主操作界面按键添加波形按键,弹出图4-1所示对话框。测试结果正常。图4-1 基本波形参数输入界面点击主操作界面按键添加谐波按键,弹出图4-2所示对话框。测试结果正常。图4-2 谐波参数输入界面点击主操作界面按键手绘按键,弹出图4-3所示对话框,测试结果正常。点击主操作界面按键删除按键,如图4-4所示。测试结果正常。点击主操作界面按键保存按键,弹出保存界面如图4-5。测试结果正常。点击主操作界面按键关于按键,弹出介绍该软件的对话框如图4-6。测试结果正常。图4-3 手绘操作界面 图4-4 波形合成点击主操作界面按键清空按键,如图4-7所示。测试结果正常。点击主操作界面按键打开按键,弹出打开文件对话框,如图4-8。测试结果正常。点击主操作界面退出按键,直接退出软件。测试结果正常。 图4-5 保存界面 图4-6 关于软件界面 图4-7 清空功能图4-8 打开界面4.2 参数输入的功能测试4.2.1 谐波参数输入的测试在谐波参数输入界面区域谐波次数选择50次,区域幅值比例输入最大值100,区域相位输入0,点击按键确定。输出波形如图4-9。测试结果正常。4.2.2 基本波形参数输入的测试首先测试基本波形是否显示正常。在基本波参数输入界面区域波形选择区,选择正弦波,在区域幅值区域输入幅值100,在区域相位区域输入0,在区域起始位置输入0,在区域终止位置输入32768,点击按键确定按键,输出波形如图4-9(a)。测试结果正常。 图4-9 谐波显示 a 正弦波 b余弦波图4-9分别测试其他几种波形。图4-9(b)为余弦波;图4-10为直流(a)和升指数(b);图4-11为降指数(a)和噪声(b);图4-12为全波(a)和正全波(b);图4-13为高斯函数(a)和抽样函数(b);图4-14为负半波(a)和正半波(b);图4-15为方波(a)和三角波(b);图4-16为锯齿波(a)和负锯齿(b)。 a直流 b 升指数图4-10 a 降指数 b 噪声图4-11 a 负全波 b 正半波图4-12 a 高斯函数 b抽样函数图4-13 a 负半波 b 正半波图4-14 a 方波 b 三角波图4-15 a 锯齿波 b 负锯齿图4-164.3 手绘波形的功能测试点击主操作界面按键手绘,进入到手绘图形的功能界面。在手绘波形界面区域绘制图形如图4-17所示。点击手绘波形按键确定得到图4-18,测试结果正常。 图4-17 手绘界面 图4-18 主界面第5章 系统测试结果测试各个模块后,对整体系统进行测试。首先添加基本波形正弦波,显示前半个周期,紧接着添加抽样函数后半个周期,结果如图5-1。选择删除sinc波形,改为添加余弦波后半个周期如图5-2所示。 图5-1 波形合成显示 图5-2 波形合成显示这是测试不同波的衔接,下来测试不能波形的合成。首先选择正弦波,幅值设为50,一个周期,再接着选择高斯函数前半个周期,重叠的地方就合成新的图形,如图5-3所示。图5-3 波形合成显示 点击添加谐波选择谐波次数10次,幅值100,能够直接在主界面上显示谐波,不需要清除以前的波形,还能在主操作界面区域(2),把显示的转换成谐波所有的参数,如图5-4。显示完之后还可以继续添加谐波,能够一直添加,如图5-5。 图5-4 谐波生成 图5-5 谐波生成 当主操作界面有波形时点击手绘会提示你是否保存文件,如图5-6所示,点击yes或者no后会清除当前主操作界面所有数据,然后进入到手绘界面。 图5-6 进入手绘界面第六章 项目开发总结本设计是基于QT的任意波数据生成,通过设计实现任意波的生成,包括基本波形的生成,谐波的生成,手绘波形以及基本波形的合成。本设计主要完成的工作如下:1、掌握QT软件的基本操作方法。2、熟悉C+编程语言的编程规范。3、学会了关于GUI的界面设计及程序编写并设计了系统界面。4、编写了基本波形、谐波、手绘波形和基本波形合成模块的程序,最终完成了系统的设计。本系统能基本完成日常任意波的运用需要,包含了大多数的基本波形,很有实用价值。但是本系统设计也有缺陷,仍然有许多改进的地方,比如手绘界面做的还相对比较粗糙,不够精细;不能在任意一个位置处添加一个完整周期的波形,只能够在几个波形相同位置处衔接波形;基本波形中有很多波是没有相位的,所以有些地方处理的还不妥当。通过开发该项目,使我掌握了使用QT软件,并且更加熟练的运用C+程序语言编写程序,更加明白设计中一些细节的重要性,也更明白与人沟通的重要性。在项目进行的过程中,我们要不断的去整理自己的工作情况和做好总结,这样以来,无论是在自己的技术还是其他方面,都会对我们有很大提高,在长期的积累后,我们个人能力会有极大的提高。结 论本文根据工业的需求提出了基于QT的任意波形数据生成的软件设计。本设计采用DDS直接数字合成来进行任意波形的生成,能够生成正弦波、三角波、方波等基本波
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年互联网+信息安全行业当前竞争格局与未来发展趋势分析报告
- 2025年集成电路封装行业当前市场规模及未来五到十年发展趋势报告
- 2025年福建省莆田市城厢区中考数学适应性模拟试题含解析
- 静脉输血与输液选择题及答案
- 2025年初级护师资格考试试题及答案
- 【2025年】黑龙江省大庆市中级会计职称经济法预测试题含答案
- 2025年手术室护理实践指南知识考核试题及答案
- 2025年湖南省张家界市公共基础知识国家公务员测试卷(含答案)
- 摩托车赛车安全知识培训课件
- 摩托车基础知识培训课件课程
- 学习强安应急第一响应人理论考试答案
- 情绪管理游戏方案
- 消防主题毕业答辩
- 重庆第二外国语学校数学新初一分班试卷含答案
- 06黄伯荣、廖序东《现代汉语》增订6版课件-第2章-语音-第七、八、九节
- 孕产妇营养指导与咨询制度
- 70周岁换证三力测试题,老人反应能力驾考模拟测试题
- 美容注射操作规范培训课件
- 新进人员院感培训
- 2024年外包合同模板(通用)(附件版)
- 妇科质控中心半年工作总结
评论
0/150
提交评论