如何把A/D采样卡采集的原始文件播放出来(300)

H

hzbl

Unregistered / Unconfirmed
GUEST, unregistred user!
比如用A/D采样卡通过60000的采样频率,采集下来35535个浮点数组成的数据文件,如何用DELPHI进行D/A回放,要求不失真。LabView有类似功能。只要能用,分还可以多给。
 
以60K HZ的频率进行回放,每MS 要输出60次的数据.每次输出间隔,167US如果使用定时器,WINDOWS所提供的TIMER 或 MMSYSTEM TIMER 都超过了MS 级精度了.先用QueryPerformanceFrequency取得系统的高精度定时器频率,在我的电脑上为3579545HZ,每计数分度为0.28US然后使用一个循环,用QueryPerformanceCounter不断地取当前的HDTIMER的计数值,用取得的当前值-前一值得出逝去的计数时间,用此值 X 计数分度来判断是否到达输出时间,即167US,如果到达,就取数输出.降低失真 另一点需要注意的是,定时的时间应把每个函数以及数据操作所占用的时间应该计算在内进行修正计数值.可以单独用一个测试程序来确定输出需要多少时间,然后在循环内的判断中作相应修正.为了防止在输出的时候程序响应,后续可以把代码放在线程中执行
 
非常感谢!关键是输出,怎么输出啊?就是浮点数往哪里输出,如何输出声卡?PC喇叭?
 
晕你,不会你连采样的数据是做什么用的自己也不知道吧?
 
[:D],我知道啊,就是要把它放出声音来,采样卡本身可以。但是换了机器没有装采样卡。可能是我说的不够清楚,我采的是振动数据,就是要用声音回放。
 
采样卡可以直接从硬件放出声音吗,不需要其他软件支持吗
 
采样卡自己有驱动,硬件有个模拟输出口,可以引线出来,接到扬声器上发出声音
 
你用LABVIEW试过吗,是啥效果
 
试过,可以放出来,因为我不是专业听音员,还无法分辨,实时模拟方式播放和LABVIEW回放的具体吻合度
 

Similar threads

D
回复
0
查看
786
DelphiTeacher的专栏
D
D
回复
0
查看
740
DelphiTeacher的专栏
D
D
回复
0
查看
728
DelphiTeacher的专栏
D
顶部