工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->光电电路图->其他光电实用电路图->采用电脑声卡的音频函数信号发生器制作

采用电脑声卡的音频函数信号发生器制作

作者:dolphin时间:2016-09-21

  虚拟仪器指的是,在电脑的基础上外加很少的硬件,或不另加任何硬件,通过软件就可实现某种仪器的功能。本文介绍笔者设计的音频函数发生器虚拟仪器。可以让电脑通过声卡输出各种波形波的音频信号,除了同-般音频信号发生器一样能输出正弦波音频信号以外,还能输出一些其他波形的音频信号,如方形波、锯齿波、三角波、以自然数为底的指数波、以自然数为底的对数波和任意次幂的幂函数波。如果对左右声道分别编程,就可以使声卡左右两个声道同时或分别输出不同频率的或相同频率的、不同幅度或相同幅度的函数波音频信号。

  该程序用VC++6.O设计,其界面是标准的Windows界面,下见图。下面就介绍该程序的特点及其使用方法。

Windows界面

  一.对电脑和运行环境的要求

对电脑的要求是CPU为486及以上的PC,操作系统是Windows98/2000/xp,当然还要安装好声卡硬件及其驱动程序。

  二.功能

  1.输出的波形:正弦波、矩形波、锯齿波、,三角波、以自然数为底的指数波、以自然数为底的对数波和任意次幂的幂函数波,

  2.频率输出范围:1Hz~20kHz;

  3.输出幅度调节范围:0~255级

  4.声卡采样频率设置范围:800Hz11025Hz、22050Hz、44100Hz,48000Hz、64000Hz、88200Hz96000Hz;

  5.输出方式:a.不间断地连续输出。b.定时输出,持续输出时间设置范围;1s~5h。

  三.程序使用方法

  打开资源管理器,把本期配刊光盘中笔者提供的可执行文件 LcyAudioFunction Generator.exe复制到电脑中某个文件夹内,用鼠标左键双击该文件名即可运行该程序。然后根据程序界面的汉字提示进行操作,声卡的左右声道就能同时或分别连续地输出上述的各种音频信号了。

  注意对不同的声卡,需要在程序中选择不同的采样频率。如果发现信号输出有间断的现象,那是该设置有问题:一是设置的值太高,该声卡不支持,如某声卡最高支持采样频率为22050Hz,而你却设置成44100Hz,超过了该声卡支持的最高采样频率,二是设置的采样频率虽然没超过该声卡支持的最高采样频率,但设置的频率值该声卡不支持。遇到这种情况需重新设置采样频率,最好设置成该声卡支持的最高频率值,这样能使输出信号的质量最佳,该值可从声卡的说明书得到。如果不知道该声卡支持的最高频率值也不要紧,程序运行后,界面上提供了几个数据,他们是绝大多数声卡都支持的采样频率值,你可选择一个使你的声卡能连续地输出信号的最高值。

  信号输出的质量与采样频率/输出频率的比值有关,比值越大,质量越高;比值越小,质量越低。为使输出的信号不产生严重的失真,该比值要大于4。声卡质量越高,其支持的采样频率越高。所以,高质量的声卡比低质量的声卡能输出更好质量的信号。

  声卡的地址和中断号等信息由程序自动识别,用户不用干预。

  如果要在每个声道同时输出多种频率的混合信号,可多次运行该程序,即双击该程序的可执行文件。运行一次程序,使声卡按照你的设置方式输出信号,不关闭该程序。双击该程序的可执行文件,再运行一次程序,使声卡按照你的第二种设置方式同时输出信号。这样,就可同时输出两种频率的混合信号。按照上述操作方式多次运行该程序,就可同时输出多种频率的信号。 界面上的各种控件的功能及使用方法,如附图所示。

  四.编程方法简介

  如果读者对VC++编程感兴趣,可以参考笔者提供的源程序。

  该程序是在VC++6.0简体中文企业版环境中用面向对象的方法设计编译的。



评论

技术专区