软件仿真信号产生器和使用它测试声卡的方法技术

技术编号:2880785 阅读:237 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种使用软件仿真信号产生器的方法,适用于一计算机视窗操作系统中,其中该计算机具有至少一个储存设备,该方法包括以下步骤:取得用户设定的所播放声音数据的频率和振幅;将此频率和振幅传给一初始化模块;根据此初始化模块将此频率和振幅初始化以得到一初始化声音数据;以及调用一播放模块以播放此初始化声音数据。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及。在实际应用中,我们会需要对声卡进行测试,除了使用普通的声音档案的外,我们还可能会用到信号产生器发出不同频率的信号进行采集。在以往的测试中,有两种解决方案方案一通过对底层硬件设备FM发声器的控制,让其发出不同频率的信号。有以下缺陷(1)这种方法适用在DOS程序下使用,在Windows中若达到对底层暂存器的各种控制是相当复杂的,要知道很多硬件的性能以及操控各种驱动程序(driver)。(2)当硬件有变化时还要做出相应的控制变更,不仅复杂还容易出错。方案二也可以采用外接信号产生器的方法,但缺陷是这种方法无疑增加了成本。为了解决上述问题,本专利技术的目的即在提供一种使用软件发出不同频率信号的方法,简化了对硬件的操作,无须使用任何外接设备,同时达到了同等的测试声卡的效果。因此,本专利技术提供一种在Windows操作系统上的,解决在Windows下不能对底层暂存器的进行各种控制和操作的问题,而全部由软件实现对正弦波经过调制产生出不同频率的正弦波。简化对硬件的操作,降低测试成本。根据本专利技术,一种,适用于一计算机视窗操作系统中,其中该计算机具有至少一个储存设备,该方法包括以下步骤取得用户设定的所播放声音数据的频率和振幅;将此频率和振幅传给一初始化模块;根据此初始化模块将此频率和振幅初始化以得到一初始化声音数据;以及调用一播放模块以播放此初始化声音数据。以下就图式说明本专利技术的实施例。图式简单说明附图说明图1A至1C示出本专利技术的仿真信号产生器的取样工作原理。图2示出播放模块的控制流程图。图3示出调整频率和振幅模块的控制流程图。实施例本专利技术是一种在Windows操作系统上使用的软件仿真信号产生器的方法,其目的是解决在Windows下不能对底层暂存器的进行各种控制和操作的问题,而全部由软件实现对正弦波经过调制产生出不同频率的正弦波。本专利技术的实现主要由三个功能模块完成(1)初始化模块于一储存设备中开僻一段储存空间,并对这段储存空间依据傅立叶公式给定一初始值;(2)播放模块播放此初始值;以及(3)调整频率和振幅模块取得用户设定的所播放声音数据的频率和振幅,根据初始化模块将该频率和振幅初始化以得到一初始化声音数据,以及调用播放模块以播放初始化声音数据。下面对各模块作详细说明(1)初始化模块本专利技术的特征为产生信号。关键是如何进行模拟来产生正弦波,产生信号先需要开僻一段储存空间,并对这段储存空间进行初始化,即对每个储存空间依据傅立叶公式给定初始值。在使用信号模拟一个理想的声音信号之前,设想这个声音信号已存在,而是对这个声音信号取样,使用傅立叶公式X*(t)=Xa(t)P6(t)=∑Xa(nT)6(t-nT),(n从负无穷大到正无穷大)来进行取样。F(t)=Ao/2+∑(AnSinα Cosnωt+AnCosα Sinnωt),(n>=1)X即为所要产生波形的频率,取样周期为T=2π/ω,α为初相位,ω是角频率,t为采样时间。假设开僻了2K的空间,则n从1到2K,采样周期为π,振幅为A,假设初相位为0,如果以11025Hz采样,而声音的频率为100Hz,振幅为1000,把这些数据带到公式里,这2K空间的值即为F(t)=1000*Sin(n2π*100/11025)0<n<2K。假设要仿真从20-1000Hz的信号,依据取样定律,取样频率应比信号的频率至少要两倍大,采样数据越多,才能达到越接近原信号,而不失真,所以取样频率可以设为22050Hz。取样的工作原理如第1A至1C图所示,第1A图系显示有一理想的信号,第1B图系显示对第1A图的信号取样,第1C图系显示将第1B图的取样点连接起来,由图中可以看出其与第1A图的理想的信号波形很相似。(2)播放模块请参阅图2,对声卡进行一系列操作,取得声卡设备,打开设备,准备播放已初始化完毕的数据,开始播放,播放完毕后关闭设备。其流程如下(201)开始;(202)取得一放音设备;(203)取得一声卡容量;(204)设定一播放的格式;(205)打开一声音设备,取消静音,设定播放音量;(206)把所要播放的声音数据传给一播放设备;(207)播放声音数据;(208)关闭该播放设备,还原该声卡;(209)结束。(3)调整频率和振幅模块请参阅图3,按照(2)的操作播放出的是单调的按一定频率和振幅的声音,如果改变频率,声调就会变化,如果改变振幅,音量亦会变化。其流程如下(301)开始;(302)取得用户设定的所播放声音数据的频率和振幅;(303)将该频率和振幅传给初始化模块;(304)根据初始化模块将该频率和振幅带到傅立叶公式中以得到一初始化声音数据;(305)调用播放模块以播放该初始化声音数据;(306)结束。本专利技术在使用软件的方法模拟出各种频率的信号,相对于使用信号产生器要操作简要,仅在程序内部完成发信号,收信号,改变信号频率等一系列的动作,同时成本低。较佳实施例专利技术的具体实施例本专利技术的应用实例对声卡的噪音测试原理在对声卡的噪音测试时,需要对从声卡出发的声音再通过声卡录回来,用讯噪比公式取得db值,通过对db值的分析可以辨别声卡中噪音影响是否严重。其实施步骤如后首先,给仿真信号产生器传递信号拨发的频率和振幅;接着,打开录音程序进行录音;其次,使用仿真信号产生器进行发声;之后,关闭录音程序及仿真信号产生器;最后,把所录音的数据与仿真信号产生器的数据进行比较。由数据的比较结果可得出声卡的失真度。具体说明如下(1)噪音数据当没有任何声音播放时进行录音,录下2K个数据。而这些数据就是声卡内部各个硬件在工作时产生的噪音。为了防止能量的损失过多,使用一根回线连在播放和录音的两个插槽上。(2)数据采集在声音信号播放之前,还需要做数据采集的准备工作。打开录音设备,并取消静音设置,准备进行录音,并准备2K的内存空间放置录音数据。(3)声音数据在开始播放之前需要对音量控制进行设置。音量设为最大值65535,取消音量控制和wave中的静音设置。然后确定播放的声音数据。为求得准确,一般的多选择几种频率进行测试。播放一段100Hz,200Hz,400Hz,800Hz到1600Hz的五种频率的声音。(这一般是正常人能听到的声音),振幅值均设为32000。这几种声音是根据取样公式取不同的值而产生的·分五次调用信号产生器播放。(4)信号播完,关闭录音设备,还原录音设置,关闭放音设备,还原放音设置。把录音的每个数据值求平方,即可以看作是声音信号在这一点上的功率值,因为同一频率的信号录有2K个点,求出这2K个点的平均功率值。这是声音信号的处理,与此一样处理噪音信号。运用讯噪比公式db=10Log(wi/wo)wi即为信号的功率,wo即为噪音的功率。将五组不同频率的平均功率与噪音功率进行比值,求得五个db值。在实践中已经证实,如果db值在10以上,视声卡中的噪音影响不大,可以忽略不计。虽然本专利技术已以较佳实施例公开如上,但并非用以限定本专利技术,本领域的技术人员在不脱离本专利技术的精神和范围内当可作出多种修改,因此本专利技术的保护范围当视后附的权利要求书所界定者为准。权利要求1.一种,适用于一计算机视窗操作系统,其中该计算机具有至少一个储存设备,该方法包括以下步骤取得用户设定的所播放声音数据的频率和振幅;将该频率和振幅传给一初始化模块本文档来自技高网...

【技术保护点】
一种使用软件仿真信号产生器的方法,适用于一计算机视窗操作系统,其中该计算机具有至少一个储存设备,该方法包括以下步骤: 取得用户设定的所播放声音数据的频率和振幅; 将该频率和振幅传给一初始化模块; 根据该初始化模块将该频率和振幅初始化以得到一初始化声音数据;以及 调用一播放模块以播放该初始化声音数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:李哗陈玄同林光信
申请(专利权)人:英业达股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1