[音源] 聊聊CD转盘对声音的影响

[复制链接] 查看: 3566|回复: 78

3

主题

0

好友

167

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
43532
帖子
168
精华
0
经验
167 点
金钱
161 ¥
注册时间
2008-5-19
 楼主| 发表于 2024-4-24 08:51 | 显示全部楼层
lszyc 发表于 2024-4-23 14:07
从你的表述看,你没有真正理解锁相环的工作机制。

锁相环必然带一个环路滤波器,这个环路滤波器必然有 ...

锁相环是VOC输出的时钟,输入时钟不能被锁死的时候输入时钟和VOC时钟不同步,后级电路是用VOC时钟工作的,不同步的情况下数据都无法对齐,怎么可能数据正确?

3

主题

0

好友

167

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
43532
帖子
168
精华
0
经验
167 点
金钱
161 ¥
注册时间
2008-5-19
 楼主| 发表于 2024-4-24 08:55 | 显示全部楼层
lszyc 发表于 2024-4-23 14:10
什么叫终极答案?
两个结论都是错误的。

抛开第一个结论,就第二个结论你认为是错的?  我不能理解内存数据的读出速度和稳定性是由输入数据确定?不是CPU操作的?

1

主题

1

好友

481

积分

业余侠客 当前离线

Rank: 4

UID
882685
帖子
481
精华
0
经验
481 点
金钱
477 ¥
注册时间
2020-8-27
发表于 2024-4-24 10:00 | 显示全部楼层
本帖最后由 死翘翘 于 2024-4-24 10:02 编辑
panjian 发表于 2024-4-24 08:45
哦!不好意思,我误会了这个误码率数据。但是确认了CD读盘有误码就可以了,误码和抖动影响音质的结论没问 ...


误码在只能单次读取无强纠错的系统上无解的。所以老式的CD机的机芯都设计的用料很足,就是为了减少误码。

另外光驱读取CD也有不同模式的。在CD模式下和普通CD机一样,只能1x线性读取,误码率是不如高级CD机芯的。抓轨不能工作在CD模式,而是工作在CD-ROM模式下,使用抓轨软件高速反复读取和校验,再把结果和公共数据库比对,这样才能发挥出光驱的优势,达到CD机望尘莫及的低误码率。

这有点像无负反馈放大电路,全靠电路设计合理,元件素质过硬才能做的失真小带宽够。
对比下带负反馈放大电路,就用大路货原件失真带宽也能吊打无负反馈电路,所以才会成为主流。

至于抖动,从缓存后的电路才有必要去优化。而且大部分系统,普通电路默认的抖动区别都得仔细分辨才能区分。有这点钱和时间,应该先用在DAC、模拟电路和声学环境上,这才是最高效的。

都2024年了,真没必要再去研究怎么优化半世纪前数字音频初期的设备。几十年来专业工程师早就帮我们筛选出更优的技术路径,我们普通人照着做就是。

3

主题

0

好友

167

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
43532
帖子
168
精华
0
经验
167 点
金钱
161 ¥
注册时间
2008-5-19
 楼主| 发表于 2024-4-24 13:28 | 显示全部楼层
本帖最后由 panjian 于 2024-4-24 13:30 编辑
死翘翘 发表于 2024-4-24 10:00
误码在只能单次读取无强纠错的系统上无解的。所以老式的CD机的机芯都设计的用料很足,就是为了减少误码 ...


你的分析我很认同,好的抓轨模式加上好的光驱才会有好的低码率效果。
我为什么要研究误码率和抖动的原因?是因为我做了一台FPGA+R2R的解码,在考虑要不要在解码上增加录音功能?
      我做的解码有0.5秒左右的数据缓存,再用固定频率的恒温晶振(比恒温压控晶振更低相噪)控制读出数据,时钟抖动的问题已经被隔离,但是我更换转盘的时候仍然发现两个转盘的声音差别很大,排除抖动问题就只能研究是不是误码率的问题了。
       经过这个帖子的讨论和学习,确认读盘有误码,那就很好解释为什么抓轨后有声音变差的也有变好的,取决于抓轨的光驱质量和抓轨软件的控制;甚至头版碟声音好的问题也能解释了,多次压盘后母盘磨损肯定会导致更多的误码。
      至此,我认为在解码器上做录音功能意义不大,毕竟音质还是要取决于转盘。要获得更好的光盘文件应该是像“死翘翘”说的:“工作在CD-ROM模式下,使用抓轨软件高速反复读取和校验,再把结果和公共数据库比对,这样才能发挥出光驱的优势,达到CD机望尘莫及的低误码率。”
      当然从唱片公司获取母盘源文件是终极好音质的方式,完全绕开了CD光盘的所有问题。


我做的解码可以看这个链接: https://zhuanlan.zhihu.com/p/646607745

18

主题

3

好友

3449

积分

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
202633
帖子
3370
精华
0
经验
3449 点
金钱
3367 ¥
注册时间
2010-5-18
发表于 2024-4-25 08:58 | 显示全部楼层
本帖最后由 lszyc 于 2024-4-25 09:39 编辑
panjian 发表于 2024-4-24 08:55
抛开第一个结论,就第二个结论你认为是错的?  我不能理解内存数据的读出速度和稳定性是由输入数据确定? ...


第一个结论错的原因:锁相环得有个VCO吧?锁相环输出的是压控振荡器产生的时钟吧?

压控振荡器是不是受输入信号时钟影响?

“确定”这个词用在锁相环是不合适的,锁相环之所以叫锁相环,是因为它由一个VCO,一个相位比较器和一个反馈环路组成。

看了你后面的帖子,发现你对抖动的来源没有分析透:时钟抖动不光来源于源头的晶振,每一个门电路都是抖动的贡献者。


第二个结论错的原因:使用内存缓存,那必然读写内存是两个不同的时钟,实时操作系统中经常遇到的资源争用问题一定会碰到!如果你用的是7010这类FPGA,一般是写优先(锁定),写是输入时钟决定的。你说读(输出时钟)会不会受到输入数据(时钟)的影响?

18

主题

3

好友

3449

积分

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
202633
帖子
3370
精华
0
经验
3449 点
金钱
3367 ¥
注册时间
2010-5-18
发表于 2024-4-25 09:03 | 显示全部楼层
panjian 发表于 2024-4-24 08:51
锁相环是VOC输出的时钟,输入时钟不能被锁死的时候输入时钟和VOC时钟不同步,后级电路是用VOC时钟工作的 ...

VCO是“压控振荡器”,即然是“压控“的,那么这个振荡频率必然在变,这个变化就是抖动!

控制VCO工作的V,是一个变化的信号,这个V信号,来源是相位比较器的误差积分,积分就有积分时间也就有频率响应问题,当然就有一个带宽问题。

18

主题

3

好友

3449

积分

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
202633
帖子
3370
精华
0
经验
3449 点
金钱
3367 ¥
注册时间
2010-5-18
发表于 2024-4-25 09:18 | 显示全部楼层
本帖最后由 lszyc 于 2024-4-25 09:28 编辑
panjian 发表于 2024-4-24 13:28
你的分析我很认同,好的抓轨模式加上好的光驱才会有好的低码率效果。
我为什么要研究误码率和抖动的原 ...


我很好奇,你这个设备0.5s的缓存是做在7010里的吧?如何解决读写争用问题?如果读出时钟控制在读的时候,写入刚好正在写,并且写锁定了,怎么读?要不要等待?这个等待是不是就是输入时钟的抖动?

对于早期传统CD转盘,音频时钟通常是来自于锁相环输出,锁定的是光头的拾取时钟,这个时钟受光盘驱动系统影响很大,我有一个CDM9机芯的转盘,有一个测试一个超重的碟镇,结果在换曲时,音乐居然变调了。分析原因是机芯驱动力有限,不能快速调整超重的光盘转速,导致音频时钟偏离太大,人耳都能听出变调。
后期的采用DVD机芯的CD转盘,音频时钟通常来自于晶振,通过大量缓存来解决CD转盘转速波动问题,相对好一点。

3

主题

0

好友

167

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
43532
帖子
168
精华
0
经验
167 点
金钱
161 ¥
注册时间
2008-5-19
 楼主| 发表于 2024-4-25 11:47 | 显示全部楼层
lszyc 发表于 2024-4-25 09:18
我很好奇,你这个设备0.5s的缓存是做在7010里的吧?如何解决读写争用问题?如果读出时钟控制在读的时候 ...

多谢你的讨论意见,你对技术的认知是没问题的,可能我用到一些你没见过的处理方法,对于结论产生差异。
第一个结论: 1、你提到的VCO的分析没问题,我认同。反馈信号能在VCO接受范围内是可以正常调整VCO频率的,如果两个时钟频率相差较大,超过VCO的接受范围,VCO就调整不到输入时钟的频率,也就是失锁。在锁定的时候输入时钟的抖动是会影响VCO频率,所以VCO是能改善抖动,不能杜绝抖动。这也就是我做解码的时候为什么没有用VCO的原因。
    2、CD的驱动板是没有VCO的,是固定频率16.9344M的晶振。我的理解CD机是靠调整光盘转速来同步晶振分频后的CPU工作频率,因此CPU处理光盘信号可以说类似VCO的锁相原理。

第二个结论:我做的解码缓存是放在7010的PL里面,只有PL可以实现异步时钟工作,写时钟来自信号源,输出的时钟是CCHD-957分频后直接驱动寄存器,为了避免读写竞争问题,我写了一段很长代码来处理,解码液晶屏上实时显示两个时钟的数据差,涉及自己核心技术,不做具体介绍了。但是我可以肯定,输出的时钟完全不受输入时钟的影响。

3

主题

0

好友

167

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
43532
帖子
168
精华
0
经验
167 点
金钱
161 ¥
注册时间
2008-5-19
 楼主| 发表于 2024-4-25 11:58 | 显示全部楼层
lszyc 发表于 2024-4-25 08:58
第一个结论错的原因:锁相环得有个VCO吧?锁相环输出的是压控振荡器产生的时钟吧?

压控振荡器是不 ...

你提到的“时钟抖动不光来源于源头的晶振,每一个门电路都是抖动的贡献者。”很对,这问题我考虑过,所以我做解码的时候输出时钟是用CCHD-957分频后直接驱动寄存器输出,就是为了避免经过太多门电路,走最短路径,而且分频芯片还用了低噪音的独立稳压电源,都是为了减少相噪。

18

主题

3

好友

3449

积分

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
202633
帖子
3370
精华
0
经验
3449 点
金钱
3367 ¥
注册时间
2010-5-18
发表于 2024-4-25 12:04 | 显示全部楼层
panjian 发表于 2024-4-25 11:47
多谢你的讨论意见,你对技术的认知是没问题的,可能我用到一些你没见过的处理方法,对于结论产生差异。
...

从你对机子表现的描述来看,你的输出时钟还是受到输入时钟的影响。你说的不同转盘的声音差异,不可能是误码的原因。你可以试试电脑播放WAV文件,随机更改WAV中的位进行测试,来看看误码对声音的影响是什么样的。正常CD机误码率在10^-12。


因为不了解你的实现方式,也就无法进行技术上的分析了。

18

主题

3

好友

3449

积分

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
202633
帖子
3370
精华
0
经验
3449 点
金钱
3367 ¥
注册时间
2010-5-18
发表于 2024-4-25 12:06 | 显示全部楼层
panjian 发表于 2024-4-25 11:58
你提到的“时钟抖动不光来源于源头的晶振,每一个门电路都是抖动的贡献者。”很对,这问题我考虑过,所以 ...

虽然手机有几片7010,但这块我是外行。希望有机器相关的技术测试数据,类似ASR那种。

3

主题

0

好友

167

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
43532
帖子
168
精华
0
经验
167 点
金钱
161 ¥
注册时间
2008-5-19
 楼主| 发表于 2024-4-25 12:13 | 显示全部楼层
lszyc 发表于 2024-4-25 12:04
从你对机子表现的描述来看,你的输出时钟还是受到输入时钟的影响。你说的不同转盘的声音差异,不可能是误 ...

1、输出时钟是晶振分频后直接驱动,不可能被中断或者被延时的。
2、转盘声音差异如果只是抖动问题的话,做好VCO已经降低很多抖动,但是差异依然很明显。再说把CD抓轨后以文件方式播放应该就可以避免抖动了。很多现象就解释不通了。对于转盘声音差异、对于头版碟好声,还有刻录碟的声音不知道你有什么高见?

18

主题

3

好友

3449

积分

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
202633
帖子
3370
精华
0
经验
3449 点
金钱
3367 ¥
注册时间
2010-5-18
发表于 2024-4-25 15:28 | 显示全部楼层
本帖最后由 lszyc 于 2024-4-25 15:46 编辑
panjian 发表于 2024-4-25 12:13
1、输出时钟是晶振分频后直接驱动,不可能被中断或者被延时的。
2、转盘声音差异如果只是抖动问题的话, ...


关于问题1,我明白你的意思,原因我认为有两个:一是bits clock可能是时钟分频直接输出的,但DATA的边沿可能会因为内存争用产生几个cpu时钟周期(bits clock的几百倍),这个在输入端处理完整IIS信号时钟(LRCK),可能会产生抖动;二是因为CMOS电路基本没有静态功耗,只有动态功耗,因此同一芯片上各异步时钟产生的地弹噪声和电源噪声相互干扰会比较厉害,输入信号的的时钟也会影响输出时钟。

关于问题2,我有CDM9转盘,也有DVD机芯的现代转盘,CDM9这类传统转盘,他的输出音频时钟是从CD碟上恢复的,因此不同的碟声音确实有差异。但对于DVD机芯的现代转盘,我试过听不出差异。关于抖动对声音的影响程度,你手里刚好有自己的平台,你可以试试,在7010的各路电源轨上用不同电容进行对比测试(声音和电源纹波):小容量电容MLCC(1uf以下)+普通(ESR在0.3以上的)电解和大容量MLCC+固态电容。对比纹波和声音。我相信你会有新认识。
VCO目前我知道的音频用转折频率都在200HZ以上,并且斜率不是很抖,受输入时钟影响还是很大的。如果把低频率的抖动看成是小提琴的揉弦,大致就明白低频时钟抖动对声音的影响了。

41

主题

3

好友

2383

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
275781
帖子
2340
精华
0
经验
2383 点
金钱
2317 ¥
注册时间
2010-12-26
发表于 2024-4-25 15:59 | 显示全部楼层
虽然不懂工作原理,但本人亲自实验了,本人的PCM56解码器,自从用有源时钟板代替原来的芯片旁边的无源晶振后,声音变得沉着稳定,背景变得宁静,效果可闻性提升,可见时钟信号能够直接影响解码器的音质,然后,我又给有源时钟板的供电摩了下,在7805供电前加入一只7808,变成两级稳压,输入12v没变,声音又变得更加细腻,甚至更换12v供电的退藕电容,声音都有明显的区别,足见供电对时钟的影响力,对音质的关系相当重要。

3

主题

0

好友

167

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
43532
帖子
168
精华
0
经验
167 点
金钱
161 ¥
注册时间
2008-5-19
 楼主| 发表于 2024-4-25 20:46 | 显示全部楼层
lszyc 发表于 2024-4-25 15:28
关于问题1,我明白你的意思,原因我认为有两个:一是bits clock可能是时钟分频直接输出的,但DATA的边 ...

看来你也是高手
继续探讨一下:
问题1 ,我的缓存读写都不是CPU操作的,iis输入到PL后,利用BCK作为时钟,把iis信号转成32bit的数据存入,哪怕有小幅度的时钟抖动都不影响写入数据的正确性;数据读取是用晶振分频后驱动的,读出来是32bit的数据,送入R2R网络,读取时钟除了分频没有其他任何控制。至于地弹噪音是通过物理隔离处理的,是电源和地线都隔离,都是绝缘的,数字电路和R2R电路隔离,左右声道隔离,也可以杜绝这个噪音。
问题2,基于问题1的情况下,我的解码已经把时钟抖动,地线噪音串扰,电源串扰都杜绝了,仍然能明显对比出转盘差异,所以我才得出误码问题的结论。

18

主题

3

好友

3449

积分

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
202633
帖子
3370
精华
0
经验
3449 点
金钱
3367 ¥
注册时间
2010-5-18
发表于 2024-4-25 21:46 | 显示全部楼层
本帖最后由 lszyc 于 2024-4-25 21:51 编辑
panjian 发表于 2024-4-25 20:46
看来你也是高手
继续探讨一下:
问题1 ,我的缓存读写都不是CPU操作的,iis输入到PL后,利用 ...



高手不敢当,就一老玩家而已,因为从小玩电子和计算机,所以对数字音频的声音差异感兴趣,想得比较多而已。

问题1:从你表述看你DAC的R2R开关是通过FGPA直接驱动,不是通过IIS信号传输后再转换驱动。你的R2R时钟是晶振直接分频,数据读取是什么时钟控制? 按一般情况看,我认为完全解决写锁定可能性比较小。没完全解决写锁定,那就还会受前面的时钟影响。
问题2:你说的地弹噪声通过物理隔离处理,我认为做不到,因为你的核心是一片ZYNQ7010,怎么做到物理隔离?你的输出时钟一定受影响。

因为不了解你DAC的整体框架,所以没法做深入分析,但从你的DAC对前端敏感性看,你说的时钟隔离、地线串扰和电源串扰都没有完全解决。

3

主题

0

好友

167

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
43532
帖子
168
精华
0
经验
167 点
金钱
161 ¥
注册时间
2008-5-19
 楼主| 发表于 2024-4-26 09:21 | 显示全部楼层
lszyc 发表于 2024-4-25 21:46
高手不敢当,就一老玩家而已,因为从小玩电子和计算机,所以对数字音频的声音差异感兴趣,想得比较多 ...



你的分析很深入,都涉及到核心技术。我只能说1、如果有竞争问题,vivado是综合不了,编译会报错的。2、地线的绝缘用万用表测量就可以确认了。这两个问题我是已经实现了的。

18

主题

3

好友

3449

积分

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
202633
帖子
3370
精华
0
经验
3449 点
金钱
3367 ¥
注册时间
2010-5-18
发表于 2024-4-26 21:16 | 显示全部楼层
panjian 发表于 2024-4-26 09:21
你的分析很深入,都涉及到核心技术。我只能说1、如果有竞争问题,vivado是综合不了,编译 ...

1、vivado对异步时钟下,双端口内存的竞争似乎不会报错。
2、你说的地线绝缘,可能是指R2R和FPGA之间的地线隔离,而时钟抖动是在FPGA就开始了。

3

主题

1

好友

499

积分

业余侠客 当前离线

Rank: 4

UID
874359
帖子
507
精华
0
经验
499 点
金钱
494 ¥
注册时间
2020-3-23
发表于 2024-4-29 21:11 | 显示全部楼层
数码味不会是由错码乱码产生的吧?正常情况下CD光盘能读出很多错码乱码?抖动就是数据错误?经过多级的数字处理,抖动早就不知道哪里去了吧?
一切都是想象。
所有的光盘在读盘的时候,肯定出来的是模拟信号,然后才转为数字信号。
没有想象中那么多的错误,放心吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部