当前位置:文档之家› 函数信号发生器

函数信号发生器

基于labview的函数信号发生器的设计[摘要] 介绍一种基于labvIEW环境下自行开发的虚拟函数信号发生器,它不仅能够产生实验室常用的正弦波、三角波、方波、锯齿波信号,而且还可以通过输入公式,产生测试和研究领域所需要的特殊信号。

对任意波形的发生可实现公式输入;对信号频率、幅度、相位、偏移量可调可控;方波占空比可以调控;噪声任意可加、创建友好界面、信号波形显示;输出频谱特性;所有调制都可微调与粗调。

该仪器系统操作简便,设计灵活,功能强大,可以完成不同环境下的测量要求。

因此具有很强的实用性。

关键词:虚拟仪器,labvIEW,虚拟函数信号发生器,正弦波,三角波,方波,锯齿波,特殊信号。

引言:在有关电磁信号的测量和研究中,我们需要用到一种或多种信号源,而函数信号发生器则为我们提供了在研究中所需要的信号源。

它可以产生不同频率的正弦波,方波,三角波,锯齿波,正负脉冲信号,调频信号,调幅信号和随机信号等。

其输出信号的幅值也可以按需要进行调节。

传统信号发生器种类繁多,价格昂贵,而且功能固定单一,不具备用户对仪器进行定义及编程的功能,一个传统实验室很难拥有多类信号发生器。

然而,基于虚拟仪器技术的实验室均能满足这一要求。

1、虚拟仪器简介:自从1986年美国NI(National Instrument)公司提出虚拟仪器的概念以来,随着计算机技术和测量技术的发展,虚拟仪器技术也得到很快的发展。

虚拟仪器是指:利用现有的PC机,加上特殊设计的仪器硬件和专用软件,形成既有普通仪器的基本功能,又有一般仪器所没有的特殊功能的新型仪器。

与传统的仪器相比其特点主要有:具有更好的测量精度和可重复性;测量速度快;系统组建时间短;由用户定义仪器功能;可扩展性强;技术更新快等。

虚拟仪器以软件为核心,其软件又以美国NI公司的Labview虚拟仪器软件开发平台最为常用。

Labview是一种图形化的编程语言,主要用来开发数据采集,仪器控制及数据处理分析等软件,功能强大。

目前,该开发软件在国际测试、测控行业比较流行,在国内的测控领域也得到广泛应用。

函数信号发生器是在科学研究和工程设计中广泛应用的一种通用仪器。

下面结合一个虚拟函数信号发生器设计开发具体介绍基于图形化编程语言Labview的虚拟仪器编程方法与实现技术。

2、虚拟函数信号发生器的结构与组成2.1 虚拟函数信号发生器的前面板本虚拟函数信号发生器主要由一块PCI总线的多功能数据采集卡和相应的软件组成。

将它们安装在一台运行Windows95/98/2000/NT 以上版本的PC机上,即构成一台功能强大的函数信号发生器。

本虚拟函数信号发生器的设计参考了SG 1645功率函数信号发生器,前面板如图NI-1所示。

本函数信号发生器的前面板主要由以下几个部分构成:仪器控制按钮,输出频率控制窗口(包括频率显示单位),频率倍成控制,公式选择,波形选择(如AM波,DSB波),频率微调按钮,直流偏置,偏移量,初相位,采样信息,频谱分析,方波占空比调节,输出波形幅度控制按钮。

频率微调范围:0.1~1 Hz;直流偏置:-10~10V;方波占空比:0~100%;输出波形幅度:0~10V。

此外还增加了许多修饰性的元件如面板上的压控输入、记数输入、同步输出、电压输出等。

使用这些修饰性的元件的目的是为了增加仪器的美观性,并尽量与真实仪器的使用界面相一致。

图1 基于labvIEW函数信号发生器的前面板2.2 虚拟函数信号发生器的程序框图2.2.1 该程序框图的主要部分(1)控制启动和停止的Case条件结构;(2)偏移量控制模块;(3)频率控制模块;(4)幅度控制模块;(5)常用波形(正弦波,方波,三角波,公式波形)控制模块;(6)特殊波形(AM波,DSB波)控制模块;(7)相位控制模块;(8)占空比控制模块;(9)采样信息控制模块;(10)频谱分析模块;(11)其他的线路及模块。

图2 基于labvIEW函数信号发生器的程序框图2.1.2 主要部件介绍1.选择函数依据s的值,返回连线至t输入或f输入的值。

s为TRUE时,函数返回连线至t的值。

s 为FALSE时,函数返回连线至f的值。

连线板可显示该多态函数的默认数据类型。

2.正弦波形VI生成含有正弦波的波形。

正弦波形详细信息:如Y序列表示正弦波,则该VI依据下列等式生成波形。

y[i] = amp × sin(phase[i]),i = 0, 1, 2, …, n– 1,amp = 幅值,n = 采样数(#s),相位[i]为:初始相位+ 频率× 360.0 × i/Fs3.方波波形VI生成含有方波的波形。

-1.0,(0.01 × duty) × 360.0 pmod < 360.0 pmod = p modulo 360.0,duty = 占空比(%),相位[i]为:初始相位+ 频率× 360.0 × i/Fs4、三角波VI生成含有三角波的波形。

三角波形详细信息如Y序列表示三角波,则该VI依据下列等式生成波形。

y[i] = amp × tri(phase[i]),i = 0, 1, 2, …, n– 1,amp = 幅值,n = 采样数(#s),tri[p]为:2 × pmod/180.0,0 pmod < 90.0或2 × (1 – pmod/180.0),90.0 pmod < 270.0或2 × (pmod/180.0 – 2.0),270.0 pmod < 360.0 pmod = p modulo 360.0,相位[i]为:初始相位+ 频率× 360.0 × i/Fs锯齿波形详细信息如Y序列锯表示齿波,则该VI依据下列等式生成波形。

y[i] = amp ×锯齿波形(相位[i]),i = 0, 1, 2, …, n– 1,amp = 幅值,n = 采样数(#s),锯齿波形(相位[i])为:pmod/180.0,0 pmod < 180.05、公式波形VI通过公式字符串指定要使用的时间函数,创建输出波形。

6、均匀白噪声波形VI生成均匀分布的伪随机波形,值在[–a:a]之间。

a是幅值的绝对值。

4.频谱测量Express VI进行基于FFT的频谱测量(例如,信号的平均幅度频谱、功率谱、相位谱)。

2.2.2对各个模块进行分析①波形选择模块通过布尔控制选择器的输出值再对所有的选择器的输出进行累加得出最后的结果进入Case条件结构。

例如要输出正弦波:正弦波的布尔亮输出1;其他都输出0;累加以后还是1;通过这个“1”进入Case条件结构进行判断。

程序框图如图3:②Case条件结构在Labview程序框图的编程里面选择结构中的条件结构。

在各个分支中设置选择各种波形以及各种波形的参数、控件设置。

以方波为例:设置方波的偏移量、频率、幅度、初相位、占空比、采样信息等控件。

程序框图如图4图3 波形选择 图4 Case 条件结构③添加噪声利用布尔控件控制条件的分支是否添加噪声,并且控制噪声的幅度。

这儿用了加性噪声。

程序框图如图5④AM 波的产生根据AM 波的波形原理及特性。

AM 波的公式是:t t m U t U c a CM AM ωcos )cos 1()(Ω+= Ω 是调试波频率 c ω是载波频率 所以设置载波频率相对调试频率要高5~10倍,这里取40Hz 、幅度取1V 、相位为0、a m =1;在利用公式对载波和调试波执行整合。

程序框图如图6⑤DSB 波产生及滤波输出根据DSB 波的原理和特性。

其公式是:t t m U c a DSB ωcos cos )t (Ω= Ω 是调试波频率 c ω是载波频率 载波参数如同上面AM 波的参数。

滤波器:由加了噪声的DSB 波出了的波形经过海明窗在用FFT 滤波输出频谱波形。

如图7图5 噪声程序框图 图6 AM 波产生的程序框图图7 DSB波产生及滤波输出程序框图3 功能描述:(1)经过仿真实验表明,它能够产生实验室常用的正弦波、三角波、方波、锯齿波信号,而且还可以产生白噪声及多频波,并能通过输入公式, 产生测试领域的非周期特殊信号。

输出波形频率范围宽,具有相关参数可调、同步显示和幅度频谱分析功能。

(2)任意波形的发生,任意波可实现公式输入; 信号频率、幅度、相位、偏移量可调可控;方波占空比可调; 噪声任意可加、创建友好界面、信号波形显示; 输出频谱特性; 所有调制都可微调与粗调。

可以完成不同环境下的测量要求。

(3)接下来看几个实例,进一步了解它的功能。

例1 利用该虚拟函数信号发生器产生一个公式波形,以及对应的AM波、DSB波和频谱图。

如下图所示。

例2 不加噪声的输出波形与加噪声的输出波形的不同、以及对应频谱的分析未添加噪声的波形添加了加性噪声的波形1、上面两图相比较得出:加噪声相比未噪声的明显的波形波不光滑、有些起伏波动,频谱也有一些小偏差和波动。

2、频谱的分析:t t m U c a D S B ωc o s c o s )t (Ω= 例子中调试波频率 Ω为10Hz 、载波频率c ω是40Hz 所以双边带的左边的谱线对应的频率为:40-10=30Hz ;有边带谱线对应频率为:40+10=50HZ 。

由图中的X 轴的刻度是时间不是我们要求的频率。

解决方法如下:就是把波形图控件的属性里的缩放系数改为采样率除以采样数据长度,然后便可实现频率与频谱的坐标对应了....修改完之后结果如下图4、心得体会:这是一门实践性很强的课,很多知识是从书上看来的,而且看完之后,自己还觉的不错,觉得自己已经掌握的很好了,但真到实际做东西的时候,就会觉得困难重重,这时再去查书,便有了对知识的更深层次的理解,有任何问题,问问老师,同学商讨一下,很多问题都可以迎刃而解。

而且我们能感受到学院老师对这门课的重视,也能看到这门课的发展前景,即使我们在以后的工作中不在这方面发展,这门课留给我们的学习思想和技术技能都是很宝贵的。

学以促用,用以促学,我们感觉这也是这门课教给我们的重要知识。

带着问题学习才能学到真正的知识。

5、参考文献[1]杨乐平 李海涛 杨磊 Labview 程序设计与应用(第2版) 北京 电子工业出版社 2006[2]蔡建安 陈洁华 基于LabVIEW 的工程软件应用 重庆大学出版社 2006。

相关主题