图片:
图片:
各位坛友,各位技术工程师大家好!请教一个问题,我用mini2440的板子,用iis和uda1341进行音频数据采集,出现了问题。问题如下:我用2440光盘上附带的例程跑裸机,被采样的信号是1kHz的正弦波,参数设置如下:fmt.nSamplesPerSec = 48000;fmt.wBitsPerSample = 16;fmt.nChannels =2;fmt.nBlockAlign = fmt.wBitsPerSample*fmt.nChannels/8;fmt.nAvgBytesPerSec = fmt.nSamplesPerSec*fmt.nBlockAlign;
UDA1341的配置没有去动过。采样出来部分数据如下:
-23797 -25369 -26083 -27238 -27952 -28662 -29378 -29630 -30346 -30084 -30800 -30038 -30754 -29477 -30193 -28459 -29176 -26984 -27700 -25062 -25780 -22747 -23463 -20064 -20780 -17050 -17766 -13777 -14493 -10282 -10996 -6624 -7339 -2868 -3583 925 213 4699 3985 8366 7654 11770 11058 15193 14484 18299 17587 21043 20333 23444 22735 25444 24735 27009 26299 28119 27411 28756 28048 28902 28194 28570 27862 27740 27031 26447 25739 24721 24012 22550 21841 20018 19308 17133 16423 13953 13243 10542 9833 6944 6231 3222 2511 -561 -1273 -4341 -5055 -8059 -8773 -11650 -12365 -15074 -15790 -18279 -18995 -21194 -21909 -23743 -24459 -25931 -26647 -27679 -28395 -28980 -29695 -29812 -30527 -30124 -30840 -29931 -30648 -29253 -29968 -28098 -28816 -26502
也就是说相邻的两个数据差不多大,如果改为16kHz采样数据为(直接从内存中读出):
0x24 0x24 0x22 0x22 0x13 0x13 0xFE 0xFE 0xE9 0xE9 0xDD 0xDD 0xDF 0xDF 0xED 0xED 0x03 0x03 0x18 0x18 0x24 0x24 0x22 0x22 0x13 0x13 0xFD 0xFD 0xE8 0xE8 0xDD 0xDD 0xDF 0xDF 0xEE 0xEE 0x04 0x04 0x19 0x19 0x24 0x24 0x22 0x22 0x13 0x12 0xFC 0xFC
如果从连续的两位中分别取一位,画出来的波形是正弦波。
放音的时候,耳机两边都有响,是不是放音的时候是双通道放音的,会不会采样双通道的,但是在配置的时候已经选择了只有一个通道?
还有一个问题,如果如果采样率为16kHz,数据前面有4096个字节是空字节,也就是说4096个字节为0,如果采样率为48kHz,不会有这样的问题。
请问一下各位,是什么问题能,帮个忙,谢谢!
附件一 是48kHz采样率
附件二 是16kHz采样率,iis传输长度为8位,附件二的第一幅图为原始数据,第二幅图为从原始数据中每两个点取一个数据画出来的图,第三幅图是把两个连续的数据转成16位长度的数据。
[ 此帖被ruddy在2011-03-28 10:53重新编辑 ]