POPPUR爱换

标题: 时间、误差和时基抖动——挑剔老板和狡猾雇员的故事 [打印本页]

作者: 王逸驰    时间: 2008-7-24 23:29
标题: 时间、误差和时基抖动——挑剔老板和狡猾雇员的故事
说到jitter(时基抖动),搞音频设备的人都有所耳闻。而AD/DA的设计师,则是终生都要和jitter这个最大的敌人作斗争。那么,jitter到底是什么,为什么那么难对付呢?下面我们要说的,都是关于jitter的事情。Jitter,用一种通俗易懂的语言说,就是某位同学(脉冲信号)迟到或者早退了(未能按时到达)7 k. x- N8 o. R, b4 i$ Z  X0 D
; D: n/ }, Y' q: g% q. s2 c
我们就拿一个生动的例子来说明jitter,现在假设你是一个勤劳但是比较狡猾的雇员,每天都按时上下班。而我,则是一个非常挑剔苛刻的老板。每天早上830,你都要到办公室打卡报道,如果迟到就会罚钱。一般情况下,你都会在前台时钟显示830的时候前来报道,这样你一来不会迟到,二来可以尽最大可能多睡一会儿。相信一般上班族都会有这种赶时间的经验。这种情况下,你这个狡猾的雇员根本就不可能迟到(除非发生大堵车等太意外的事情),我这个挑剔苛刻的老板自然看你不顺眼,终于有一天,我忍耐不住,决心要拿你开刀。但是我必须做些不同寻常的事情才可以——在时钟上搞些鬼。读者们说了,你是不是要把时钟调快些? 唉,我怎么也不能这么周扒皮吧,再说这样做技术含量太低了,你这个狡猾的雇员心里也不服啊。于是,在某天你上班的时候,就看到了一个新时钟,样子没变化,但是即使显示变了,以前只显示到分,这回这个钟却显示到了秒。很不幸,今天你到达的时候正好是83001,这时候终于轮到我说话了:“哎呀,迟到了一秒,扣钱!”6 j8 ]! f& u8 O0 C  S
  L  S% N+ V+ o  u4 b
这个例子生动地反映了jitter的一些特性。按照大部分人的常规思想,8300183015都算做按时到达,而不应该算成迟到,这个结果用逻辑表示就是“True”,而不是“False”,用计算机的二进制语言来说就应该是1,而不是0。不论是8300183015,都是1。这点揭示了“如果jitter不大于一定程度,jitter不会引起数据错误”的特性。而我们常说的数字音频传输是无损的传输,在这一方面是对的。那么,jitter为什么会影响音质呢?这要从声音的特性说起。声音是一个模拟量,在现实生活中是以波的形式存在和传播。在模拟设备中,音频信号是一个连续的信号。通过采样量化等过程后成为数字信号。如果我们观察Cooledit中的波形图,发现除了纵轴振幅之外,横轴则对应的是时间。也就是采样的任何一点,都需要时间和振幅的共同确定。如果只有振幅,则虽然在“01”的尺度是无损的,没有时间这个波形图仍然可能是失真的。一个相同的振幅,在坐标图上的可能位置是一条与时间轴平行的直线。一个精确的音频信号,需要的是1个点而不是一条直线,因此数字信号的无损论,在这里失去了作用。
2 R1 U8 D3 L0 X$ X+ g0 E/ g' y 0 _6 N* X- p6 T" D1 m3 v7 e
那么,既然数字音频对于时间精度的要求这么高,你这个狡猾的雇员就想想办法吧。你首先想到的第一个办法就是我——老板,办公室里面的基准时钟。直接偷?你没有那么笨——因为我很快就会换一个新的,你仍然无法成功。那么,你用你的时钟对准我的基准时钟不就可以了?但是仔细想想,有这么几种可能性会使得你的计划落空。首先,你如何保证我的基准时钟就走时绝对精确?其次,你如果保证你的时钟走时和我的基准时钟绝对相同?这两个问题在常规中是不会存在的,但是到了数字音频微秒级的时间精确度上,就显得尤为重要了。那么,你最后的决定是什么?最佳对策当然是携带一个和我的基准时钟尽量接近的时钟,这样能够有效抑制迟到的可能——也就是jitter,但是不能消灭它。传输携带时钟信息的音频信号,能够有效抑制jitter,但不能消灭jitter——因为这之中你有太多的因素难以控制,因此无法彻底消灭jitter; L+ b8 n% J4 A* k4 M& B6 }8 S
1 ]% U* b/ v4 X& C7 g
下面我们开始考虑一个更加复杂的情况,这类情况是经常在数字音频系统中出现的。假设我要求你在绝对的83000报道,90000到达会议室开会,那么你会出现什么情况呢?如果你对我的要求置之不理,在83024报道,90036到达会议室。报道和到达会议室开会是两个独立事件,互相之间并没有明确的联系。比如说并不是你迟到了24ms,而开会也会在此基础上迟到xxxms。这也揭示了jitter的一个特性——在一个系统内部,不同阶段的jitter不会累加。如果从两个独立事件这一议题思考开来,如果如果在第一个时间上达到绝对准确的8:30:00,考虑到第二个事件的时间不会发生变化,则到达会议室的时间则会变为9:00:12,比原来的误差大幅度减少了。如果第二个事件中你是90005到达的会议室,则现在你会在85941到达,误差的幅度增大了。这个例子说明了jitter的又一项特性——在一个系统内部,一个阶段的jitter将会影响到下一个阶段的jitter,结果是可能变大、也可能变小。而考虑到可控制的因素,这个影响我们可以认为是负面的,因为其结果更加不可预测,只会增加我们消除jitter的难度。
( o6 G* u0 r& \& a4 |: [
( J0 n" e: l$ t那么,现在我们要着手解决这个问题。首先我们排除偷窃老板的基准时钟这种非常规办法以及上文中已经提到的携带一个和老板的基准时钟尽量接近的时钟,还能有什么新方法呢?我国有句古话叫做夜长梦多,放在这个情形中就可以这样解释——尽量缩短你看不到基准时钟的过程,比如在上面的例子中,你可以在报道的时刻校准一下自己的时钟,而不是很快地去干下面的事情。正确的做法是你要知道你是在基准时钟的什么时间到达,上文中你是8:30:
4 A( v" H" |  s3 f: f24报道的,这时候你可以调整一下自己的时钟,先和基准时钟对齐。这样,在下一段较短的过程中,你出现的误差的可能性要比整个过程完全不知道的情况要缩小一些。这种缓一缓的过程,也就是常用的抑制jitter的方法之一——缓存。缓存的意义在于把一段较长的过程(误差概率积累结果较大)分成几段较短的过程(误差概率积累较小)。在现实中,多段或者说多阶缓存是抑制jitter非常有效的方法,被广泛采用的。譬如英国之宝(MERIDIAN),就是使用多阶缓存抑制jitter的杰出代表,此外当然少不了大名鼎鼎的Apogee. i2 N2 ~' K' s* I
- b$ G4 h1 B& J) ~4 E  i4 d# p
下面我们从现实生活中回到理论世界。Jitter带来的,是波形时间上的失真,而不是振幅上的失真。而波形时间上的失真,则会导致波形的相位变化,产生相位失真。而在音频中,相位失真会影响到频率响应,尤其是高频方面的准确性,从而进一步带来定位的模糊感以及空间感觉的丧失。因此,简要来说,jitter会带来整体的模糊感,影响声音的清晰度。接下来我们要说的,就是从相位出发的一种抑制jitter的方法——锁相环电路(PLL),其原理在于通过知道输出信号与原始信号的相位差变化,通过相位的修正或者说补偿而使得两者相位保持同步。锁相环电路也是很常见的抑制jitter方法之一。3 R7 i, d9 {* Z8 U

/ d# o6 ]  |- N9 G下面,我们要说的是jitter的种类,按照产生的位置分,jitter可以主要分为传输jitter和交界面jitter。传输jitter,也就是在传输中产生的jitter,多见于线材,比如同轴和光纤的数字输出,USBIEEE等外接总线中,都会产生传输jitter。而交界面jitter,则有数字接口以及参考时钟和外部转换器之间产生的交界面jitter。此外还有各种具体称谓的jitter,比如转盘jitter等等,这里就不再细说了。
1 w8 y* \/ [' Z
# t# e! o! X! x# {要想彻底认识jitter对于音频的影响,更主要在于区分什么是数据流,什么是实时音频流。在数据流中——电脑中传输各种文件,jitter虽然存在,但是对于最后数据的结果没有任何的影响。用一句话来说就是jitter一般不会产生误码(0变成1这类错误被称为误码)。当一个时间轴的错误达到无限大能造成误码的时候,其也不在被称为jitter,而被称作误码了。在传输数据的时候,用户不会,也不可能关心你的文件是在83000还是83012拷贝到电脑上面的。因此,这种情况下jitter毫无影响力,数据是无损的。而实时音频流的典型例子,则是用电脑播放CD,由于声卡需要源源不断的接收信号,却又不可能等待不准时的信号——如果等待超过一定的时间,则会出现爆音或者中断现象。因此,在这个时刻,jitter就开始扮演重要角色了。即便数据仍然是无损的,但是声音受到jitter的影响,产生了变化。因此,区别数据和音频,关键在于要认清时间所起作用的大小,要清楚时间因素是否会影响到最终的结果。许多人,往往忽略了这一点,将实时音频流等同于数据流,这是错误的。
! i# [) Z2 B9 f( Y5 v" t( A. ^ 4 g5 F4 ?3 h* \
Jitter最害怕的,莫过于时钟了。最后我们介绍的,就是音频世界的时钟,我希望能告诉告诉大家,那些天价的AD/DA,大部分钱花在了哪里,他们贵在什么地方。就拿Apogee来说吧,其最出名的时钟莫过于大笨钟了(Big Ben: K$ @4 m2 a  c+ _  n! T( ?
+ C$ u! r4 o; g. G: x& o
$ q2 E$ E  T* q
这些时钟的作用,在于提供尽量和原信号时钟相近的时钟,从而达到抑制jitter的结果。ApogeeAD/DA之所以出名,不在于他们用料如何夸张,而在于Apogee时钟的准确性。当Apogee第一次将AD/DA内部时钟独立出来做成Big Ben之后,立刻引起了轰动。并且实践证明,Big Ben相当成功。除了Apogee,另一个AD/DA的宗师级厂商——dCS,对于时钟也有独到的研究,使得其AD/DA一直是人类能够达到的最高技术水平的代表。对于高端用户以及高档录音棚来说,一台独立的高精度时钟,将能够令你整个音频系统有脱胎换骨的提高。
作者: xinxin1982    时间: 2008-7-24 23:30
沙发一次。。。
作者: cc627346351    时间: 2008-7-24 23:31
学术的东西啊!!!能不能用一句话概括?!{victory:] {victory:]
作者: zerozhong    时间: 2008-7-25 08:56
缓存存入存出的时候会出现JITTER吗?
作者: goodayoo    时间: 2008-7-25 09:13
对于录音意义大一点吧。! B* D% B' w- C7 x. |
1 h+ v5 ~; v# [! V( |- g# ^* H4 e
对于回放呢?有没有意义?
作者: maomaobear    时间: 2008-7-25 12:18
关键是人的耳朵对这个东西是否敏感到可以判断出来
作者: ITANIUM2    时间: 2008-7-25 13:47
写的不错,表扬下[handshake>
作者: wansijie    时间: 2008-7-25 13:52
顶顶。。保存下来以后慢慢看。
作者: 情歌王子    时间: 2008-7-25 14:13
原帖由 goodayoo 于 2008-7-25 09:13 发表 - R: @/ h4 ?0 Y0 Q: I0 d  ?: E
对于录音意义大一点吧。2 t* s" n$ D! y1 F" p

8 A, `, {' J" l0 v% a( ^/ g* c/ P对于回放呢?有没有意义?
8 f$ r0 a  S  z, N& C
7 i+ f7 C2 l; s# o* V8 o0 x
录音也在音频技术讨论范围内...没有好的录音,再牛的回放设备也放不出好效果..{lol:]
作者: carte    时间: 2008-7-25 14:38
不错,很通俗易懂。。( p; F( T* I; b/ }% J. m0 B, u1 D
赞一个。
作者: Metaverse    时间: 2008-7-25 15:38
简单来说,就是正确的数据必须在正确的时间到达~~打不恰当的比方,就算音高全部正确,但节奏不合要求,音乐照样是严重失真。
作者: bull    时间: 2008-7-25 15:50
说的不对 关于JITTER对DAAD转换的影响
9 H, d& a% F7 |) \4 h5 p6 ~楼主的说法只适用于R-2R结构的芯片
作者: bull    时间: 2008-7-25 15:51
原帖由 Metaverse 于 2008-7-25 15:38 发表
' `0 A* s/ x' e( }  G7 b简单来说,就是正确的数据必须在正确的时间到达~~打不恰当的比方,就算音高全部正确,但节奏不合要求,音乐照样是严重失真。
2 r# x5 r( [4 Y# i* W
这个只对R-2R结构的AD DA芯片正确- [% Q1 u# }( c2 J  p3 X! h/ c
∑△的DA AD芯片完全不是这么回事
作者: hdht    时间: 2008-7-25 16:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: 红发IXFXI    时间: 2008-7-25 16:43
:wacko: 学术性的东西。。。
作者: Metaverse    时间: 2008-7-25 19:19
原帖由 bull 于 2008-7-25 15:51 发表   R7 |+ U+ p8 Q0 F
; x/ X: ?# ~& f. {% L
这个只对R-2R结构的AD DA芯片正确* O+ k# @+ F( [* h/ w6 t
∑△的DA AD芯片完全不是这么回事

  a2 c2 g) g$ d& m* M; ~! Q8 n原来如此……:huh:
作者: 酷风    时间: 2008-7-25 22:43
原帖由 hdht 于 2008-7-25 16:22 发表
/ X) @: j& f$ \. Z; v1G缓存统统搞定
7 H& X7 N. w  O3 s0 P& {
怕是没有那么简单
作者: bull    时间: 2008-7-25 23:03
原帖由 hdht 于 2008-7-25 16:22 发表
6 d" d4 N& d7 o1G缓存统统搞定

5 U7 h6 \; d& P, v9 c$ ~4 d) h$ [这个只能消除上一级电路的JITTER
作者: 王逸驰    时间: 2008-7-25 23:08
原帖由 bull 于 2008-7-25 23:03 发表
& F& d5 L1 T! B3 w- N7 Q0 G
7 ^$ s/ R( C  P, |9 Y这个只能消除上一级电路的JITTER

2 R7 Q' g, E3 O# x" s6 |: N2 `/ |8 z) `  l9 s* V- S$ n
1G的缓存未必能达到这个目标啊
作者: bull    时间: 2008-7-25 23:42
原帖由 王逸驰 于 2008-7-25 23:08 发表 ( B0 r+ [' ~) D% K! c' x
. m8 ?1 d! E3 `
: E2 s1 W- ]# `& A& g2 [
1G的缓存未必能达到这个目标啊
+ d. t! B0 l8 |  W
那当然 最多只能消除上一级JITTER
作者: chairmanai    时间: 2008-7-25 23:58
原帖由 bull 于 25-7-2008 11:42 PM 发表
0 \# k& E$ _" T! ]" j: l  W! y: X6 T
那当然 最多只能消除上一级JITTER

" b3 M8 _; E. f0 g" \: H+ J" W- h
你的1704捣鼓好没?{mellow:]
作者: bull    时间: 2008-7-26 12:04
原帖由 chairmanai 于 2008-7-25 23:58 发表 ) C  g% V& B5 ?
6 t8 {$ |9 }! V, W2 T' \( I
9 Z; P. x$ q' d2 i* B* S
你的1704捣鼓好没?{mellow:]
刚刚配齐全部芯片
2 s& p7 O2 T  R& g+ ]万恶的米帝啊 PCM1704居然是禁运物资
作者: chairmanai    时间: 2008-7-26 13:03
原帖由 bull 于 26-7-2008 12:04 PM 发表 * i2 B' A* M( t6 g5 E9 c
刚刚配齐全部芯片5 l  ^% u) i; k& ]
万恶的米帝啊 PCM1704居然是禁运物资
% ]$ o1 T+ Y: v
, [; h0 S$ [6 A; j3 k; {! N
谁叫1704这糖衣炮弹长得太YD?{lol:]
作者: hdht    时间: 2008-7-26 13:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: yoya2000    时间: 2008-7-26 18:22
好文,学习了。
2 M5 G8 Z, p+ d% c看到最后,得出结论:时基抖动是不可能完全消除的,就好像世界上没有两片相同的树叶一样。4 M: {+ H* I2 z8 t; g( @) S6 F
不过对于音频系统来说,由于人的听觉是有极限的,只要系统的时基抖动所造成的失真远远小于人耳能察觉的范围,就可以认为系统是没有时基抖动的。
. A; L+ Q, Z' P8 \+ v( O4 W个人觉得最有效的办法就是尽量的采用高精度的系统时钟,随着科技的进步,相信有一天大家不会再关心系统是否存在时基抖动。) S3 |" ~+ R' h' ^8 F5 M( v

) F! V- e- D# W: V[ 本帖最后由 yoya2000 于 2008-7-26 18:24 编辑 ]
作者: RiYaYaDe    时间: 2008-7-26 18:29
好深奥。。                 .
作者: HerculesVR    时间: 2008-7-26 23:08
好深                                                                                                               奥。。           `
作者: 柯德唐志    时间: 2008-7-27 12:51
原帖由 Metaverse 于 2008-7-25 15:38 发表   a2 l- `# W3 k$ H0 k( R5 U0 d
简单来说,就是正确的数据必须在正确的时间到达~~打不恰当的比方,就算音高全部正确,但节奏不合要求,音乐照样是严重失真。

# T# F2 P2 s2 f8 m+ Q 其实最简单的反映是 节奏不对. 那么整体性的表现听感就会偏离很多了.




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4