DAC 10位 怎么播放16位WAV文件,现在噪音很大,求大师指点!
DAC 10位怎么播放16位WAV文件,现在噪音很大,求大师指点! 可以把16位WAV文件转成8位的 是不是可以直接去掉低位 ??? 我是乱猜的, 去掉低6位 右移6位... 本帖最后由 ordinary 于 2016-6-13 11:15 编辑1、16位WAV默认使用2进制 补码存放的,不能简单抛弃低位。
要 +0x8000后再 右移6位,送 DA 或 PWM
2、WAV文件 有多种格式,一定要确认是 PCM的,不能用ADPCM格式 ordinary 发表于 2016-6-13 11:14
1、16位WAV默认使用2进制 补码存放的,不能简单抛弃低位。
要 +0x8000后再 右移6位,送 DA 或 PWM
2 ...
大师,你好!
+8000是什么意思呢?是求原码吗?正数 原码补码一样啊,负数需要转换? 不懂?请指点 谢谢! ordinary 发表于 2016-6-13 11:14
1、16位WAV默认使用2进制 补码存放的,不能简单抛弃低位。
要 +0x8000后再 右移6位,送 DA 或 PWM
2 ...
大师,你好!
+8000是什么意思呢?是求原码吗?正数 原码补码一样啊,负数需要转换? 不懂?请指点 谢谢! 本帖最后由 ordinary 于 2016-6-16 17:13 编辑
freshen 发表于 2016-6-16 15:03
大师,你好!
+8000是什么意思呢?是求原码吗?正数 原码补码一样啊,负数需要转换? 不懂?请指点...
adc_data(语音数据)+=0x8000;
你试试 WAV格式是有符号16进制 看着办吧 ordinary 发表于 2016-6-16 17:12
adc_data(语音数据)+=0x8000;
你试试
按照你说的+0x8000 确实没噪声 ,非常谢谢大师指点!现在播放16位单声道 没问题了
但 播放8bit 11KPCM 直接给DA 好像没声音,我左移2位好像 可以播放,不知道原因? not_at_all 发表于 2016-6-16 18:54
WAV格式是有符号16进制 看着办吧
是的,谢谢! freshen 发表于 2016-6-17 13:37
按照你说的+0x8000 确实没噪声 ,非常谢谢大师指点!现在播放16位单声道 没问题了
但 播放8bit 11KPC ...
你使用的是10位的DA,直接送DA,不是没有声音,是音量是左移动两位的 1/16。
(功率 和电压的平方成正比)
夜深人静时,应该能听到。 先看WAVE文件格式,是有符号数还是无符号数。
DAC一般接受无符号数。
你把WAVE文件转成无符号数,截取高10位,再送DAC,应该就好了。 hecat 发表于 2016-6-17 16:30
先看WAVE文件格式,是有符号数还是无符号数。
DAC一般接受无符号数。
谢谢大师指点,确实如此;受益匪浅啊 论坛里面确实有各方面的高手 freshen 发表于 2016-6-19 14:07
谢谢大师指点,确实如此;受益匪浅啊
转成无符号数是指加上0x8000吗?然后再取高10位就可以了吗? ordinary 发表于 2016-6-13 11:14
1、16位WAV默认使用2进制 补码存放的,不能简单抛弃低位。
要 +0x8000后再 右移6位,送 DA 或 PWM
2 ...
直接用除法,快
页:
[1]