发烧论坛

注册

 

发新话题 回复该主题

计算芯片的发展将让普通CD战胜LP [复制链接]

查看: 50885|回复: 320
1#
各位朋友,假如有一天你听别人说LP的声音比CD好很多,而下决心投身LP行列的时候,请不要把手中收藏的众多绝版CD处理掉。因为在这几年里面,由于计算机技术的快速发展,现在最新的高级CD唱机将会播出比80年代的CD唱机好n倍的声音。这个听上去有点像天方夜谭,但实际上这是真的,请听我详细道来。

不考虑混音、平衡的不同,现在支持LP的众多烧友所批评CD的缺点,也就是说因为CD格式的取样率和Bit数不够高,导致还原的波形和真实的差别,要比LP的模拟方式大。

的确,上述这个观点对于80年代CD播放机刚刚面世的时候,或许是对的。为什么?原因是,如下图:

[upload=jpg]Upload/200411169152929375.jpg[/upload]

虚线表示的是真实的声音信号,上面的几个黑点表示是CD格式里面的取样点,假如我们用直线把这些取样点连在一起,作为CD输出的声音曲线,那么从图中就可以看出,这样的输出信号,真的和实际的信号比起来,差别很大。并且很多攻击CD格式的说法,都是用这幅图来作为例子的。

不过也不要小看这种生成输出信号的方法,在数值分析里面,这种方法称为“分段线性插值”,这种算法是一种效率很高、计算速度非常快的算法。在80年代的时候,由于计算芯片的技术还远远不够现在这么发达,所以当时很多解码芯片,很可能(这里只能说很可能,因为每种芯片的制造厂家所采用的解码技术都属于是商业秘密,我没办法知道)就是采用类似的这种线性插值法进行运算的。并且由于CD的格式是每秒有44100个插值点,所以尽管采用这种已经是很简单的算法了,但是这么多的插值点对于当时的解码CPU来讲,我估计也是够呛的(据我所知甚致有的比较廉价的芯片,干脆每两个插值点扔掉一个,也就是说仅仅取其中的22050个数据点进行运算)。可想而之这样的解码芯片,怎么可能会有好声出呢?

有的朋友可能会说,看一些科普介绍文章说,很多解码芯片都是用“曲线”来代替上述的直线的。对,“以曲代直”正是现代芯片的核心问题。考虑到电路设计的可能性,D/A转换一般以多项式的形式来实现比较简便,n次多项式f(x) 是这样定义的:

[upload=jpg]Upload/200411169502580362.jpg[/upload]

其中x是变量,所有的a0,a1,…,an称为系数。它在二维坐标平面里面的图像就是一条曲线。解码芯片的任务就是通过给定的几个数据点,运算出一个多项式(也就是算出各个系数),使得这个多项式的图像:(1)经过给定的那几个数据点;(2)这个多项式曲线要尽量和这些数据点所在的原始的信号曲线吻合。

(未完待续)
分享 转发
TOP
2#

yxiao 在 2004-11-19 23:29:17 发表的内容
本不想再和这位朋友争论了,根本是对牛弹琴。但这位朋友实在是太能能装蒜了,有些朋友的思想比较容易产生混乱,所以有必要向大家澄清一下事实。我将努力用比较通俗的语言向大家解释,以便更多的朋友能够了解问题的所在,更多的朋友能够参与进来。

1、没有任何一种算法在任何时候都是绝对的优或绝对的劣。譬如,一组由1,-1,1,-1,1,-1……组成的PCM编码,可能代表一组方型波或者锯齿型波,那么假设现在有三种算法,算法A把这样的PCM编码解码为正弦波,算法B把这样的PCM编码解码为方型波,算法C把这样的PCM编码解码为锯齿型波,那么,我们怎么比较算法 A、B和C 的优劣呢?显然简单的“计算公式”是行不通的,因为在第一种情况下,算法B最优、算法A居中、算法C最劣;而在第二种情况下,算法C最优、算法A居中、算法B最劣。

2、既然我们已经知道我们不可能针对任意连续曲线提供一重“万能”的计算公式,那么我们是不是就不可能客观地评价这些算法的优劣呢。万幸的是,任何一种模拟量的曲线(例如音频曲线),都具有一定的数学特征,例如前面的1,-1序列如果是从音频曲线编码出来的,再假定我们已经知道多数音频曲线不太可能象方波或锯齿波那么“呲牙咧嘴”而是比较柔和一些,那么显然,这时我们“差不多”就可以知道三种算法中较好的一种应当是算法A。这里用到的数学方法是概率统计学,而上面提到的模拟量的曲线“数学特征”的取得,来自于我们声学工程师的经验。

3、从上面的讨论,朋友们已经看出了一种算法以及与之相关的评估体系的选用,与算法的用途直接相关。不存在一种万能的算法,可以一般地优于其他对手,事实上,适合语音、人声还原的算法就不一定适合器乐的解码还原,因为他们具有不同的“数学特征”。也许这也是不同品牌的CD解码器具有不同风格的原因之一吧。

先说这些吧。


还是先把二进制数转换为十进制吧,我的讨论是基于十进制实数域。
TOP
3#

楼上的朋友,的确以信号分析的工程师来看我的叙述,肯定会不地道的。的确您也描述了现在通用的数模转换方法,是正确的。我前面以为一些厂家采用的再取样等技术,是我所描述的样子,这个的确是由于我不了解情况所造成的错误。



但是,至于我提出的算法有没有用,可不可行,我前面已经给出叙述和例子。并且有足够资格的专家也告诉我,绝对可以做下去,所以我这里无须理会您对我的算法的任何评论。

不妨详细一点:尽管您可以说,现在没有人这样做(实际上,有,不过你不知道)——那是否就意味着这个方法没前途呢?相反,假如使用我这种算法,然后再搭配您所描述的再一次超取样的方法,那么我觉得起码最终输出的结果不会比现在的差,对吧?

至于我是否因为这样就没有资格探讨这方面的问题呢?一方面,因为我打算把这个问题给弄完整,所以我肯定会补充这方面的知识的;另一方面,我们一般的习惯是由电子方面的同行把要解决创新的问题转化为数学的语言告诉我们,然后我们做出来之后交还给他们转化为他们领域里面的描述。他们不会因为我不太懂得他们专业而对我有看法,而我也不会因为他们缺乏更强大的应用数学理论而不耐烦。对于他们在数学上的疑问,我都会跟他们详细解释,就像在这个论坛上一样。

您别以为我在这里空口无凭胡说八道,我是玩真的。甚至,我以前还真的玩过不大不小的一次。这里我不是想显耀什么,您可以看看《通信学报》03年11月那期我关于CDMA零相关序列编码的论文,估计按照您的眼光,保证您看完之后会大骂:kao,这样的“外行文章”都能上核心期刊?!——您可以尽管骂,不过就是这样的文章,它的结果却超越了同时期日本人和国内一位专家的两个最新的结果(它们都是发表在IEEE的Electronic Letters上的)。我没用任何关系,也不用导师推荐,甚至没用其他人帮我,我是靠自己拼出来的。尽管别人的用词很专业,但是我不怕,将有这个专业的同行帮我修改用词表述。

最后我也想说一说,为何国内的应用学科的发展总是比国外的要慢一拍:那是因为国内的圈子意识有点严重了,“内行”的总喜欢排斥“外行”的意见,一看不地道或很陌生就认为别人在胡说八道。的确这边EE的老师也说过我的描述缺乏信号处理专业的思维,但是他们却很欢迎我这个算法,并且打算辅助我把这个想法用他们的方式完善出来。资深民工朋友是普林斯顿EE毕业的,科班出身,我看过他主页上的论文,尽管我对他对我的批评方式持保留态度,但是看了他的论文之后,我深知创新、做别人没做过的事情的重要性。我觉得,假如按您这种方式来看待新的观点,那么信号分析这个领域真的就被禁锢在狭隘的思维里,不得发展。

我对于信号分析真的还有很多东西要学。不过也是EE的老师告诉我,尽管他之前没想过有我这样方法,不过我算的是正确的,并且绝对是可以做下去的。所以,我绝对坚持我的算法,并且充满信心。
TOP
4#

开心果 在 2004-11-19 21:47:09 发表的内容
很好的贴。所以我想请楼主解决一个问题:某段曲线用44.1千赫兹的取样频率取了20个点的值,归一化后的数值如下。请楼主用你的办法把取了样的那部分曲线较完整的恢复出来。如果不行,请说个理由。


开心果朋友,您要的结果已经算出来了,下面就是插值多项式在那20个数值点区间的图像,红色的点表示您原来给的数据点,由于系里的服务器也没有安装Hermite插值的插件,所以我用的是单项式基插值多项式,它们的效果差不多的:

[upload=jpg]Upload/200411202382647906.jpg[/upload]

从计算的结果来看,我估计您原来的原始信号曲线可能不属于声波的曲线。为什么呢?

请看看最后一个点和最前头一个点,插值多项式的曲线产生了极大的振幅,也就是说突然产生了极大的误差。

可能有朋友就觉得奇怪了:“你不是说插值多项式对于任何音频曲线都有极小的误差的吗?”——这个问题的答案是:任何音频曲线不等价于任何曲线——音频曲线是由一系列不同频率的正弦、余弦波线性叠加而成,由误差公式可以证明,把正余弦函数代进去算,它的误差数量级前面的系数(也就是f(x)的n+1次导数)是很小的有界值,它是收敛的;但是假如随便代进一条不是音频曲线的曲线,那么那项系数在某些点就可能会变得十分大,可能是发散的,使得最后的误差值变得不可以忽略(就像在这个例子里面的头尾两个点那样),这种现象在数值分析里称为Runge现象。

所以说,为什么我这么强调插值多项式对于音频曲线的奇妙作用,而不把它推广到其它范围,就是是因为音频曲线的特殊性质。

当然,由于我不知道开心果朋友的那条原始曲线,我也不敢绝对地说原始曲线不是音频曲线,也可能这个误差是由于插值多项式的次数还不够高(19次,对于单项式基插值来说是不高的)。
最后编辑felixcat
TOP
5#

开心果朋友,MATLAB里面有专门的命令包可以自动计算Hermite插值多项式等等插值算法。由于我的机器上没有装这个额外的工具包(要另外收钱),所以等阵子我去系里的工作站上把它画出来,所以请您稍候几个小时。
TOP
6#

可能有人会觉得不可思议——仅凭有限的几个取样点,为什么通过这些算法就能够反映出整条连续的曲线呢?——事实就这个样子,换句话说,这就是数学的威力(多项式插值是应用数学里面极为著名的例子,现在谁还说“数学不实用”呢?呵呵)。直到现在,多项式插值算法的研究仍然是计算数学里面的一个极为热门的话题。比上述几种插值法更加厉害的算法肯定还有,这里限于篇幅原因就不再多说了。

多项式插值需要的运算量不小,所以据我估计在80年代或者90年代初,当时的芯片技术水平还远没达到这个要求;就算是现在,假如不依靠硬件直接实现,用软件来进行实现的话,这也不是太轻松的事情,比如说在运行Unix平台的,采用双450MHz Ultra SPARC II的CPU、2G内存的Sun 220R工作站上进行CD格式数据规模的12次Hermite插值运算,所需要的时间仍然赶不上CD播放所要求的速度),所以我们或许可以理解,为什么性能好的D/A转换器要这么昂贵了——高性能的芯片的成本是不便宜的。

另外还有一个问题,这也是CD格式历来所被批评的:在制作的时候,也就是A/D转换,有一些电平值处于某两个二进制数之间,这个时候转换器要选择其中的一个作为近似值,这也是产生误差的一个根源。

(未完待续)
TOP
7#

K 在 2004-11-17 9:42:32 发表的内容
看的晕.
           总之建议诸位去听听好的LP系统再来说话.
           事物的存在总是有他的道理的.LP也是.


呵呵,再好的LP也逃不过我上述所说的客观事实。假如硬要说经过动态压缩的,或者18kHz以上信号微弱的LP声音好,那任何人也没办法,对吧?

假如建议别人去听好的LP来作决定,那我觉得是不公平的。或者用几十万的LP器材来和几万的CD来比,也是不公平的。另外不是任何一台前级的电气性能配LP和配CD都是一流的,所以还要考虑这个因素。还有,因为有钱的话,很多头版LP都可以轻易买来(至少在我这里是这种情况);但是很多好的头版CD,很难找。所以,要用好的LP系统,和好的CD系统,然后都播放好的LP和好的CD,这样才公平,对吧?

对了,顺便再多说一个事实,为何早期的CD最原汁原味呢?以EMI为例子,当时由于还没有能力足够强的计算机和软件可以去修改数码信号,所以早期CD的制作,只能一次性地转换成数码信号,之后就不可能再作任何音质上的修改了。这是EMI那本“百年红宝书”写的,第282页(原文甚至说得更干脆:没任何重新混音、没任何剪辑)。其他厂子的设备估计都是这个样子。

其实我写这系列帖子的目的,只是为了指出现实中的CD的技术性能和声音的真实性是令人满意的。我不去干涉每个人的听感,任何有头脑有理智的人,以真正客观的态度看完、听完、感受完之后,自然会有自己的判断和决定。

最后请注意:我建议LP爱好者重新去认识CD并不是等价于说要把LP扔掉啊,反之亦是。
TOP
8#

在CD格式标准里面,曾经给出了CD格式的失真界限为不超过0.01%,不过请注意这个数据是考虑到CD压制的时候的误码,电路运算的误差、还有光头拾讯的时候的机械误差——但是现在的CD机有的已经采用了类似光驱的那种同一信号多次读取的技术,已经基本能避免光头拾讯的误差(除非你听的是D版);而CD压制的工艺,其实一开始的时候很多CD厂的工艺水准已经远远超过CD蓝皮书上规定的最低界限,还有电路的问题,很明显花得钱越多,所得到的机器性能也就越好,因此0.01%的误差是保守的,现在一些高档的CD机都号称“误差不可测”(广告词,多多少少有些夸张了)。至于LP的播放系统的一般误差水平,相信玩LP的朋友们心里明白(想一想不同的LP唱盘、能调校出来不同的声音即知)。

对了,纠正一个或许存在的误解:CD格式的频响范围是从20Hz到21kHz(实际上在不特殊的情况下,CD编码器甚至能够识别、记录22.1kHz的声波——这是因为44100/2=22100,但是假如取样点刚好位于振幅的零点的时候则此频率无效,因此21kHz是肯定能保证的有效频响),那为何有的CD机标的频响上界是20kHz?这个我不知道,这要让制造厂商自己来解释。

但是,有一些朋友就是觉得听感上LP比CD强——其实这个现象已经有很多人研究过了,一般认同的结论是LP播放的时候,由于材料的特性,使得本底会产生一种本来不属于录音本身的特殊的有规律的噪音,这种噪音作用于人耳神经上的时候,会产生某种特殊的效果(具体描述我忘了,这种噪音是理论上就存在的,不管是多好的LP唱机都是无法避免的)。所以现在有的20bit制版技术,在编码的时候就会有意地混进这种特殊的噪音,使得在转换为16bit的CD数据之后,在CD机上播放会产生类似的本底噪音——这些都是听觉心理学的范畴了——也有研究表明假如如果让一个人经常接触不带那种特殊噪音的录音,那么那种特殊的噪音不会让这个人的听觉产生快感。不过这方面的范畴,谁是谁非很难说,姑且当作笑谈即可。要知道,电子管放大器的失真率高是铁证了,但是为何它放大出来的声音却会有迷人的感觉呢?这就印证了Dr. Pan前面贴子的论题:好听是否就代表了真实呢?

(未完待续)
TOP
9#

恩,所以我就说我不会去干涉其他人的听感的。听感是随着每个人的生活环境、交往的圈子、对事物的认知态度等等多方面、多角度的不同影像所形成,强行去扭转它是不好的。正好比尽管我不信任何宗教(呵呵,或者说我信的是“无神论教”),但是我尊重它们的信徒。
TOP
发新话题 回复该主题