把三个东西串联起来,然后调整DDS信号发生器的频率,在扬声器上就可以产生从20-20KHz任意频率的声波。大家实验室就这么做,非常精确,频率精度可以达到零点几个赫兹。
软件法:1、调用windows底层的Direct函数,借助底层的sin函数和抽样定理设计算法;2、需要使用VisualBasic或者VisualC++编程,程序量很大,加上界面的话,六七千行,压缩后还有20M上下大小;3、程序做好后,用声卡连接功放输出。
这种做法也可以产生很精密的声波输出,精度可以达到小数点后两位。以上两种做法偶都实现过,完全可以。只是中间需要很多专业知识,还要一些专业设备和软件,一般人做不到。
软件法的程序属于省科技厅的自然科学基金项目,因而不能随便公开。单片机也可以做,程度与软件法类似,不过单一用单片机的话声波精度不高,而且谐波很多,产生的声波质量远不如上面两种方法纯净,当然也可以使用单片机+DDS模块做制造DDS信号发生器,主要方法与硬件法类似,质量不错。