[DAC] 数字输出音量控制问题

[复制链接] 查看: 46913|回复: 1

22

主题

0

好友

634

积分
     

职业侠客 当前离线

Rank: 5Rank: 5

UID
30115
帖子
636
精华
0
经验
634 点
金钱
619 ¥
注册时间
2007-11-8
发表于 2012-10-24 19:25 | 显示全部楼层
这个问题和玩DAC比较密切,就发布在这里了。
最近一直纠结于数字输出的音量(比如同轴、光纤)可以由节目源(比如电脑音量、部分CD机遥控器)控制所带来的DAC音频输出信号“失真”问题。
网上都提倡数字输出开到最大,然后使用(功放、耳放或前级)的音量电位器控制音量。经对比发现:“似乎”数字输出音量最大化后的音质要透明的多(类似电视机对比度调大的效果)。但是因为CD、APE文件录音电平不同,不同曲目(专辑)音量差别较大,以至于需要频繁调整远处的音量电位器颇为麻烦。
我想问的是:1.数字输出的音量不开到最大到底失真有多大?2.甚至说有没有真正意义上的失真?3.有没有真正软件方面的专家学者通过原理简单计算证明(不要网上那种含糊的举例证明:好像说是不足16位就补0那种)。4.有没有高人具备测试条件测试数字输出不同大小音量下的失真度?
问题困扰很久了,希望这个帖子不要沉下去。

127

主题

0

好友

1万

积分
     

版主 当前离线

脑放进行时

Rank: 7Rank: 7Rank: 7

UID
3986
帖子
18146
精华
2
经验
17478 点
金钱
15213 ¥
注册时间
2005-4-20

社区贡献 优秀设计 论坛版主

发表于 2012-10-24 21:53 | 显示全部楼层
数字音量压缩会降低比特数,小音量严重损失信号转换精度,毋庸置疑的。
如图所示:图一原始16位数据满格(最大)音量,图二数字压缩音量以后损失数据,图三进一步压缩音量严重损失数据。
360软件小助手截图20121024214946.jpg
360软件小助手截图20121024215009.jpg
360软件小助手截图20121024215019.jpg

22

主题

0

好友

634

积分
     

职业侠客 当前离线

Rank: 5Rank: 5

UID
30115
帖子
636
精华
0
经验
634 点
金钱
619 ¥
注册时间
2007-11-8
 楼主| 发表于 2012-10-24 22:09 | 显示全部楼层
终于等到了一个专业的答案。版主伟大。以我的理解是脉冲信号(数字信号)密集(位数多)电压就会高(音量大)。这个理解经过版主讲解和结合我对自电视机高频头调谐电压产生来理解了。不知道对不对。

6

主题

3

好友

847

积分

版主 当前离线

Rank: 7Rank: 7Rank: 7

UID
308015
帖子
860
精华
0
经验
847 点
金钱
843 ¥
注册时间
2011-3-23

社区贡献 论坛版主

发表于 2012-10-25 08:33 | 显示全部楼层
本帖最后由 jsan203 于 2012-10-25 09:20 编辑

回复 2# xmlhifi
如果DAC是32Bit就不会发生上述问题,24Bit用于传输满幅信号,8Bit用来做音量丢弃。

目前业界的母带标准是24Bit,所以24Bit分辨率及以下的DAC在数字音量输出时都会引起信息丢失情况。推荐使用24Bit及以上分辨率的 DAC,小音量时无论再怎么压缩,14Bit的普通CD输出音质是可以保证的。

6

主题

3

好友

847

积分

版主 当前离线

Rank: 7Rank: 7Rank: 7

UID
308015
帖子
860
精华
0
经验
847 点
金钱
843 ¥
注册时间
2011-3-23

社区贡献 论坛版主

发表于 2012-10-25 08:49 | 显示全部楼层
本帖最后由 jsan203 于 2012-10-25 09:29 编辑

回复 1# yesun
数字音量就是对音源PCM信号进行线性压缩,对于2的整数倍,比如:1/2,1/4,1/8音量就是对PCM数字信号进行平行右移,丢弃右移出去的多余Bit。产生失真是肯定的,因为部份信息缺失了。

一般来说,数字音量取值是-60dB~0dB,意味着最大衰减量是原信号的1/1000,按2的10次方=1024来计算,最大丢弃了10Bit的信息量来达到数字音量的控制目的。
当使用24Bit分辨率的DAC(如WM8741、AD1955、PCM1794),输入16~24Bit质量的PCM信号时,最小音量输出的信息是14Bit,所以基本能达到CD音质
当使用32Bit分辨率的DAC(如ES9018S),输入24Bit质量的PCM信号时,最小音量输出的信息是22Bit,信息损失量极小可以完全满足数字音量的要求。
当使用16Bit分辨率的DAC(如TDA1541),无论输入任何品质的PCM信号,最小音量输出的信息只有可怜的6Bit,信息损失极大不合适用数字音量。

在小音量时人耳的分辨能力也相对下降,所以对24Bit及以上分辨率的DAC(使用DSP音量时)适当的信息缺失引起的失真在听感上并不强烈。
使用电脑控制音量,只能达到相当于24BitDAC DSP数字音量的品质。
如果你的DAC是32Bit的,最好使用DAC本身的DSP音量,而电脑音量开到最大。

选择电脑播放软件时尽量使用高性能32Bit软件如Foobar2000等,网络上的音源很多本身都是16Bit CD音质的,所以一般听音根本不必为数字音量烦恼。

25

主题

11

好友

6414

积分

青铜剑侠 当前离线

Rank: 8Rank: 8

UID
517186
帖子
19241
精华
0
经验
6414 点
金钱
5884 ¥
注册时间
2012-8-6
发表于 2012-10-25 10:14 | 显示全部楼层
只会听课,不懂作答

22

主题

0

好友

634

积分
     

职业侠客 当前离线

Rank: 5Rank: 5

UID
30115
帖子
636
精华
0
经验
634 点
金钱
619 ¥
注册时间
2007-11-8
 楼主| 发表于 2012-10-25 21:20 | 显示全部楼层
回复 5# jsan203
即使用再高BIT的DAC,现在的音源大部分都是16BIT音源,就意味一旦使用DSP音量,也会出现还原损失了吧?

6

主题

3

好友

847

积分

版主 当前离线

Rank: 7Rank: 7Rank: 7

UID
308015
帖子
860
精华
0
经验
847 点
金钱
843 ¥
注册时间
2011-3-23

社区贡献 论坛版主

发表于 2012-10-25 22:23 | 显示全部楼层
回复 7# yesun
对于16Bit音源,24Bit以上分辨率的DAC使用DSP音量,基本没有还原损失,因为1/1000的音量你听得到吗?1/256的音量,就完全是16Bit输出了,这么小的音量你会开吗?

24Bit以上的DAC,使用电脑调节,最低音量只有14dB的信息量
32Bit的DAC,使用芯片内置DSP音量,22Bit以下的信号源是完全没有损失的!

6

主题

3

好友

847

积分

版主 当前离线

Rank: 7Rank: 7Rank: 7

UID
308015
帖子
860
精华
0
经验
847 点
金钱
843 ¥
注册时间
2011-3-23

社区贡献 论坛版主

发表于 2012-10-25 22:25 | 显示全部楼层
回复 7# yesun
对于16Bit音源,24Bit以上分辨率的DAC使用DSP音量,基本没有还原损失,因为1/1000的音量你听得到吗?1/256的音量,就完全是16Bit输出了,这么小的音量你会开吗?

24Bit以上的DAC,使用电脑调节,最低音量-60dB时,只有14dB的信息量
32Bit的DAC,使用芯片内置DSP音量,22Bit以下的信号源是完全没有损失的!

18

主题

0

好友

303

积分
     

业余侠客 当前离线

Rank: 4

UID
336833
帖子
313
精华
0
经验
303 点
金钱
285 ¥
注册时间
2011-5-19
发表于 2012-10-26 10:59 | 显示全部楼层
电脑不能使用类似dsp一样的音量控制么?

18

主题

0

好友

303

积分
     

业余侠客 当前离线

Rank: 4

UID
336833
帖子
313
精华
0
经验
303 点
金钱
285 ¥
注册时间
2011-5-19
发表于 2012-10-26 11:07 | 显示全部楼层
另外这个损失和电位器的噪声相比哪个更严重呢?

56

主题

12

好友

6091

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7499
精华
0
经验
6091 点
金钱
5748 ¥
注册时间
2008-10-20
发表于 2012-10-26 11:30 | 显示全部楼层
另外这个损失和电位器的噪声相比哪个更严重呢?
crossfirex 发表于 2012-10-26 11:07



电位器减小的是信号,DA减小的是数值。

11

主题

4

好友

573

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
53626
帖子
582
精华
0
经验
573 点
金钱
553 ¥
注册时间
2008-9-8
发表于 2014-2-8 09:07 | 显示全部楼层
直接移位降低音量会产生量化失真

2

主题

0

好友

74

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
660857
帖子
116
精华
0
经验
74 点
金钱
72 ¥
注册时间
2014-1-31
发表于 2014-2-8 11:06 | 显示全部楼层
进来学习一下

385

主题

5

好友

1484

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
14635
帖子
3899
精华
0
经验
1484 点
金钱
1430 ¥
注册时间
2006-11-14
发表于 2014-2-8 13:30 | 显示全部楼层
音量(电压/电流)精密控制.可以使用D/A控制.将固定参考点改输入.利用R/2R网络结构分配输出电平.而DATA是R/2R网络增益或衰减控制点.通常8BIT就够用了.有255级.

0

主题

0

好友

37

积分

注册会员 当前离线

Rank: 2

UID
129799
帖子
55
精华
0
经验
37 点
金钱
37 ¥
注册时间
2009-9-6
发表于 2014-2-8 13:33 | 显示全部楼层
数字音量挺好的

160

主题

7

好友

4287

积分
     

贵宾 当前离线

Rank: 3Rank: 3

UID
25358
帖子
4235
精华
5
经验
4287 点
金钱
3416 ¥
注册时间
2007-8-1

社区贡献 论坛贵宾 荣誉会员

发表于 2014-6-7 11:29 | 显示全部楼层
对于16bit数据能不能这样处理:先升bit,譬如升到24bit,但这个升bit不是在原16bit数据后面简单的加0,而是加入一个音量很低的噪音信号,16bit最小只有-96db,那么就在-96db至-144db这段加入一个适当的噪音信号,这样升bit后的24bit信号就是一个从0db至-144db范围都有数据的信号了。在进行数字衰减音量时直接减bit,假设要衰减24db也就是减4个bit,从音量最小的数据-144db开始减起,那么衰减后仍有20bit的数据,再将这个20bit的信号送至24bit的DAC进行解码,原16bit的信号就能完整保留下来了,没有压缩原始16bit数据的动态。。。。。不知可不可以这样理解?

36

主题

2

好友

3090

积分

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
27774
帖子
3064
精华
0
经验
3090 点
金钱
3036 ¥
注册时间
2007-9-27
发表于 2014-6-7 12:43 | 显示全部楼层

160

主题

7

好友

4287

积分
     

贵宾 当前离线

Rank: 3Rank: 3

UID
25358
帖子
4235
精华
5
经验
4287 点
金钱
3416 ¥
注册时间
2007-8-1

社区贡献 论坛贵宾 荣誉会员

发表于 2014-6-7 16:05 | 显示全部楼层
swing 发表于 2014-6-7 12:43
看这个吧,有数据
http://www.esstech.com/PDF/digital-vs-analog-volume-control.pdf

谢谢楼上的分享
文档最后提到模拟音量要优于数字音量的必要前提是——模拟前级的底噪必须要低于DAC的低噪(要底噪低于-135dbu的模拟前级才能匹敌9018内部的数字音量?!)
QQ图片20140607160528.jpg

2

主题

0

好友

224

积分

业余侠客 当前离线

Rank: 4

UID
182008
帖子
247
精华
0
经验
224 点
金钱
222 ¥
注册时间
2010-3-16
发表于 2014-6-7 17:23 来自手机端 | 显示全部楼层
kingcole 发表于 2014-6-7 11:29
对于16bit数据能不能这样处理:先升bit,譬如升到24bit,但这个升bit不是在原16bit数据后面简单的加0,而是 ...

呵呵,解决数据音量不是这么搞的,有个完美的解决方法,反正说了也不涉及别人利益,解决方法是调整Vef电压,有没有dac厂家这么做我没研究验证过,其实有很多论坛的错误看法,由于本人懒又顾及别人利益,尽量不说。

点评

是个常见的办法  发表于 2014-6-7 17:28
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部