|
发表于 2015-8-31 16:39
|
显示全部楼层
来自 澳大利亚
引用第47楼arron2004于2015-08-29 23:06发表的 :
实在是看不下去了,我来说说到底是怎么回事吧。所谓asrc,是针对src而言,是异步src。那么,为什么好好好的同步src不搞,偏要搞异步呢?这是有个背景的。我们知道,普通解码器采用接收芯片恢复(本质是锁相)时钟作为系统时钟,但是,有些高级运用,为了提高dac的时钟质量,需要采用本地晶振(君不见哪些上巴掌大的原子钟的解码器吗),这种情况下,就产生了一个问题:转盘送过来的数据速率和解码器本地晶振可能有频偏,怎么办呢?有同学说了,用fifo同步啊,说这话的同学我们可以认为是文科生,后面我再单独指出问题在哪;为了完成时钟同步,解码器不得不重新采样(为了同步,也可以直接把转盘时钟拉过来,这话另说),简称重采样;如何重采样呢?原理很简单,就是把输入的数据,在其随路时钟下进行‘DAC’转化,然后用本地时钟重新采样。有同学注意到了,我这里说的 DAC是打了引号的,啥意思呢?因为这个重采样,其本质是把转盘送过来的数字信号转化成模拟的,但这个转化过程,可以有多重实现方式,比如常见的插值,把数据插到足够密集(从频域看,其本质是把镜像频谱推到足够远,有多远滚多远),你想啊,如果数据点足够密集,密集到采样偏差低于采样时钟的jitter,那不就可以完美做到采样率转换了吗,所以,这个重采样是伴随着插值过程的,所以,叫ASRC。可是,插值运算伴随着非常恐怖的计算量,计算量来自两个方面:1、要想办法把插入的点计算的符合原本的样子,即恢复信号的本身;2、要插到足够多,像我刚才说的那么多。而这两个计算,还真不是cpu/dsp/fpga能做到的。既然做不到,问题就来了:插进去的点,既不真实,又不够多,硬生生的搞出了很多问题,所以,就有了老烧们传说的ASRC不好听。大家清楚了吧,问题不在asrc技术本身,而在asrc的实现过程运算量太大,基本上不可能做好。
还有,就是SDM(PCM转DSD,或者叫Delta-Sigma过程)如果不加入Dither的话,信噪比只有-36db
其实就是Dither把噪声从-36直接推向-144db |
|