40

主题

0

好友

686

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
1024676
帖子
619
精华
0
经验
686 点
金钱
575 ¥
注册时间
2023-2-10
发表于 2026-8-24 15:06 | 显示全部楼层
关于一个24bit数据,使用16bit位DAC,只需将数据移位保留16位即可。高频部分自动削去,这大概所有人都知道。问题来了!一个16位的数据,使用18位的DAC只需要将后两位接地,此DAC便可工作于16bit模式。这大概一部分人知道。问题又来了!一个18bit的DAC怎么播放20bit信号。那么一个16bit的DAC能否也可以直升到20bit呢?我的问题是。如何将一个20bit的DAC工作于24BIT状态?如PCM1704给出一个半遮面的回答。将一个引脚接入负5V电平,那么自动处于20bit状态,而将其接地则是24BIT模式,此处仅凭记忆不做求证。问题又来了,它是怎么实现的?是原版里面是24bit?通过引脚将后面4BIT接地实现?还是内部原版就是20BIT通过扩充实现?按照说明书是23BIT。反正不管是多少BIT,值得反思的问题是如何将DAC扩充。这是重点。然而还是BB公司,还是著名的DAC,PCM69给出不同的回答。这也是我要求证的问题关键,下图对比一下,你看看能否发现问题?注意PCM69手册明确此为18BIT模式DAC,那么在DF1700的帮助下如何实现图上的方式?千万不要告诉我图片是假的!由于单独贴文无法实现大量信息整理,下面分段剖析一下。以至于亲身试法,满目疮痍之后方显英雄本色。慢慢揭开谜底。也许不是正解。也许只是谬论。
20B01.png
20B02.png
20B03.png

25

主题

1

好友

1316

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
365245
帖子
1271
精华
0
经验
1316 点
金钱
1213 ¥
注册时间
2011-7-14
发表于 2026-8-24 16:40 | 显示全部楼层
PCM69为18BIT芯片,可以接受16、18、20BIT信息,但是工作状态不一样。如果是接受16BIT信息,那么在硬件18BIT电阻中,最低位2组电阻不工作,输出16BIT信息。接受18BIT信息,芯片内部18组电阻全部工作。接受20BIT信息时,自动删除2个低位信息,只输出18位高位信息。所谓低位信息就是最弱的信息。

40

主题

0

好友

686

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
1024676
帖子
619
精华
0
经验
686 点
金钱
575 ¥
注册时间
2023-2-10
 楼主| 发表于 2026-8-24 16:50 | 显示全部楼层
本帖最后由 声威电声 于 2026-8-24 16:52 编辑
嫼脃仴洸 发表于 2026-8-24 16:40
PCM69为18BIT芯片,可以接受16、18、20BIT信息,但是工作状态不一样。如果是接受16BIT信息,那么在硬件18BI ...


正解!这样一看BB公司不厚道了。再看一下,不删除的做法。也是此次研究的关键。2位处理相对比较简单。看一下之前的处理方法之一。建武机器采用电阻法补位。使用18bit的DAC,然后分离出19与20BIT然后通过电阻实现补位!这个方法在大名鼎鼎的D20400上也有所应用。
20B04.png

40

主题

0

好友

686

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
1024676
帖子
619
精华
0
经验
686 点
金钱
575 ¥
注册时间
2023-2-10
 楼主| 发表于 2026-8-24 16:55 | 显示全部楼层
本帖最后由 声威电声 于 2026-8-24 16:57 编辑

另一种方法则是利用一个8bit的DAC来解调后2位然后补位。这个方法在STUDER上有所应用。问题是如果补4位如何处理?是在DAC之前补还是之后补来的噪声更低?
20B05.png

4

主题

0

好友

154

积分

论坛游民 当前在线

Rank: 3Rank: 3

UID
900070
帖子
153
精华
0
经验
154 点
金钱
146 ¥
注册时间
2021-3-20
发表于 2026-8-24 16:59 | 显示全部楼层
使用NOS板接AD1861芯片,NOS接收I2S 24BIT数据,输出18BIT给AD1861芯片正常工作,若调整为16BIT给AD1861,出现爆音,无法工作。

25

主题

1

好友

1316

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
365245
帖子
1271
精华
0
经验
1316 点
金钱
1213 ¥
注册时间
2011-7-14
发表于 2026-8-24 17:05 | 显示全部楼层
PCM69也算厚道的了,不硬砍低2位,而是将其送入内部独立的1位Δ-Σ调制器进行噪声整形。
这个操作把截断产生的量化误差从可听频段推挤到20kHz以上的超声波区域。
最终由外部LPF(低通滤波器)顺手滤掉这些超声噪声,从而保留了可听范围内的纯净听感,避免了硬截断的“毛刺”失真。

40

主题

0

好友

686

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
1024676
帖子
619
精华
0
经验
686 点
金钱
575 ¥
注册时间
2023-2-10
 楼主| 发表于 2026-8-24 17:06 | 显示全部楼层
本帖最后由 声威电声 于 2026-8-24 17:18 编辑

抛出最著名的DAC天价名器AD1139来看。也是此次测试失败的一个重要的问题。查看一下AD1139的框图会发现,是由高6bit+低12bit分段式合成DAC。通过德国论坛的剖析图,成功复制出内部结构。但是因电阻校准有误差所以会有微微的噪声,但是不影响此次测试。果断剪开DAC分段,当时考虑低12bit基准为+10V,并且低12部分采用AD7535阉割后两位做低段DAC,使用AD7541直接可以替代,而且AD7541是标准的R-2R,10K-20K的DAC,然后再6到12中间插入10K-20K的6段。想象是+10V基准通过18组R-2R,会更精细的去输出电压。而总电压10V不变。但是结果实验惨不忍睹。只关注电压忽略电流的匹配是此次实验最关键的失败。原DAC使用AD7541则非常完美工作。在仔细想想,AD1139就是通过在AD7541即12BIT基础上增加6BIT,实现18BIT的扩展。但是在6和12中间再加电阻则完全不行。
20B06.png

40

主题

0

好友

686

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
1024676
帖子
619
精华
0
经验
686 点
金钱
575 ¥
注册时间
2023-2-10
 楼主| 发表于 2026-8-24 17:15 | 显示全部楼层
附上AD1139的制作参考。有能力的朋友可以直接制作出相同架构的DAC.但是无奈于电阻精度。实际工作中会有一丝丝噪声。
https://www.richis-lab.de/DAC07.htm

54

主题

14

好友

1万

积分

青铜剑侠 当前在线

Rank: 8Rank: 8

UID
800669
帖子
15210
精华
0
经验
15210 点
金钱
15085 ¥
注册时间
2015-9-21
发表于 2026-8-24 17:16 | 显示全部楼层
一个16位的数据,只能使用16位的DAC。如果想要20位的DAC,成本就贵了。因为16位的数据,先转20位,才能使用20位的DAC。这已经不是加减的问题,需要软件支持,硬件不会支持的。

40

主题

0

好友

686

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
1024676
帖子
619
精华
0
经验
686 点
金钱
575 ¥
注册时间
2023-2-10
 楼主| 发表于 2026-8-24 17:21 | 显示全部楼层
本帖最后由 声威电声 于 2026-8-24 17:24 编辑
无语密码 发表于 2026-8-24 17:16
一个16位的数据,只能使用16位的DAC。如果想要20位的DAC,成本就贵了。因为16位的数据,先转20位,才能使用 ...


16bit数据使用20bit的DAC只需要将MSB对齐。剩余用0补位就可以了。现在问题和你说的相反。是20bit数据。要用16位DAC来补成20位使用。而不是直接切掉后4位!

54

主题

14

好友

1万

积分

青铜剑侠 当前在线

Rank: 8Rank: 8

UID
800669
帖子
15210
精华
0
经验
15210 点
金钱
15085 ¥
注册时间
2015-9-21
发表于 2026-8-24 18:59 | 显示全部楼层
本帖最后由 无语密码 于 2026-8-24 19:27 编辑
声威电声 发表于 2026-8-24 17:21
16bit数据使用20bit的DAC只需要将MSB对齐。剩余用0补位就可以了。现在问题和你说的相反。是20bit数据。 ...


哪有那么简单?
比如1~9的数字,要加一倍的数字。怎加?那么答案是什么?
好像你的数字只跟bit有管吧?跟其它无关的

我说的你不明。但你说的不会错。
问题出现在那呢?你的解码档次是属于低端而已
我说的是中档的解码器,就是说16位数据来获取相当于20bit的新数据,已经改变了数据了。
16位数据虽然可以转20bit的新数据,但真实数据依旧是16bit,,多出来的数据都是造假的,其意义就是将抵挡转中挡而已

90

主题

1

好友

3250

积分

罗宾汉 当前在线

Rank: 7Rank: 7Rank: 7

UID
186195
帖子
3155
精华
0
经验
3250 点
金钱
3056 ¥
注册时间
2010-3-29
发表于 2026-8-24 19:21 | 显示全部楼层
我只知道要加抖动,具体机理不懂。

54

主题

14

好友

1万

积分

青铜剑侠 当前在线

Rank: 8Rank: 8

UID
800669
帖子
15210
精华
0
经验
15210 点
金钱
15085 ¥
注册时间
2015-9-21
发表于 2026-8-24 19:35 | 显示全部楼层
其实玩数据转换是很有趣的。我可以超bit转换。所以知道其意义在哪?以前仅仅是看看资料而已,不懂的,资料也未必有

40

主题

0

好友

686

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
1024676
帖子
619
精华
0
经验
686 点
金钱
575 ¥
注册时间
2023-2-10
 楼主| 发表于 2026-8-25 11:38 | 显示全部楼层
无语密码 发表于 2026-8-24 18:59
哪有那么简单?
比如1~9的数字,要加一倍的数字。怎加?那么答案是什么?
好像你的数字只跟bit有管吧 ...

问题不是增加数字。而是1234正常读,56789分别改写为5,5.5,6,6.5,7,7.5............
延伸数位而总量不变。因为1234是MSB不能轻易更改否则直接影响低频部分。然而高频精细化的影响相对较小。
按您所说理解一下就是播放CD信息只有16位,使用24BIT的DAC那么全部都是造假信息。但是造假过程中是否仅仅是后8位全部补零?还是利用算法精细调整。这就是问题所在。
那么如今24bit数据多入牛毛。是否使用20bit芯片扩展一下,播放24BIT信息,而不是仅仅靠造假来实现?
方法是什么?能否在DIY中实现? 理论上论坛知识丰富的专家多入牛毛。但是解决问题的就凤毛麟角。这才是问题的关键!

40

主题

0

好友

686

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
1024676
帖子
619
精华
0
经验
686 点
金钱
575 ¥
注册时间
2023-2-10
 楼主| 发表于 2026-8-25 11:43 | 显示全部楼层
目前补中间为的方法是。利用SD5000作为模拟开关,然后通过0.1%电阻补中间位,让DAC工作于24BIT。但是完全失败,不忍上传测试板,只上传电路做思考。
20B07.png

40

主题

0

好友

686

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
1024676
帖子
619
精华
0
经验
686 点
金钱
575 ¥
注册时间
2023-2-10
 楼主| 发表于 2026-8-25 11:46 | 显示全部楼层
本帖最后由 声威电声 于 2026-8-25 11:48 编辑

后来以为是SD5000的开关干扰,更改为4053继续测试。涛声依旧。由此证明在中间补位完全不可行。那么下面进行反思!市场有很多利用电阻加上HC595或者使用4053做开关的24BIT的DAC。是否也有同样噪声问题?
20B08.png

40

主题

0

好友

686

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
1024676
帖子
619
精华
0
经验
686 点
金钱
575 ¥
注册时间
2023-2-10
 楼主| 发表于 2026-8-25 11:54 | 显示全部楼层
故此放弃第一套方案。那么接下来就要测试第二套方案,就是建武的利用电阻补位,在LSB后面实现。前面使用20bit,后续通过电阻2进制方式补位,这个算是比较成功,其噪声仅仅超过原芯片20bit一点点,这一点点完全可以忽略不计。这个噪声只有在播放空白音乐时能够听到,而且功放要满音量工作。
20B09.png

40

主题

0

好友

686

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
1024676
帖子
619
精华
0
经验
686 点
金钱
575 ¥
注册时间
2023-2-10
 楼主| 发表于 2026-8-25 11:58 | 显示全部楼层
接下来要测试就是第三套方案,就是STUDER方案,利用DAC08做LSB低4位解码,然后将生成的电流信息与原Iout混合。这个是有风险的。故此还在犹豫中。因为DAC08的基准电压不好确定,而且一定要使用1/2LSB或更低误差的版本,低14位基准为+10V,而最低的4位也就是DAC08的基准电压成了难题。我是DAC制作的初学者。也就是小学生,所以大家不要嘲笑。这就是所谓的,梦想是要有的,万一实现了呢?

54

主题

14

好友

1万

积分

青铜剑侠 当前在线

Rank: 8Rank: 8

UID
800669
帖子
15210
精华
0
经验
15210 点
金钱
15085 ¥
注册时间
2015-9-21
发表于 2026-8-25 13:08 | 显示全部楼层
声威电声 发表于 2026-8-25 11:38
问题不是增加数字。而是1234正常读,56789分别改写为5,5.5,6,6.5,7,7.5............
延伸数位而总量不 ...

前面的知识,你让我有新的认知。
你也得看看中高档CD的解码芯片
一个16bit的数据,无论你用大高的bit芯片,它只能压缩输出电压,因为16bit的最高电压就等于24bit的电压,所以输出16bit的电压时,就严重减少了。再放大,参数就会降低很多,所以16bit解码要远远优于24bit解码,至少不用放大也能输出2V。若是24bit强制使用,不知道能输出多低的电压,反正0.1V也远远达不到的。

那如果要实现16bit的解码输出电压等于24bit解码的电压呢?所以就得造假数据了,使16bit的电压等于24bit的电压,理论·上提高DAC 电压100倍(随意说)也是可行的。所以实际的办法就是将16bit转24bit,。如何转?就是在16bit里加数据填充到24bit..这就是插值。为什么要这样做呢?因为16bit数字滤波就是渣渣,这是芯片工程师也无能为力的。所以才有20bit的顶级CD解码芯片。它能够大幅降低失真。如何插值,估计就是用软件来解决的。或者说是固化软件在芯片里了。好像这种CD超采样芯片已经达到了22bit...。后期也出现了高频造假,因为CD还原不出,才升级的

54

主题

14

好友

1万

积分

青铜剑侠 当前在线

Rank: 8Rank: 8

UID
800669
帖子
15210
精华
0
经验
15210 点
金钱
15085 ¥
注册时间
2015-9-21
发表于 2026-8-25 13:19 | 显示全部楼层
要插值,就要预测合时插入,插多少电压等等,。其实我也在玩这个的,只是电路会不断改进,毕竟硬件跟不要求,因为考虑的是视频而不是音频。视频要求就更高,还得考虑数据是否要加速等问题,比如16bit转8bit或4bit。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版| HIFIDIY论坛 ( 鄂ICP备2025138941号-3 ICP证:鄂B2-20130019 公安局网监备:420100007348 邮箱:1343292467@qq.com )

GMT+8, 2026-10-2 00:56 , Processed in 0.202545 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部