毕业设计低频信号分析仪软件设计与实现.doc

上传人:laozhun 文档编号:4143200 上传时间:2023-04-07 格式:DOC 页数:56 大小:1.46MB
返回 下载 相关 举报
毕业设计低频信号分析仪软件设计与实现.doc_第1页
第1页 / 共56页
毕业设计低频信号分析仪软件设计与实现.doc_第2页
第2页 / 共56页
毕业设计低频信号分析仪软件设计与实现.doc_第3页
第3页 / 共56页
毕业设计低频信号分析仪软件设计与实现.doc_第4页
第4页 / 共56页
毕业设计低频信号分析仪软件设计与实现.doc_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《毕业设计低频信号分析仪软件设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计低频信号分析仪软件设计与实现.doc(56页珍藏版)》请在三一办公上搜索。

1、低频信号分析仪软件设计与实现摘要:随着微电子技术,计算机技术,网络通讯技术和软件技术的高速发展,在实验室和工业应用中,传统仪器开始向计算机化的方向发展。通过串口将信号经过传输和采样到电脑里面由设计的软件实现对信号时域和频域的分析和计算是会给教学和科研带来很多意想不到的方便。本次设计使用Visual C+ 6.0完成对串口模块的设计,使其能够实现信号的接收。然后通过MATLAB生成信号,通过对生成的信号进行傅立叶变换,由傅氏变换可以得到幅值和相角,然后通过计算得到的特征值,将信号的频谱,时间域波形等显示出来。由波形图和频谱图分析得知信号的周期,峰峰值,频率等,从而实现对信号进行分析和计算。虽然本

2、次毕业设计虽然能够基本完成设计要求,但是还有很多地方需要改进。关键字: 串行通信;信号采样;傅立叶变换;信号分析Low Frequency Signal Analyzer Software Design and Implementation Abstract: With the micro-electronics technology, computer technology, network communication technology and the rapid development of software technology in the laboratory and indus

3、trial applications, the traditional start to the computerized equipment direction. The signal through the serial port to a computer through transmission and sampling by the design of the software inside the signal in time domain and frequency domain of analysis and computation is teaching and resear

4、ch will bring a lot of unexpected convenience. This design using Visual C + + 6.0 serial port module to complete the design, so that it can achieve signal reception. Then MATLAB generated signal, the signal generated by the Fourier transform, Fourier transform can be obtained from the amplitude and

5、phase angle, and then calculated the eigenvalues of the signal spectrum, time domain waveform display. By the waveform and spectrum analysis showed that the signal cycle, peak to peak, frequency, etc., in order to achieve the signal analysis and calculation. While this can basically complete the gra

6、duation project design requirements though, but there are many areas for improvement. Keywords: serial communication; signal sampling; Fourier transform; signal analysis 目录摘要IABSTRACTII目录第1章 前言11.1本论文的研究背景和意义11.2论文研究内容11.3论文研究重点2第2章信号的输入32.1串口通信模块32.1.1基本原理32.2 串口通信和RS-23252.2.1 RS-232通信协议52.2.2 RS-

7、232串行接口标准62.2.3 RS-232接口定义62.2.4串口信号线的接法72.3 Visual C+ 及MFC简介82.4 实现串行通信102.4.1在当前工程添加MSCOMM控件102.4.2 初始化串口:设置MSComm控件的属性122.4.3数据接收函数OnComm()132.4.4 发送数据152.4.5 程序调试162.5 本章小节17第3章 信号的分析和计算183.1信号分析的原理及意义183.2 信号的分类与预处理193.3信号的采样223.3.1 奈奎斯特采样定理223.4信号的时域分析243.5信号的频域分析243.5.1 信号的频谱分析243.5.2 DFT及FFT

8、算法描述253.5.3 FFT实现频谱分析263.6本章小结27第4章 程序的调试284.1信号的时域波形284.2 信号的功率谱304.3信号的频谱图334.4本章小结35结论36致谢37参考文献38附录39第1章 前言1.1本论文的研究背景和意义利用计算机软件在计算机上实现低频信号分析(Low-frequency signal analysis)是最近几十年内迅速发展起来的一种信号分析技术。在很多的科研项目中,信号分析仪是一种重要的工具。传统的仪器加工工艺复杂,生产技术要求搞,价格昂贵,功能有限,难以对分析结果进行二次处理。因此,设计一种操作简便,功能可以自己定义,成本比较低的信号分析仪会

9、给教学和科研带来很多意想不到的方便。随着微电子技术,计算机技术,网络通讯技术和软件技术的告诉发展,传统仪器开始向计算机化的方向发展。利用软件在微机屏幕上构成虚拟仪器前面板,在硬件的支持下对信号进行采样,既可以进行实时信号分析,显示,又可以在离线条件下对存储的采集结果进行各种后处理。在电子技术的各领域中,由于数字信号处理技术的广泛使用和大规模集成电路的高速发展,正日益广泛的采用数字信号和数字系统。数字式信号分析仪是以数字滤波器或者快速傅立叶变换,即FFT为基础构成的。特别是FFT算法的问世,大大改变了频谱分析技术。数字式信号分析仪器由于受到数字系统工作速度的限制。另一方面,数字滤波和FFT技术也

10、已渗透到随即频率信号分析仪当中去。例如采用FFT算法对低频部分进行处理,从而使得仪器的控制另加灵活,动态范围,精确度也大为提高。在现代的工业设计生产当中,信号分析仪对生产活动提供了非常大的帮助,可以精确的测量待测数据信号的时域和频域的各个方面的信息。而且由于最年来微电工程技术的技术更新,使得信号分析仪的精确度更高,测量更方便。1.2 论文研究内容1信号接收模块的设计。对低频信号进行分析和计算,首先要完成对低频信号的采集,将经过串口的数据接入计算机,其中就会牵涉到对串口的设置,比如:采样频率,波特率,奇偶校验等,还有就是RS-232串口的接线方法,传输距离。对信号进行成功的传输和采样以后才能够使

11、得接下来的信号分析模块顺利进行。2. 信号分析模块设计。将采接入计算机的信号利用快速傅立叶变换进行时域和频域的计算,使信号的时域波形和频谱能够直观地显示出来,从而达到对信号特征的分析。显示图形信号的分析串口通信完成对信号的采集低频信号的采集(MATLAB产生信号)串口通信进行仿真图1-1 低频信号分析仪软件设计设计框图1.3 论文研究重点 通过MATLAB发生出低频信号,在满足奈奎斯特定理的情况下完成对信号的采集,然后对采集到的信号进行傅立叶变换。在傅立叶变换中当N太大时,直接进行DFT运算,运算量会很大,这就对计算机的性能提出了很高的要求,但是利用周期性可以大大的降低运算量。这时就可以用FF

12、T算法来实现对信号的快速傅立叶变换。由离散傅立叶变换(DFT)可知,由于X(f)是复函数,所以为的振振幅,称 为的相位谱。第二章 信号的输入2.1串口通信模块在实验室和工业应用中,串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛。依据不同的条件实现对串口的灵活编程控制是我们所需要的。 在Windows环境(Windows NT、Win98、Windows2000)下,串口是系统资源的一部分。 应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。2.1.1基本原理大多数计算机包含两个基于RS2

13、32的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从 CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米

14、;而对于串口而言,长度可达1200米。 典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz

15、。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。 b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0127(7位)。扩展的ASCII码是0255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通

16、信的情况。 c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。 d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑

17、高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步 图2-1 串口通信流程图2.2串口通信和RS-2322.2.1 RS-232通信协议 RS-232是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。为改进RS-232通信距离短、速率低

18、的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。由于EIA提出的建议标准都是以“RS”作为前缀,所以在通讯工业领域,仍然习惯将上述标

19、准以RS作前缀称谓。 RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。因此在视频界的应用,许多厂家都建立了一套高层通信协议,或公开或厂家独家使用。如录像机厂家中的Sony与松下对录像机的RS-422控制协议是有差异的,视频服务器上的控制协议则更多了,如Louth、Odetis协议是公开的,而ProLINK则是基于Profile上的。2.2.2 RS-232串行接口标准目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-2

20、32采取不平衡传输方式,即所谓单端通讯。 收、发端的数据信号是相对于信号地,如从DTE设备发出的数据在使用DB25连接器时是2脚相对7脚(信号地)的电平,DB25各引脚定义参见图1。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5+15V,负电平在-5-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3+12V与-3-12V。 由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20kb

21、/s。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为37k。所以RS-232适合本地设备之间的通信2.2.3 RS232接口定义RS-232接口又称之为RS-232口、串口、异步口或一个COM(通信)口。RS-232是其最明确的名称。 在计算机世界中,大量的接口是串口或异步口,但并不一定符合RS-232标准,但我们也通常认为它是RS-232口。 严格地讲RS-232接口是DTE(数据终端设备)和DCE(数据通信设备)之间的一个接口,DTE包括计算机、终端、串口打印机等设备。DCE通常只有调制解调器(MODEM)和某些交换机COM口是DCE。标准指出DTE应该拥有一个

22、插头(针输出),DCE拥有一个插座(孔输出)。 图2-2 RS232接口引脚定义图2.2.4串口信号线的接法一个完整的RS-232C接口有22根线,采用标准的25芯插头座(或者9芯插头座)。25芯和9芯的主要信号线相同。以下的介绍是以25芯的RS-232C为例。 (1).主要信号线定义: 2脚:发送数据TXD;3脚:接收数据RXD;4脚:请求发送RTS;5脚:清除发送CTS;6脚:数据设备就绪DSR;20脚:数据终端就绪DTR; 8脚:数据载波检测DCD;1脚:保护地;7脚:信号地。(2).电气特性: 数据传输速率最大可到20K bps,最大距离仅15m. 微软的MSDN 6.0,其Windo

23、ws API中关于串行通讯设备(不一定都是串口RS-232C或RS-422或RS-449)速率的设置,最大可支持到RS_256000,即256K bps。(3).接口的典型应用: 大多数计算机应用系统与智能单元之间只需使用3到5根信号线即可工作。这时,除了TXD、RXD以外,还需使用RTS、CTS、DCD、DTR、DSR等信号线。(当然,在程序中也需要对相应的信号线进行设置。) 图2-3 RS232-C信号线接法2.3 Visual C+ 及MFC简介MFC库和Visual C+提供了可以用于创建各种应用程序的环境。 Visual C+可以帮助您开发满足各种商业需求的应用程序。它提供了各种功能

24、和工具。Visual C+特色包括:(1).本机COM支持可视化的COM编辑,与位置和语言无关的COM浏览,MFC模板,以及编译器支持简化了基于组件的开发。(2).Visual Schema Disigner 通过从桌面远程分析Microsoft SQL Server数据库的模式(Schema),提高了数据库应用程序开发的效率。(3).Microsoft Transaction Server Microsoft Transaction Server帮助您建立高性能的基于事务的应用程序。(4).活动文档服务器支持Visual C+提供了创建活动文档服务器的向导和可编程支持,这些活动文档服务器可以

25、在任何活动文档服务器中调用,如在Microsoft Office97和Microsoft Internet Explorer 4.0中。Visual C+的开发环境包括:(1).帮助管理您的工程的工程工作区。(2).编译工程的工具。(3).设计用户界面和创建资源的编译器。(4).共享的开发组件,包括一个优化的编译器,一个增量链接器和一个集成的调试器。Visual C+有三个版本: 标准版,除了代码优化,性能分析器(Profiler)和与MFC库的静态链接外,标准版包含了专业版的所有其它功能。 专业版,使您能够开发和发布商用等级的软件产品。其功能包括VFC,Active Template Lib

26、rary(ATL,活动模板库),COM和OLE DB。企业版提供了建立和验证企业级COM应用程序的工具和组件。该版本中包含专业版中的所有功能,另外还包括Microsoft Transaction Server,SQL编辑器和调试器,Microsoft Visual SourceSafe,以及对ActiveX对象(ADO)和远程数据对象(RDO)的支持。MFC库的功能:MFC库是基于C+类的一个集合和一个应用程序框架,主要用于创建Microsoft Windows应用程序。这个类的集合将C+语言扩展为包括创建基于Windows的应用程序所需要的大部分基本结构元素。应用程序框架则定义了应用程序的结

27、构,并为应用程序处理许多常规任务。 MFC库是基于Win32应用程序编程接口(API)之上而建立的。该API是操作系统为应用程序提供的一系列函数。MFC展示了代表Windows操作系统的通用对象的基本类。MFC并不封装或包括整个API.它只包括主要的结构组件和常用组件。由于MFC是用C+编写的,因此,您可以很容易地使用Win32 API对操作系统进行本机调用。使用MFC的益处: MFC库使您能够利用专业的Windows开发人员的成果。MFC缩短了开发时间,使代码更简洁,在不降低编程自由度和灵活性的前提下提供支持,并提供了对难于编程的用户界面元素和技术(如ActiveX和Internet编程)的

28、方便访问。MFC通过OLEDB模板和ADO简化数据库编程,并通过Windows Socket简化网络编程。MFC使对诸如属性表,打印预览和浮动工具栏等功能的编程变得十分简单。在开发全功能的Windows应用程序,数据库应用程序,ActiveX控件和组件以及Internet应用程序时,MFC可提供许多优点,例如: (1).提供一个应用程序框架,用户可在其上建立Windows应用程序。(2).兼容以前版本的可重用的C+类。 (3).行业中最大的可重用的C+源代码库。 (4).与Visual C+集成。文档/视图体系结构:MFC提供了多种类来满足范围广泛的编程需求。使用MFC编程的第一步是熟悉这些类

29、,并学习它们在MFC层次结构中的相互关系。某些类可直接使用;其余的类可作为创建其它类的基类。学习MFC类时,将它们按类别组织是很有帮助的。一些重要的MFC类的类别包括:(1).应用程序体系结构类。(2).用户界面类。(3).数据库类。(4).Internet类。MFC编程依赖消息的传递推动整个程序的运行。2.4 实现串行通信2.4.1在当前工程添加MSCOMM控件 Visual C+为我们提供了一种好用的ActiveX控件Microsoft Communications Control(即MSComm)来支持应用程序对串口的访问,在应用程序中插入MSComm控件后就可以较为方便地实现对通过计算

30、机串口收发数据。打开Visual C+ 6.0,建立一个基于对话框的MFC应用程序:ScommTest。然后在主对话框中添加控件,最后效果如图2.4.1所示。 图2-4 对话框最终状态然后用ClassWizard为相应控件添加变量,控件的属性设置情况如下表1-2-1所示。控件控件ID Caption需要添加的变量及变量类型静态文本IDC_STATIC接收显示静态文本IDC_STATIC发送输入编辑框IDC_EDIT_RXDATAm_strEditRXData Value CString编辑框IDC_EDIT_TXDATAm_strEditTXData Value CString按钮IDC_BU

31、TTON_MANUALSEND发送MSCommIDC_MSCOMM1m_ctrlComm control图2-6 控件及其属性设置情况要使用ActiveX控件MSComm,程序员必须将其添加入工程,其方法是:(1)单击主菜单project的子菜单Add To project的Components and Controls选项;图2-7 添加控件、控件对话框(2)在弹出的Components and Controls Gallery对话框中选择Registered ActiveX Controls文件夹中的Microsoft Communications Control,version 6.0选

32、项。如图2.4.3 图2-8 MSComm控件选择对话框单击其中的Insert按钮,MSComm控件就被增加到工程中了。与此同时,类CMSComm的相关文件mscomm.h和mscomm.cpp也一并被加入Project的Header Files和Source Files中。图2-9 添加CMSComm类的确认对话框2.4.2 初始化串口:设置MSComm控件的属性打开ClassWizard-Member Variables页,如图2.4.5所示,选中控件IDC_MSCOMM1,再单击“Add Varialbe.”按钮,在CSCommTestDlg类中为控件IDC_MSCOMM1添加CMSCo

33、mm控制变量m_ctrlComm。 图2-10 为控件IDC_MSCOMM1添加控制变量 图2-11 MSComm控件出现在资源中通过以上操作,ClassWizard自动在ScommTestdlg,h中加入了#include”mscomm.h”语句。/AFX_INCLUDES()#include mscomm.h/AFX_INCLUDES然后在CSCommTestdlg:OnInitDialog()函数中写入对串口的初始化语句,串口初始化语句由IDC_MASCOMM1的CMSComm控制变量m_ctrlComm来设置串口控件属性。其中包括了选择串口,输入代码如下:BOOL CSCommTest

34、Dlg:OnInitDialog()CDialog:OnInitDialog();/ TODO: Add extra initialization herem_ctrlComm.SetCommPort(2); /选择COM1m_ctrlComm.SetInputMode(1); /输入方式为二进制方式m_ctrlComm.SetInBufferSize(1024); /设置输入缓冲区大小m_ctrlComm.SetOutBufferSize(512); /设置输出缓冲区大小m_ctrlComm.SetSettings(9600,n,8,1); /波特率9600,无校验,8个数据位,1个停止位

35、if(!m_ctrlComm.GetPortOpen()m_ctrlComm.SetPortOpen(TRUE);/打开串口/参数1表示每当串口接收缓冲区中有多于/或等于1个字符时将引发一个接收数据的OnComm事件m_ctrlComm.SetRThreshold(1); m_ctrlComm.SetInputLen(0); /设置当前接收区数据长度为0m_ctrlComm.GetInput(); /先预读缓冲区以清除残留数据return TRUE; / return TRUE unless you set the focus to a control2.4.3数据接收函数OnComm() M

36、SComm控件一般用时间驱动方式从串口接受数据,也就是消息处理,当串口有事件发生时,程序调用消息函数来处理数据。打开ClassWizard-Member Variables页,如图2.4.7所示,打开ClassWizard-Message Maps,在Class Name中选择类CSCommTestdlg,再在ObjectIDs中选择IDC_MSCOMM1,然后在Message中双击消息OnComm(或单击“Add Function”按钮),在弹出的对话框中将函数名改为OnComm(好记而已),单击“OK”,就加入了串口时间的消息处理函数。此时打开工程头文件ScommTestDlg.h和实现文

37、件ScommTestdlg.cpp会发现程序自动在中添加代码。 图2-12 为控件IDC_MSCOMM1添加消息事件处理函数OnComm()编写函数OnComm()中的代码,主要任务是从串口接受数据并显示在接受编辑框中。void CSCommTestDlg:OnComm() / TODO: Add your control notification handler code hereVARIANT variant_inp;COleSafeArray safearray_inp;LONG len,k;BYTE rxdata2048; /设置BYTE数组CString strtemp;if(m_c

38、trlComm.GetCommEvent()=2) /事件值为2表示接收缓冲区内有字符variant_inp=m_ctrlComm.GetInput(); /读缓冲区safearray_inp=variant_inp; /VARIANT型变量转换为ColeSafeArray型变量len=safearray_inp.GetOneDimSize(); /得到有效数据长度for(k=0;klen;k+)safearray_inp.GetElement(&k,rxdata+k);/转换为BYTE型数组for(k=0;klen;k+) /将数组转换为Cstring型变量BYTE bt=*(char*)(

39、rxdata+k); /字符型strtemp.Format(%c,bt); /将字符送入临时变量strtemp存放m_strEditRXData+=strtemp; UpdateData(FALSE); / 2.4.4 发送数据 先为发送按钮添加一个单击消息,即BN_CLICKED处理函数,打ClassWizardMessageMaps,选择类CSCommTestDlg,选IDC_BUTTON_MANUALSEND,双击BN_CLICKED添加OnButtonManualserid()函数,如图2.4.8。 图2-13 添加OnButtonManualscend()函数然后在函数中添加如下代码

40、:void CSCommTestDlg:OnButtonManualsend() / TODO: Add your control notification handler code hereUpdateData(TRUE); /读取编辑框内容m_ctrlComm.SetOutput(COleVariant(m_strEditTXData);/发送数据2.5 程序调试 需要两个串口来测试程序。这两个串口可以在一台计算机上,也可以分别在两台计算机上,用串口线将其连接。图2.4.9所示的情况为运行本程序控制COM1和COM2,先运行程序,然后再将语句:m_ctrlComm.setCommport(

41、1);修改为 m_ctrlComm.setCommport(2);再运行程序,并在两个程序的“发送输入”框中分别填上“School of Information Engineering”和“Southwest University of Science and Technology”,单击“发送“按钮,程序显示运行正确。 图2-14 对程序进行调试2.6 本章小节 串口通信的基本原理,还有串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。RS-232串行接口标准,然后应用Visual C+为我们提供的一种好用的ActiveX控件Microsoft Communications Contr

42、ol(即MSComm)支持应用程序对串口的访问,在应用程序中插入MSComm控件后就可以较为方便地实现对通过计算机串口收发数据。第3章 信号的分析和计算 在完成串口通信模块的设计以后,对于信号的采集基础已经完成,使得信号可以通过计算机串口传输进入计算机计算和分析,在接下来的这章当中进行信号的频域和时域分析计算。由于只是做软件设计的仿真,所以不需要实际信号发生器经过串口发生出信号进行分析。由于音频信号也是低频信号,所以本设计采用对函数信号和计算机录音的方式对获得的音频信号进行分析。3.1 信号分析的原理及意义 信号分析的主要任务就是要从尽可能少的信号中取得尽可能多的有用信息。 时域分析和频域分析

43、是从两个不同角度去观察同一现象。 时域分析比较直观, 能一目了然地看出信号随时间的变化过程, 但看不出信号的频率成分, 而频域分析正好与时域分析相反。 在工程实际中应根据不同的要求和不同的信号特征选择合适的分析方法, 或将两种分析方法结合起来, 从同一测试信号中取得需要的信息。 信号分析最直接的意义在于通过解析法或测试法找出不同信号的特征,从而了解其特性,掌握它随时间或频率变化的规律。简言之,就是从客观上认识信号。因此,可以通过信号分析,将一个复杂信号分解成若干简单信号分量之和,或者用有限的一组参量去表示一个复杂波形的信号,从这些分量的组成情况或这个有限的参量去考察信号的特性。 信号分析是信号

44、处理的基础,分析的目标通常有信号的概率密度、相关性、频谱等,分析目的就是要提取或利用信号的特征.信号是信息的载体,信号特征本质上往往体现出信息源的特征.这种特征可以从各个方面(域)出来,因此分析也可以从各个方面(域)去进行.不同域的特征之间通常是有对应关系的,但某种信号往往在某个域能更清晰地体现自己的特征.比如在很多情况下,信号的频域表示比它的时域表示更简单明了,容易解释和表征,便于特征分析、参数识别、数据压缩、信号合成等.谱是指信号的某些特征随频率的分布,如幅度谱、相位谱、能量谱功率谱.对谱的研究,有些是为了研究信号本身,比如通信中研究信号谱以便让信号更好地匹配信道特性;也有些只是借助谱去研

45、究其它东西,比如通过谱去研究信源,通过输入、输出谱的对照去研究系统的传递函数,从而研究系统特征.不管出于什么目的,谱分析现在在工程领域已成为不可缺少的技术手段.数字分析是用数字方求信号的离散谱,它是以DFT和滤波理论为基础发展起来的.数字谱分析从非实时到实时,现在已成为一门热门的实用技术.3.1.1 信号的分类与预处理数字谱分析的对象是表征物理现象的各种信号.不同类型的信号其谱的定义和计算方法也不同.对于工程实际中遇到的物理信号,可以从不同的角度予以分类:(1) 确定性信号和随机信号(2) 能量信号和功率信号(3) 周期信号和非周期信号(4) 连续时间信号和离散时间信号确定信号是自变量的确定函数.对于自变量的每一个值,可以通过数字关系式或图表对照唯一地确定其对应的信号值.比如正弦信号、指数信号、卫星轨迹信号、电容充放电的电压信号等都是确定性信号.另一类信号,比如白噪声、语声信号、图象信号、信道中传输的数据信号等属于随机信号.它们无法用数字或图表关系来描述,无法准确预测.它们在常规意义上是最无规律的,但在统计意义上还是服从一定规律的.能量有限的信号称为能量信号,它满足 (连续信号) (3-1)或者(离散信号) (3-2)能量信号可以是有限长的,也可以是无限长的,比如指数衰减的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号