ImageVerifierCode 换一换
格式:DOC , 页数:60 ,大小:1.17MB ,
资源ID:2509843      下载积分:14 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2509843.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(基于QT任意波发生器毕业设计方案论文.doc)为本站上传会员【w****g】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于QT任意波发生器毕业设计方案论文.doc

1、 基于QT任意波形数据生成软件设计 摘 要 随着电子测量技术与计算机技术紧密结合,一种新信号发生器——任意波形发生器应运而生。顾客可以用它生成任意复杂波形,因而具备辽阔应用前景。任意波形发生器是应用越来越广泛一种信号源,而国内在任意波形发生器研制方面相对较晚,推出产品很少,市场占有率几乎为零。因而,对任意波形发生器研制进行进一步研究已成为测试领域一种新课题,同步对于增进虚拟仪器技术发展、应用以及适应自动测试系统组建和完整性规定都具备深远意义。 本设计是基于QT软件来实现任意波数据生成,本系统包具有基本波形模块,谐波模块,手绘波形模块,基本波形合成模块。QT模块限度更高、运营速度快、成

2、本低、开发以便并且所有都是开放源代码。本任意波形发生器不但能产生正弦波、方波、三角波等惯用原则信号,也可以将几种基本波形进行合成,并依照顾客需要生成任意波形,对于当前三种典型任意波形发生器——PC总线插卡式,独立仪器,VXI模块均有重要参照价值。 关 键 词:波形发生器,任意波形,QT,Linux QT-BASED ARBITRARY WAVEFORM GENERATION SOFTWARE DESIGN DATA ABSTRACT In modern electronic measuring instruments,test excitation sign

3、al 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 generator.Relatively late in the development of the domestic aspects of the arbitrary waveform ge

4、nerator,development and application of the product is relatively developed more slowly.Therefore,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 virtua

5、l instrument technology and the automatic test system to adapt to the formation and integrity requirements. In 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

6、low cost,easy to develop and are all open source.So 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 necessary.The arbitrary waveform generator c

7、an 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 value. KEY WORDS:Waveform Generator,Arbitrary Waveform,QT,Linux 目 录 前 言 1 第1章 绪 论 2 §1.1 课题来源、目

8、及意义 2 §1.2任意波形数据生成国内外研究现状 2 §1.3当前重要任意波形数据生成基本方式 4 §1.3.1基于VXI数字信号解决法 4 §1.3.2 软件合成法 4 §1.3.3直接数字频率合成 5 §1.4 本文重要研究内容 6 第2章 系统软件设计 7 §2.1 系统总体设计框图 7 §2.2 基本波形设计 8 §2.3 谐波设计 14 §2.4 手绘波形设计 17 §2.5 基本波形合成设计 20 第3章 使用阐明书 22 §3.1 主操作界面 22 §3.2 参数输入界面 23 §3.2.1 谐波参数输入界面 23 §3.2.2 基本波参数输入

9、界面 24 §3.2.3 手绘波形界面 24 §3.3 操作环节阐明 25 第4章 测试分析报告 26 §4.1 按键事件功能测试 26 §4.2 参数输入功能测试 29 §4.2.1 谐波参数输入测试 29 §4.2.2 基本波形参数输入测试 30 §4.3 手绘波形功能测试 34 第5章 系统测试成果 35 结 论 39 参照文献 40 致 谢 41 前 言 随着电子测量及其她部门对各类信号发生器广泛需求及电子技术迅速发展,促使信号发生器种类增多,性能提高。特别随着70年代微解决器浮现,更促使信号发生

10、器向着自动化、智能化方向发展。任意波发生器在工业生产、科研实验中获得了越来越广泛应用;如在雷达、通讯、仿真、电子、生物、机械、计算机等一系列系统测试中,都要用到任意波发生器;特别是在规定同步输出任意波形场合以及需要产生复杂波形信号场合,任意波发生器具备特别优势。可见,为适应当代电子技术不断发展和市场需求,研究制作高性能任意波数据生成器十分有必要,并且意义重大。 QT是1991年奇趣科技开发一种跨平台C++图形顾客界面应用程序框架。它提供应应用程序开发者建立艺术级图形顾客界面所需所有功能。QT是面向对象框架,使用特殊代码生成扩展以及某些宏,易于扩展,容许组件编程。本设计是基于QT软件来实现任意

11、波数据生成, QT模块限度更高、运营速度快、成本低、开发以便并且所有都是开放源代码。因此不论是基于电子技术发展、市场需求还是基于软件以便快捷,使用QT来实现任意波数据生成是开创性并且还是十分有必要。 第1章 绪 论 §1.1 课题来源、目及意义 波形发生器即普通所说信号发生器是一种常用信号源,广泛应用与电子电路、自动控制和科学实验领域,是一种为电子测量工作提供符合严格技术规定电信号设备。随着当代电子技术飞速发展,当代电子测量工作对波形发生器性能提出了更高规定,不但规定能产生正弦波,方波等原则波,还能依照需要产生任意波形,切操作以便,输出波形质量好

12、输出频率范畴宽,输出频率稳定度、精确度及辨别率高,频率转换速度快且频率转换时输出波形相位持续等。 在科学研究、工程教诲及生产实践中,如工业过程控制、教学实验、机械振动实验、动态分析、材料实验、生物医学等领域,经常需要用到低频信号发生器。而在咱们寻常生活中,以及某些科学研究中,锯齿波和正弦波、矩形波信号是惯用基本测试信号。譬如在示波器、电视机等仪器中,为了使电子按照一定规律运动,以及运用荧光屏显示图像,惯用到锯齿波产生器作为时基电路。信号发生器作为一种通用电子仪器,在生产、科研、测控、通讯等领域都得到了广泛应用。但市场上能看到仪器在频率精度、宽带、波形种类及控制方面都已不能满足许多方面需求。

13、加之各类功能半导体集成芯片迅速生产,都使咱们研制一种低功耗、宽频带,能产生各种波形并具备程控等低频信号发生器成为也许。 §1.2任意波形数据生成国内外研究现状 任意波形发生器是随着众多领域对于复杂、可由顾客定义测试信号波形日益增长需要,以及不断进步计算机技术和微电子技术在测量仪器中应用而形成和发展起来一类新测试仪器。作为当代最新一类信号源,引起了世界各国广泛注重,纷纷投入人力物力进行研究制作。重要现状如下: 第一,研究制作任意波形发生器重要有独立台式仪器和合用于个人计算机插卡以及VXI模块。 第二,重要采用了直接数字频率合成技术(Direct Digital frequency

14、Synthesis,简称DDS) ,研究制作基本上均采用了软件结合硬件方式。虚拟仪器开发编程语言LabWindows/CVI、汇编语言、Visual Basic、Visual C、EDA开发软件及硬件描述语言等软件和FPGA、CPLD、DSP芯片及高速存储器、高速D/A转化器、单片机等硬件被广泛应用。 第三,大量使用各种高速器件提高时钟频率,使任意波形发生器输出波形频率不断提高,能应用于越来越广泛领域。 第四,使用各种计算机语言开发任意波形发生器波形编辑软件和操作软件面板,使任意波形发生器操作控制或任意波形数据生成变得更加以便和容易,容许徒手从计算机显示屏上输入任意波形。上位机于任意波形发

15、生器硬件模块广泛使用RS-232/485、GPIB等总线进行数据通信,近年,USB接口也逐渐被广泛研究和应用。 第五,与VXI资源结合。由于VXI总线逐渐成熟和对测量仪器高规定,在诸多领域需要使用VXI系统测量和产生复杂波形,VXI系统资源提供了明显优越性。但由于开发VXI模块周期长,并且需要专门VXI机箱配套使用,使得VXI任意波形发生器模块仅限于航空、军事及国防等大型领域,在民用方面,VXI模块远远不如台式仪器更为以便[4]。 就任意波形发生器技术而言,当前引领技术潮流仍是国外几大仪器公司,如美国国家仪器有限公司NI,美国安捷伦(Agilent)公司,美国泰克(Tektronix)公司

16、从台式机到插卡式模板均有不同档次产品。泰克公司任意波形发生器产品在波形合成上采用了老式技术与DDS技术相结合方式,使输出波形质量很高。Agilent公司是单纯采用DDS技术来合成波形,这样在电路构造上要简朴得多,性价比很高。代表性产品有NI发布NI5412,Agilent 33220A函数/任意波形发生器,美国泰克公司研制AFG3000系列任意波形发生器等,这些波形发生器都具备易于操作、高频率辨别率和宽频率范畴等特点。这些产品代表了任意波形发生器发展趋势:即更高取样率,更高分表率,更大存储量和更丰富人机接口界面[6]。 当前国内已开始研制任意波形发生器,并获得了可喜成果。但总来说,国内任意

17、波形发生器还没有形成真正产业。就当前国内成熟产品来看,多为某些PC仪器插卡,独立仪器和VXI系统模块很少,并且国内当前任意波形发生器种类和性能都与国外同类产品存在较大差距,因而加快对此类产品研制显得迫在眉睫。 任意波形发生器作为信号发生器家族一种新成员,技术发展十分迅速,市场份额也日渐扩大,其状况和地位有如示波器家族中数字存储示波器,以美国TEK公司为代表国际各大电子测量仪器公司,其任意波形发生器产品已经纷纷形成系列,开始逐渐取代老式函数发生器,可以说任意波形发生器已经成为信号源发展方向。 §1.3当前重要任意波形数据生成基本方式 §1.3.1基于VXI数字信号解决法 VXI总线以其开

18、发系统构造、模块化设计、紧凑机械构造、良好电磁兼容性等一系列长处,在众多军事、工业、商业等领域受到日益广泛应用。基于VXI总线任意波形生成将实现仪器高速、模块化,可以通过PC机调用任意波形生成软件面板来对仪器进行控制,具备测试精度高、使用空间小等特点。作为当代一类新型信号源,在设计上它不但保存了老式台式任意波形发生器所具备各种功能,并且较老式波形发生器产生波形种类多、频率高,可由计算机直接控制。作为一种基于VXI总线卡式仪器,它可以很以便地与VXI总线测试系统集成,很大限度发挥计算机和微电子技术在当今测试领域中应用,具备一定应用和发展前景。 基于VXI总线任意波形发生器是数字式信号发生器,数

19、字信号解决法采用数字信号解决器(DSP)实现任意波形合成。用DSP求解一种数字递推关系式产生出波形离散序列,输出给D/A转换器,可以获得较高频率波形信号。这种办法需要专用DSP开发系统,并且存在输出频率不持续可调和控制不便缺陷[7]。 §1.3.2 软件合成法 软件合成法是由计算机软件,依照幅值、频率、相位计算出产生高精度波形所需数据表,计算机将离散序列送经D/A转化器和滤波器输出。这种办法是长处是电路简朴,缺陷是不能产生高频率信号。导致信号频率低因素是数据读取速度受计算机指令执行时间限制,仅靠提高存储器自身存取速度和D/A转换器速度不也许解决信号带宽问题。 §1.3.3直接数字频率合成

20、 DDS是从相位概念出发直接合成所需要波形一种新频率合成技术。DDS是把一系列数字量信号通过D/A转换形成模仿信号合成技术。重要是运用高速存储器作查询表,然后通过高速D/A转换器产生已经用数字形式存入正弦波(或其她任意波形)[14]。一种典型DDS系统应涉及:参照时钟,正弦查找表,相位累加器,D/A转换电路和滤波器等构成[5],如图1-1所示。 相位 寄存器 正弦 查找表 D/A 转换器 滤 波器 频率 控制器 参照 时钟 指定频 率正弦波 图1-1 典型DDS系统 随着数字信号解决理论和办法引入到频率合成领域中,任意波形发生器使用直接数字合成方式可以以便

21、产生各种需求波形。将图1-1中正弦查找表用波形存储器来代替[10],得到图形如图1-2所示。 每个波形存储器中存储一种周期任意波形信号,周期由若干波形点构成,而波形点和相位一一相应,因此又相称于一种相位/振幅变换器,振幅信息通过D/A转换器生成阶梯波形,通过滤波得到需要波形。 指定频 率正弦波 滤 波器 频率 控制器 参照 时钟 D/A 转换器 波形 存储器 相位 寄存器 指定频 率正弦波 图1-2 任意波形DDS系统 §1.4 本文重要研究内容 本设计是基于QT软件来实现任意波数据生成,属于直接数字信号合成。QT模块限度更高、运营速度快、成本低、开发以

22、便并且所有都是开放源代码。QT还是面向对象,具备优良跨平台性,以及大量开发文档等,这些优越性使咱们在开发任意波软件时具备更多优势。QT界面设计十分强大,使软件更加符合人们规定,更加人性化。总之基于QT软件开发任意波形生成对于减少成本、提高系统可靠性、灵活性、适应性,缩短开发周期,具备重大实际意义。 本设计重要工作如下: 1、分析任意波形数据生成发展、分类、及各种任意波形生成办法。 2、进行软件某些设计及测试:依照系统要实现功能画出本系统软件流程图,编写C++源代码,并进行编译、修改直到达满意成果。 3、系统模块调试:软件整体设计结束后,对各个模块就行测试、修改直达到满意成果。 4、对

23、设计系统进行测试,获得测试波形,并且进行波形分析。 第2章 系统软件设计 §2.1 系统总体设计框图 本系统是基于QT进行纯软件开发设计,本系统包具有四大模块,分别为:基本波形生成模块,谐波生成模块,手绘波形生成模块,基本波合成波基本波形生成 谐波生成 手绘波形 基本波合成 主 控 制 器 形模块。本系统总体设计框图如图2-1所示。 图2-1 系统总体设计框图 基本波形共有18种原则波形分别为:正弦波、余弦波、正切波、余切波、升指数、降指数、正半波、负半波、正全波、负全波、噪声、抽样函数、高斯函数、直流、方波、三角波、锯

24、齿波、负锯齿。本设计谐波是基于正弦波实现。手绘波形是建立一种窗口,在这个窗口里顾客可以用鼠标点击移动画线,依照顾客自己规定,可以画出顾客想要波形。基本波形合成是基于基本波形基本上,在任意波形任意相位任意点处,与任意波形连接,也可以是在某些位置处和其她波形合成,形成一种新波形。 本系统流程图如图2-2所示。 初始化 有键按下 N Y 谐波 基本波形 手绘波形 参数选取 参数选取 参数选取 显示输出 继续添加波形 N Y 开始 结束 图2-2 系统流程图 §2.2 基本波形设计 在基本波形设计前要先进行QT窗口建立,设计主操作界面

25、使用QT进行窗口程序设计普通流程如图2-3所示。 对于创立一种新QT应用程序来说,QT使用一种project workspace来存储该项目所需所有文献,其中project workspace就是一种文献夹,与项目有关文献存储在该文献夹下。而一种项目又由一定数量文献构成,如果要生成一种可执行程序,文献必要涉及cpp文献和头文献,而这些文献普通都存储在同一工作区文献夹中。咱们在New选取一种项目类型,创立一种新GUI application一方面从菜单单栏中选取File项打开如图2-4和图2-5所示。 创立工程目录 新建工程 创立图形界面 编写代码 生成main.c 依照工程文献

26、生成.wvt文献 编译并运营 图2-3 QT窗口设计流程 在图2-4所示New对话框中选C++,选取子项GUI Application项目类型。 当开始一种新项目里一方面想好三项内容。第一项内容是项目类型是什么;第二项内容是项目名称是什么;第三项内容是与否需要创立界面。图2-6项目与否需要创立界面(需要话,创立界面上打上勾)。 图2-4 File子菜单 图2-5 New对话框 图2-6 含一种活动工作区IDE窗口 设计主操作界面:界面直接体现一种应用程序功能。QT提供应应用程序开发者建立艺术级图形顾客界面所需所用功能。主界面重要涉及对话框,工具栏和菜单栏,它们可

27、以将应用程序所有功能与界面中控件或菜单命令联系起来。主界面窗口大小为600*500,包括一种tableView和九个按键。TableView是为了显示当前生成波形基本信息。如图2-7。 信号和槽机制是QT 核心机制,要精通 QT 编程就必要对信号和槽有所理解。信号和槽是一种高档接口,应用于对象之间通信,它是 QT 核心特性,也是 QT 区别于其他工具包重要地方。 图中九个按键分别为添加波形、添加谐波、手绘、删除、保存、关于、清空、打开、退出。这九个按键槽函数分别为:add_bx_signal、add_signal、tuyaban、del_signal、save_file、about_sof

28、tware、clear_signal、open_file、Quit。 咱们在设立槽函数时,要先在头文献声明槽函数[13],头文献中有三个区域,分别为:public slots、protected slots和private slots。 图2-7 主界面运营界面 public slots:在这个区内声明槽意味着任何对象都可将信号与之相连接。这对于组件编程非常有用,你可以创立彼此互不理解对象,将它们信号与槽进行连接以便信息可以对的传递。 protected slots:在这个区内声明槽意味着当前类及其子类可以将信号与之相连接。这合用于那些槽,它们是类实现一某些,但是其界面接口却面向外

29、部。 private slots:在这个区内声明槽意味着只有类自己可以将信号与之相连接。这合用于联系非常紧密类。咱们以上九个槽函数都属于这一类型。 以上是创立类以及设立主窗口基本操作,基本波形、谐波、手绘及基本波合成都是在此基本上来进行研发。 基本波形一方面是在系统mix类中,它程序流程图如图2-8所示。 数据解决 输出数据 继续添加波形 Y N 输入参数 开始 结束 图2-8 基本波形程序流程图 共模块共包具有18种基本波形,它设计界面如图2-9。 图2-9 基本波形设计界面 此模块包具有波形、幅值、相位、起始点、终结点、拟定及取消。 波形槽函数为co

30、mboBox,包具有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 /= 32768.0; temp *= co

31、unt; temp *= 3.; temp = sin(temp + phase / 360* 2 * 3.); temp += 1.0; temp /= 2.0; temp *= (16383.0 * amplitude / 100); *(p + i) = temp + *(p + i);} 其她尚有余弦波cos_generate_wave,正切波tan_generate_wave,余切波cot_generate_wave,

32、直流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_wav

33、e,负锯齿fusawtooth_generate_wave。这些函数定义都在头文献public slots中,函数程序与正弦波函数程序相类似。 §2.3 谐波设计 谐波在设计中一方面要创立属于谐波类,创立类过程见2.2基本波形类创立。本次设计谐波属于dialog类中,它程序流程图如图2-10所示。 输入参数 生成基波 计算 显示输出 继续添加谐波 Y 开始 结束 N 图2-10 谐波程序流程图 添加谐波设计界面如图2-11。 图2-11添加谐波设计界面 此界面包具有谐波次数、幅度比例、信

34、号相位、拟定及取消。谐波次数能选取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_data[32768]; //32768个数组 generate_wave(

35、wave_data,2,100.0,0);//产生基波 for(int i = 0; i < model->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

36、temp_data,wave_count,wave_amplitude,wave_phase); for(int k = 0; k < 32768; k ++)wave_data[k] += wave_temp_data[k]; } wave_data_process(wave_data,32768); show_wave(wave_data,32768);//显示图形 return true; 如图2-12选取谐波次数50次,幅值100,相位0。 图2-12 谐波参数选取界面 生成图形如图2-13。 图2-13 谐波

37、生成图形 §2.4 手绘波形设计 手绘波形在设计中一方面要创立属于手绘类,创立类过程见2.2基本波形类创立。手绘波形属于tuyaban这一类,此模块程序流程图如图2-14所示。 手绘界面设立窗口大小为600*500。设计手绘波形需要三个事件,鼠标点击事件、移动鼠标事件和松开鼠标事件,分别为paintEvent、mousePressEvent和mouseReleaseEvent。当点击鼠标时记录一种坐标点(横坐标和纵坐标),移动鼠标,松开鼠标时再记录一种坐标点。然后判断两点间与否有其她波形,覆盖原有波形,显示新波形。 鼠标点击 判断两点中与否有其她数值 Y 覆盖原数据 N 输出

38、波形 鼠标松开 移动 开始 结束 图2-14 手绘波形程序流程图 手绘波形编程难点在于坐标解决。 int i;//定义变量i double k,b,temp;//定义变量k,b,temp int start,end; k = 0; b = 0; //起始位置x值不不大于终结位置x值数据解决 if(endPoint.x() > lastPoint.x()){ temp = ((500 - endPoint.y()) * 32 - (500 - lastPoint.y()) * 32); te

39、mp /= (endPoint.x() * 64 - lastPoint.x() * 64); k = temp; b = (500 - endPoint.y()) * 32 - k * endPoint.x() * 64; if(endPoint.x() > 500){ end = 500 * 64; }else{ end = endPoint.x() * 64; } if(lastPoint.x() * 64 < 0){

40、 start = 0; }else{ start = lastPoint.x() * 64; } for(i = start;i < end;i++) { random_wave_data[i] = b + k * i ; } }else{ temp = ((500 - lastPoint.y()) * 32 - (500 - endPoint.y()) * 32); temp /= (last

41、Point.x() * 64 - endPoint.x() * 64); k = temp; b = (500 - endPoint.y()) * 32 - k * endPoint.x() * 64; if(lastPoint.x() > 500){ end = 500 * 64; }else{ end = lastPoint.x() * 64; } if(endPoint.x() < 0){ start =

42、 0; }else{ start = endPoint.x() * 64; } for(i = start;i < end;i++) { random_wave_data[i] = b + k * i ; } } QPainter pp(&pix); // 依照鼠标指针先后两个位置就行绘制直线 pp.fillRect(1,1,500,400,Qt::white); for(i = 0; i < 499

43、i++) pp.drawLine(QPointF(i,500 - (random_wave_data[i * 64] / 32)),QPointF((i + 1),500 - (random_wave_data[(i + 1) * 64] / 32))); // 让前一种坐标值等于后一种坐标值,这样就能实现画出持续 QPainter painter(this); painter.drawPixmap(0,0,pix); §2.5 基本波形合成设计 手绘波形属于mix这一类,此模块程序流程图如图2-15所示。 基本波形合成是基于基本波形生成,

44、本设计在设计基本波形合成时是保存基本波数据,当再一次添加基本波形时,将既有数据与保存数据进行叠加来进行合成。 基本波形合成运用界面是和添加基本波形界面如图2-9相似。 输入参数 开始 数据解决 输出数据 数据保存 Y 继续添加波形 N 结束 图2-15 基本波合成程序流程图 第3章 使用阐明书 §3.1 主操作界面 该界面属于重要操作控制界面。 功能:实现添加基本波形、添加谐波、手

45、绘波形、保存等功能。如图3-1所示。 如下为区域和按钮功能简介。 图3-1主操作界面 区域①:显示当前波形参数。 区域②:波形显示区。 按钮③:点击可实现添加基本波形以及合成波形功能。 按钮④:点击可实现添加谐波功能。 按钮⑤:点击可实现手绘任意波形功能。 按钮⑥:删除当前选中波形参数。 按钮⑦:保存当前波形为.wvt文献格式。 按钮⑧:点击能查询该软件有关信息。 按钮⑨:点击可以清空当前所有波形数据。 按钮⑩:点击打开.wvt格式文献。 按钮⑪:点击退出软件。 §3.2 参数输入界面 §3.2.1 谐波参数输入界面 该界面属于设定谐波参数界面。 功能:设

46、定谐波参数。如图3-2。 如下为详细区域和按钮功能简介。 图3-2 添加谐波界面 区域①:选取谐波次数,范畴为2-100。 区域②:选取谐波幅值参数,范畴为0-100。 区域③:选取谐波信号相位,范畴为0-360。 按钮④:点击进入主操作界面显示谐波波形。 按钮⑤:点击返回到主操作界面。 §3.2.2 基本波参数输入界面 该界面属于设定基本波形参数界面。 功能:设定基本波形参数、实现基本波合成。如图3-3。 如下为详细区域和按钮功能简介。 图3-3 设定基本波形参数界面 区域①:选取波形类型,要进行不同波形合成,就继续添加波形。 区域②:设定波形幅值,范畴为

47、0-100。 区域③:设定波形相位,范畴为0-360。 区域④:设定波形起始位置,范畴为0-32768,半个周期为16384,四分之一周期为8192,四分之三周期为24576。 区域⑤:设定波形终结位置,范畴为0-32768。 按键⑥:点击转入主界面,显示波形。 按键⑦:点击返回到主界面。 §3.2.3 手绘波形界面 该界面属于手绘波形界面。 功能:实现手绘任意波功能。如图3-4。 如下为详细区域和按钮功能简介。 区域①:手绘区。 按键②:点击将手绘区波形复制到主界面波形显示区。 按键③:点击返回到主操作界面。 图3-4 手绘波形界面 §3.3 操作环节阐明

48、 本系统进入主操作界面后,可以依照需要点击主操作界面按键③,进入到添加波形界面或点击主操作界面按键④,进入添加谐波界面或点击主操作界面⑤,进入到手绘波形界面。依照自己需求,选取自己参数、类型或者画出自己波形图,点击拟定在主操作界面区域②显示出生成波形。可以继续添加波形,合成新波形,也可以点击主操作界面按键⑦保存所生成波形。点击主操作界面按键⑪退出系统。 第4章 测试分析报告 §4.1 按键事件功能测试 主操作界面按键功能测试。 点击主操作界面按键③添加波形按键,弹出图4-1所示对话框。测试成果正常。 图4-1 基本波形参数输入界面 点击主操作界

49、面按键④添加谐波按键,弹出图4-2所示对话框。测试成果正常。 图4-2 谐波参数输入界面 点击主操作界面按键⑤手绘按键,弹出图4-3所示对话框,测试成果正常。 点击主操作界面按键⑥删除按键,如图4-4所示。测试成果正常。 点击主操作界面按键⑦保存按键,弹出保存界面如图4-5。测试成果正常。 点击主操作界面按键⑥关于按键,弹出简介该软件对话框如图4-6。测试成果正常。 图4-3 手绘操作界面 图4-4 波形合成 点击主操作界面按键⑦清空按键,如图4-7所示。测试成果正常。 点击主操作界面按键⑧打开按键,弹出打开文献对话框,如图4-8。测试成果正常。 点击主操作界

50、面⑨退出按键,直接退出软件。测试成果正常。 图4-5 保存界面 图4-6 关于软件界面 图4-7 清空功能 图4-8 打开界面 §4.2 参数输入功能测试 §4.2.1 谐波参数输入测试 在谐波参数输入界面区域①谐波次数选取50次,区域②幅值比例输入最大值100,区域③相位输入0,点击按键④拟定。输出波形如图4-9。测试成果正常。 §4.2.2 基本波形参数输入测试 一方面测试基本波形与否显示正常。在基本

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服