发烧论坛

注册

 

返回列表 «23456789» / 33
发新话题 回复该主题

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

查看: 50361|回复: 320
51#

不敢发烧 在 2004-11-16 17:08:43 发表的内容
按这个讲法,是否以后我可以用电脑来当音源?


假如阁下的电脑的声卡的电路保证避免电气误差,并且能够编出运行速度足够快的程序,并且能够杜绝机箱里面其他不必要的干扰,原则上来讲,可以。

其实,现在CD的制作流程里,基本上是首先是把混好音的母带转换为数码数据(这时这对数码数据是一个完整的大文件),然后把数据传输到计算机硬盘里(别害怕,硬盘的读写纠错方法保证没有错码的——除非硬盘有坏道),把曲目分隔划分好,然后再刻成玻璃母模,再送去压片场制造的。
最后编辑felixcat
TOP
52#

Hermite插值法还有一个难点在于,在运算的时候要知道真实波形曲线在数据点处的切线的斜率——但是这个信息在CD格式取样的时候是没有的。但是幸亏我们现在面对的是声音信号,声音波形的特点在于按等长坐标轴来描绘曲线的时候,每一段曲线都是相当“陡峭”,(因为声音一秒钟振动几万次,但是电平振幅少说都有零点几伏的变化),所以我们可以近似地把相邻的两点之间的连线的斜率作为曲线在该处的斜率——请注意这里的斜率的“近似”所造成的误差和本文前面讲的用线段联结数据点构成输出曲线的误差是两码事,它的误差经计算,最极端的情形(电平突然变成无穷大,实际上这是不可能的)最多也大概是10的负8次方。

除了Hermite插值法之外,还可以使用Lagrange(拉格朗日)插值法,它比Hermite的优势在于不需要估计斜率,光靠数据点就可以计算,不过要达到Hermite插值法的精度,Lagrange法要采用高一倍的多项式次数才行(也就是说12次Hermite插值的精度,等于24次Lagrange插值的精度)。不过从硬件实现的角度来看,Lagrange算法的时间复杂度要小一些——所以这些方法都是D/A转换器可以采用的好方法。

同样我们也可以理解,为何现在很多CD机采用“升频”的形式进行解码了,因为理论上越多的取样点,就可以在单位时间长度内进行越高次数的多项式插值。

(未完待续)
TOP
53#

假如有实际软件能做出这类算法,那就是真的造福大众了
(没人开发...)
TOP
54#

国货当自强 在 2004-11-16 16:20:05 发表的内容
Wadia861的插值系统:
遥控器也允许用户选择3种数字滤波和插值算法。标准的,也是默认的算法,是wadia专利的V2.4 DigiMaster spline-fit插值算法.这种算法被设计成使内部的瞬时劣化(temporal smearing)最小化。根据wadia的文档,一个普通的D/A转换操作和低通滤波会把一个脉冲劣化超过大约±1.7ms。DigiMaster算法把这个误差减小到±0.13ms,这在很大程度上造就了wadia播放器精确,精准的声音。另一面是DigiMaster算法牺牲高频延伸达到瞬时精确度。wadia的文档显示从5到10kHz有一个微小的滚降,大约16kHz有1dB的下降,而18kHz有3dB。

另两种可选的算法使用独特的插值方法,通过3个串联的步骤达到他们32倍过取样:2x/8x/2x.这些算法提供了更好的高频延伸响应,实际上平坦的到达20kHz--代价是在这个过程中有较多的瞬时失真。这些算法实际上没有改进普通的转换器和滤波器,然而也可以把时域失真减小到±0.5ms。


那么说Wadia采用的是样条函数类的插值方法了。不过这里国货兄所说的似乎是在算法确定之后,Wadia如何减少电路运算所产生的误差方面——比如说所有二进制CPU都是采用浮点运算的,所以在算法误差基础上还要考虑电路运算误差等等——不过这是另外一个话题了,不属于算法上的范畴了。

另外瞬时劣化这个概念应该是从英文单词里直译过来的吧?它具体是怎么定义的呢?
TOP
55#

以上的问题在数值分里面称为“多项式”插值。到目前为止,多项式插值有五花八门的不同方法,都能给出极高的,甚至令人难以想象的高精度。比如说,Hermite多项式插值法(Hermite是19世纪法国著名的数学大师)在给定的区域内的逼近效果最为惊人,下面是它的一个例子:

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

图中比较细的那条曲线是随机给出的一条任意的曲线,按照Hermite插值法计算,仅仅以7次多项式(它的图像是图中用比较粗的那条曲线)就能够在 t 从1 到 4 的这段范围内达到无与伦比的精确度——大家看看就清楚了,两条曲线都重合在一起了。由此可想而知采用分段形式(也就是把上述那种精确的曲线一段一段头尾相接拼起来)的Hermite多项式插值法为算法运算的芯片,能够给出多么真实的信号了。

可能有人会说,上面那幅图里面你把那条粗线画得那么粗,是不是会把误差给隐藏起来呀?呵呵既然我们不相信自己的眼睛,那么这里我可以给出一个真真实实的数据——根据著名的“插值误差公式”,不管原始的波形是什么样子,7次Hermite多项式插值的误差都是10的负14次方那个数量级的,也就是说,误差最多就是0.0000000000000x(小数点后13个0,哈哈,问你死未?),在很极端的情况下,数量级前面或许会乘一个比较大的数,不过这仅仅会让精确度在小数点后面减去2-3个零而已。

并且我们还要知道,现在最新的比较高档的解码器,用的远远不止7次多项式来运算的,比如说很著名的“怀念”(Wadia)牌子的解码器,在4年前就开始用12次多项式插值(具体是哪种插值算法厂家保密)来进行运算,可以算出12次Hermite多项式插值(据我估计它很可能就是采用类似这种方法的,因为Hermite插值太厉害了,没有人能够抵挡得住它的诱惑的,哈哈)的最大误差是10的负27次方(也就是0.00000000000000000000000000x这种样子,小数点之后26个零!够吓人的吧),大家可想而知这种解码器解出来的声音信号,是多么地精确啊!不管原始的声音信号波形是如何复杂,这种多项式插值都能还原出极度准确的信号出来。

(未完待续)
最后编辑felixcat
TOP
56#

天神 在 2004-11-16 13:34:49 发表的内容
真正的博士!

4!
TOP
57#

:O我服了!!数学家?
TOP
58#

Meridian 新出的G08 CD机就像一台电脑,把CD数据先读出来,在内存里缓冲,然后重新同步,精度非常高.

此类设计比传统的单DAC的CD机的jitter要小得多了,也许是未来的发展方向.
TOP
59#

支持。技术上(从数学上)是行的。我想问一下,音乐信号到底是怎样的,比如又有高音又有中音又有低音(同时),曲线不是一条曲线吧?取样是怎样取的
TOP
60#

jjmok372 在 2004-11-17 13:59:58 发表的内容
felixcat大侠,问一个彩鸟问题。复杂的声波能不能分解成简单的波形呢?也就说用象你上图那样简单的波形来合成乐器的声音?该怎么办?


恩,这个肯定是可以的。其实这就是著名的傅立叶分解,它在信号分析领域里面起了奠基性的作用,其具体原理是这样的(因为HTML网页不支持数学公式,所以只能贴图,请见谅):

[upload=jpg]Upload/2004111715221813497.jpg[/upload]
TOP
发新话题 回复该主题