信号生成和波形生成
波形生成只是产生一段信号(信号长度=采样数/采样率),信号生成则是产生连续的波形信号,不断的对信号进行采样,然后产生输出数据
信号生成的是一个拥有N(N=采样数)项数组,他是通过对指定波形的量化来采集数据的,他的X轴不是时间而是量化的最小单位,其产生数据的快慢由D/A转换的速度决定的。当无法获得实际信号时,(例如没有DAQ板卡来获得实际信号或者受限制无法访问实际信号),信号发生功能可以产生模拟信号测试程序。
你自己简单做一个对比程序就可以理解了
注意建立时要用常量
不要用输入控件
直接在接线端创建常量
玩过D/A吗?你没有发现信号生成的参数和D/A很像吗?
生成的数据一个是1维数组
一个是波形数据,不是2维数组,它类似于簇
在LabVIEW中,有两处地方可以用来生成模拟信号,一是Signal Generation模板,一是Waveform Generation模板。
Signal Generation模板和Waveform Generation模板的功能大同小异,生成的信号类型差不多,主要区别是Waveform Generation模板包含了信号的时间信息,波形是时间的函数;而Signal Generation模板则不包括。Waveform Generation模板中各模块参数设置更为灵活,功能更强大,其中的许多模块是在Signal Generation模板的基础上进一步开发的。
(所以说Sine Wave和Sine Pattern<在Signal Generation模板中>这两个VI是不包含时间信息的,只有Sine Waveform<在Waveform Generation模板中>包含了信号的时间信息。)
Wave VI 和Pattern VI运行过程的根本不同在于这个特定的VI是否在内部记录了生成信号的相位轨迹。Wave VI在内部记录了相位轨迹,而Pattern VI则没有。可以通过识别VI名称中包含的单词是Wave 还是Pattern来区分这两类VI。
Wave VI使用的是归一化了的单位周期数/每采样。Pattern VI中仅有Chrip Pattern VI使用归一化单位。
由于Wave VI在内部记录了相位,因此允许用户控制初始相位的取值。phase in指明了首次采样生成波形时的初始相位(以度为单位),而phase out则指明了下一次采样生成波形时的相位。除此之外,reset phase用来说明调用该波形时所生成的首次采样相位是在phase in中指明的相位,还是当VI最后执行时出现在phase out中的相位。reset phase为TRUE时,将初始相位设置为phase in,为FALSE时将其设置为VI最后执行时的phase out值。
(补充说明一下:下列VI使用由归一化单位指定的频率: 1)Sine Wave 2)Square Wave 3)Sawtooth Wave 4)Triangle Wave 5)Arbitrary Wave 6)Chrip Pattern
使用这些VI时,需要将给定问题中的频率单位转换为归一化频率单位,即周期数/每采样。
在给定周期数(cycles)的情况下,周期数除以采样数就得到归一化频率;在给定以Hz(周期数/每秒)为单位的频率的情况下,如果用以Hz为单位的频率除以以Hz为单位的采样率,就可以得到归一化频率。)
关于你说的端子配置不同,输出不同。可能是由于你没有考虑归一化频率的问题。举一个简单的例子,就能更清楚明白这个两个VI的区别。之后你就可以根据自己的需要选用它们了。
程序框图和程序运行后的前面板如下图所示。Sine Wave和Sine Pattern这两个VI的采样数(samples)的默认值都是128。其他各参数设置如前面板中所示。
对于Sine Pattern来说,采样数为128,周期为5,需要大概25(128/5=25.6)个采样点生成一个周期的正弦波。
对于Sine Wave来说,归一化频率(周期数/采样数)为5/50=0.1,需要10个采样点来生成一个周期的正弦波,数字10由归一化频率的倒数计算得到。采样数为128,每周期采样数为10,因此在Sine Wave波形显示中,有12.8个周期。