版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、燕山大学课 程 设 计 说 明 书题目: 虚拟信号发生器的设计 学院(系):里仁学院 年级专业: 09级自动化仪表 学 号: 091203021034学生姓名: 周小龙 指导教师: 谢平 林洪彬教师职称: 教授 讲师 燕山大学课程设计(论文)任务书院(系): 里仁学院 基层教学单位: 自动化仪表 学 号091203021034学生姓名周小龙专业(班级)09级仪表1班设计题目虚拟信号发生器的设计设计技术参数 要求所设计的虚拟信号发生器至少能够输出五种以上参数(如频率、幅值和相位)可调的信号,如正弦波、方波、三角波、锯齿波和余弦波等。设计要求 利用Matlab+声卡实现任意波形虚拟信号发生器。要求
2、至少输出五种以上参数可调信号(如:方波,三角波,正弦波等)。通过声卡来控制波形的频率、幅值等。工作量4天(6月18日6月21号)工作计划6月18日:上午:讲课,总体安排,布置设计题目,借阅书籍 下午:阅读文献6月19日:相关理论学习、设计方法;6月20-21日:程序设计6月25日:答辩参考资料1、数字信号处理 谢平 林洪彬 燕山大学2、信号处理原理及应用 谢平等编著 机械工业出版社3、其他的相关资料指导教师签字 基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。2012年 6 月 18 日 燕山大学课程设计评审意见表指导教师评语:成绩: 指导教师: 2012年
3、6 月25日答辩小组评语: 成绩: 评阅人: 2012年 6 月25日课程设计总成绩:答辩小组成员签字:2012年 6 月25日目录一、课程设计题目···································21、前言··
4、;······································22程序简介···········
5、;·························23、虚拟信号发生器概述·······················
6、;·····3二、系统的实现与功能·······························3 1、虚拟信号发生器的软件界面实现·········
7、·············3 2、图形用户界面实现···························· 3、信号发生器的功能·····&
8、#183;·······················5三、 运行结果分析························
9、83;·········6 1、运行结果···································6 2、结果分析···
10、;································7 3、误差分析················
11、83;··················8四、心得体会······························
12、183;·········8五、参考文献·······································&
13、#183;8六、程序源代码清单··································9附加页:五种波形图燕 山 大 学 课 程 设 计 说 明 书一课程设计题目1、前言Matlab的数据采集工具箱和图形用户接口提供了十分简便的实现声卡输出功能的命
14、令和函数 ,利用Matlab和声卡设计虚拟信号发生器十分方便,而在硬件上只需要一块声卡,无需添加 任何其他设备,价格十分便宜。虽然声卡的设计是以产生声音为目的,有效的音频范 围和输出电压的幅度在一定程度上限制了他的使用,但这已完全能满足产生基本信号源的 要求。在本设计的基础上,通过进一步的Matlab编程或硬件上的改进和扩展,可以实现一些 常规仪器设备不能产生的信号,这在实际应用中具有广泛的推广应用前景。 2程序简介声卡作为多媒体计算机系统中最基本最常用的硬件之一,其技术已经发展成熟,他同时具有A/D和D/A转换功能,经济方便,目前已经被广泛应用于数据采集和虚拟仪器系统的设计1,2。Matla
15、b是一个数据分析和处理功能十分强大的工程实用软件,他的数据采集工具箱(data acquisition toolbox)为实现数据的输入和输出提供了十分方便的函数和命令,利用这些函数和命令可以很容易地实现对外部物理世界的信号输出和输入。根据声卡输出信号的原理,采用Matlab软件编程,可以方便地利用声卡输出所需要的三角波、正弦波、方波等多种信号,有效地实现信号发生器的基本功能。本程序的界面中,可选波形包括正弦(sin),三角波(triangle),方波,余弦波(cos),锯齿波(tooth),。编写M文件来处理GUI界面的事件的响应。本设计的独特之处在于输出通道的可选择性,可选择NI-DAQ(
16、PCI-6024E),声卡,或者并行等。考虑到信号幅度范围对于不同硬件也是不同的(PCI-6024E是-1010v),超出范围的部分是无效的,程序同样会报错并停止运行。 触发start 按钮将使程序进入运行状态,这包括计算波形(二维数组),绘制波形(在PC界面坐标系中),以及输出波形(在选定的输出板卡中)。触发stop 按钮(运行状态时start按钮就转变为stop按钮了)将停止程序的运行,以及数组数据输出到板卡上。通过在GUI 设计窗口中添加控件和为控件添加相应的回调函数就可以实现。3、虚拟信号发生器概述虚拟仪器概念是1986年由美国国家仪器公司(NI公司)提出的。所谓虚拟仪器(vi)就是利
17、用通用计算机,外加一些特殊设计的功能化硬件(如数据采集卡、输出卡等)和一组专用软件,构成的功能强、灵活度高的集成新型仪器系统。虚拟仪器和传统仪器一样,可以分成采集和控制部分、数据处理和分析部分、用户与仪器交互部分三个部分。对于传统仪器,三部分基本上全部由硬件完成。而对于虚拟仪器,后两部分由计算机来承担,利用计算机的人机交互接口来完成仪器面板的显示和控制,利用计算机强大的运算功能完成数据的分析和处理。所以,虚拟仪器除了必备的硬件之外,都可以用基于计算机的软件实现,因此有“软件就是仪器 ¨的概念。虚拟仪器的结构可以分成硬件和软件两部分:(1) 硬件部分:虚拟仪器硬件部分由I,O接口设备和
18、计算机构成如图2所示。IO接口设备能够完成被测信号的采集和控制信号的输出。根据实际情况,可采用不同的接口硬件设备(如数据采集卡OAQ、GPIB总线仪器、VxI总线仪器模块、串口仪器等)。(2) 软件部分:虚拟仪器软件部分由I,O接口设备驱动程序和应用程序组成。IO接口设备驱动程序负责IO接口设备和应用程序之间的数据交换。应用程序建立在驱动程序之上,完成数据的分析处理,提供虚拟仪器的人机交互界面,供用户操作。虚拟信号发生器不仅具有产生正弦波、方波、锯齿波、三角波及TTL电平等信号的功能,而且可以产生操作者自定义的信号,特别是可以产生双侧向测井仪的发射波形,这在维修仪器时起到了很大的作用。通过软件
19、,自检系统可实现对采集、计算、显示等功能模块的自检,使系统在一个可以监控的状态下运行。二 系统的实现与功能 1、虚拟信号发生器的软件界面实现 图形用户界面概念:图形用户界面或图形用户接口(Graphical User Interface,GUI)是指采用图形方式显示的计算机操作环境用户接口。与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。GUIDE是Matlab提供的图形用户界面开发环境,提供了一系列用于创建图形用户界面的工具,从而简化界面布局和编程工作。2、图形用户界面实现(1)GUI设计模板在MATLAB主窗口中,选择File菜单中的New菜单项,再选择其中的GUI命令
20、,就会显示图形用户界面的设计模板。MATLAB为GUI设计一共准备了4种模板,分别是Blank GUI(默认) 、GUI with Uicontrols(带控件对象的GUI模板) 、GUI with Axes and Menu(带坐标轴与菜单的GUI模板)与Modal Question Dialog(带模式问话对话框的GUI模板)。当用户选择不同的模板时,在GUI设计模板界面的右边就会显示出与该模板对应的GUI图形。()GUI设计窗口在GUI设计模板中选中一个模板,然后单击OK按钮,就会显示GUI设计窗口。选择不同的GUI设计模式时,在GUI设计窗口中显示的结果是不一样的。GUI设计窗口由菜单
21、栏、工具栏、控件工具栏以及图形对象设计区等部分组成。GUI设计窗口的菜单栏有File、Edit、View、Layout、Tools和Help 6个菜单项,使用其中的命令可以完成图形用户界面的设计操作。()GUI设计窗口的基本操作在GUI设计窗口创建图形对象后,通过双击该对象,就会显示该对象的属性编辑器。例如,创建一个Push Button对象,并设计该对象的属性值。()GUI设计编程在GUI设计窗口创建好图形对象并进行良好的布局后,就可以对相应的对象或控件进行编程实现所需要的功能。通常我们主要在所需要的控件的回调函数中编写相应的程序功能代码,以便让它去完成我们需要的功能。()运行界面在完成上述
22、几步后,我们就可以点击设计窗口中的运行,显示界面运行后的结果,相应的也可以点击某些对象(如按钮)测试相应的功能。如图2所示,是运行之后的设计好的软件界面。在软件界面中,我们可以进行波形选择,同时可以通过拉动滚动条调整一些波形的参数,然后点击信号输出按钮,即可在界面中的第一个坐标轴中看到相应的波形,还可以在第二个坐标轴中看到对信号进行频谱分析后的频谱图。如果通过声卡连接到示波器,我们也可以在示波器上看到相应的波形。当点击全部重置按钮后系统恢复初始界面,可以重新进行选择,点击系统退出按钮,则整个系统界面退出。图2虚拟信号发生器系统软件界面4、信号发生器的功能(1)发出正弦波、三角波、方波、锯齿波,
23、并调整其频率、幅度、相位、直流偏量,对方波能调整其占空比;(2)发出公式导出的波形 (3)能够设置数据缓冲区的大小;(4)能叠加高斯噪声,并调整其特征。(5)能显示波形。(2)声卡的实现Matlab软件的数据采集工具箱(DAT)提供了一系列的函数和命令来实现实时模拟信号的输出,通过调用这些函数和命令可以直接控制声卡输出虚拟信号,在Matlab中用声卡产生虚拟信号的过程如下图所示。Matlab的数据采集工具箱提供的控制声卡输出模拟信号的主要函数和命令如下:(1) 初始化操作Matlab将声卡等设备都作为对象处理,其后的一切操作都不与硬件直接相关,而是通过对该 对象的操作来作用对象,所以,首先要为
24、声卡建立一个设备对象。Matlab建立设备对象的函数如下:ao=analogoutput('winsound') analogouput()为模拟输出设备对象建立函数,通过该函数将声卡映射为Matlab环境中的一个模拟输出设备对象句柄。winsound为声卡设备驱动程序。(2) 添加数据输出通道操作Matlab中用于添加数据输出通道操作的函数为addchannel,其函数格式如下:chan=addchannel(ao,ch)其中:ao为声卡对象的句柄(下同),ch为声卡通道号,最大为2通道。(3) 输出数据操作Matlab中用于输出数据操作的函数为putdata,其函数格式如下
25、:putudata(ao,data) 其中:data为所需要输出的数据。(4) 启动并触发声卡设备操作当完成输出数据操作后,并没有真正输出数据,必须启动声卡,才能对外输出信号,启动并触发声卡设备操作的命令如下:start(ao)(5) 停止并删除声卡设备操作信号输出完成后,声卡设备仍然保留在计算机系统中,若不将声卡设备停止并删除,计算机系统中仍会保留该设备,在下次启动虚拟信号发生器系统时将会发出声卡设备仍然在使用的错误信息。从系统中停止和删除声卡设备操作的命令分别如下: stop(ao)delete(ao)。 三、 运行结果分析1、运行结果 虚拟信号发生器输出正弦波示意图2、 结果分
26、析频谱分析:所谓信号的谱分析,就是计算信号的傅里叶变换。工程实际中,经常遇到的是连续信号,截取一段进行FT变换后其频谱函数也是连续函数,因此其计算过程不便于用计算机实现。而DFT作为一种时域和频域均离散化的变换,适合数值运算,成为分析离散信号和系统的有力工具。对于连续信号和系统,可以通过对时域采样,得到离散时间序列,再对进行DFT,因此是一种近似的谱分析但由于直接计算DFT的计算量与变换区间长度N的平方成正比,当N较大时,计算量太大,所以在快速傅里叶变换(Fast Fourier Transform,简称FFT)出现前,直接用DFT进行谱分析和信号的实时处理是不切实际的。自从出现FFT快速算法
27、之后,情况发生了根本性的变化。FFT并不是与DFT不同的另外一种变换,而是为减少DFT计算次数的一种快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。它对傅氏变换的理论并没有新的发现,但是对于在计算机系统或者说数字系统中应用离散傅立叶变换,可以说是进了一大步。离散傅里叶变换X(k)可看成是z变换在单位圆上的等距离采样值。同样,X(k)也可看作是序列傅氏变换的采样,采样间隔为N=2/N 。由此看出,离散傅里叶变换实质上是其频谱的离散频域采样,对频率具有选择性(k=2k/N),在这些点上反映了信号的频谱。 根据采样定律,一个频带有限的信号,可以对它进行时域
28、采样而不丢失任何信息,FFT变换则说明对于时间有限的信号(有限长序列),也可以对其进行频域采样,而不丢失任何信息。所以只要时间序列足够长,采样足够密,频域采样也就可较好地反映信号的频谱趋势,所以FFT可以用以进行连续信号的频谱分析。本文中采用FFT变换方法对几种典型信号进行了频谱分析,并将结果波形显示出来3、误差分析将所设计软件系统通过声卡与实际的示波器连接后,输出相应的信号波形并在示波器上显示出来,与理想的波形进行比较可知存在一定的偏差,造成这种情况的原因有很多,本文重点分析噪音对信号的干扰。采用这种方法实现的低频信号发生器的噪音信号主要为:主机电源的噪音;主机的高频幅射;环境噪音。降低噪音
29、。我们可以:选择信噪比比较高的主机电源将会对消除噪音源起到重要作用;实验设备在利用信号源时应尽量与主机保持较远的距离,以减少电磁辐射对设备的影响;对于环境噪音,当信号频率与50Hz相差很大时可以忽略环境噪音对设备的影响,但当信号频率接近50Hz时,应对实验设备采取良好的屏蔽措施;采用滤波电路消除声卡输出的噪音。四 心得体会 通过这次课设让我学会运用matlab软件,以及它的一些基本操作。从刚开什么也不会,通过翻阅书籍和上网查找资料,到最后有了自己思路完成论文,这中间学到了很多知识,以及和同学相互讨论,共同思考难题,增进的我们之间的友谊。五 参考文献1数字信号处理 谢平 林洪彬 燕山大学出版社2
30、信号处理原理及应用 谢平等编著 机械工业出版社3 Matlab中基于声卡的虚拟仪器动态数据分析仪 傅俊庆 赵爱琼. 长通学院学报 4 Matlab教程基于6x版本M张志涌,徐彦 北京航空航天大学出版社5 数字信号处理原理实现与仿真 唐向宏编著 高等教育出版社六 程序源代码清单源程序代码如下:function varargout = bingjie1(varargin)% BINGJIE1 M-file for bingjie1.fig% BINGJIE1, by itself, creates a new BINGJIE1 or raises the existing% singleton*.
31、% H = BINGJIE1 returns the handle to a new BINGJIE1 or the handle to% the existing singleton*.% BINGJIE1('CALLBACK',hObject,eventData,handles,.) calls the local% function named CALLBACK in BINGJIE1.M with the given input arguments.% BINGJIE1('Property','Value',.) creates a ne
32、w BINGJIE1 or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before bingjie1_OpeningFunction gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to bingjie1_OpeningFcn via varargin
33、.% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".% See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help bingjie1 % Last Modified by GUIDE v2.5 21-Jun-2012 16:40:35 % Begin initialization code - DO
34、NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, . 'gui_Singleton', gui_Singleton, . 'gui_OpeningFcn', bingjie1_OpeningFcn, . 'gui_OutputFcn', bingjie1_OutputFcn, . 'gui_LayoutFcn', , . 'gui_Callback', );if nargin && ischar(v
35、arargin1) gui_State.gui_Callback = str2func(varargin1);end if nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT EDIT % - Executes just before bingjie1 is made visible.function bingjie1_OpeningFcn(hObject, event
36、data, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to bingjie1 (see VARARGIN) % Choose defa
37、ult command line output for bingjie1handles.output = hObject; % Update handles structureguidata(hObject, handles); % UIWAIT makes bingjie1 wait for user response (see UIRESUME)% uiwait(handles.figure1); % - Outputs from this function are returned to the command line.function varargout = bingjie1_Out
38、putFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Get default command line output from handles
39、 structurevarargout1 = handles.output; % - Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)t=linspace(0,0.5,100);f=10;x=sin(2*pi*f*t);axes(handles.axes1);plot(t,x) % - Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventd
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- PGM岗位专业能力测试题
- 码头供电照明系统施工方案
- 景区滑索运维员安全操作规程
- POI骨质疏松年度筛查标准化方案共识
- 2025-2026学年广东省揭阳市初中历史七年级期末下册高分通关黑金试题(详细参考解析)
- Oracle数据库综合考试题(含答案)
- 冠脉旋磨术后血管痉挛长效预防方案共识
- 零部件喷涂涂装操作工规程
- 纯水管路安装工安全操作规程
- 上尿路尿路上皮癌诊疗中国专家共识(2026版)
- 项目经费包干制管理制度
- 校园饮食配送管理制度
- 《人工智能概论-面向通识课程》全套教学课件
- 岩溶区人类活动与溶洞生态系统影响评估-洞察阐释
- 长期卧床如何预防压疮
- 肠梗阻护理健康宣教
- HRVSDN中压软启动使用手册中文1
- 临夏州东乡县教育系统引进人才笔试真题2022
- 青黄中国风孝亲敬老重阳节主题班会模版
- (正式版)JTT 1495-2024 公路水运危险性较大工程安全专项施工方案审查规程
- 20G520-1-2钢吊车梁(6m-9m)2020年合订本
评论
0/150
提交评论