总是听到有人拿数字系统和模拟系统做对比,其实二者根本就不是一个层次的,模拟化会更加全面一些,它在努力重现一些事实,并且在某种程度上力图达到效果的一致,比如模拟放音机,它就是用来试图重现声音的,其实我们的世界模拟概念无所不在,我写文章其实就是在模拟我的思想...但是模拟系统有个固有的弊端,就是无法做到百分之百重现,因为模拟系统会加入一些副作用,这种副作用是不可避免的,在哲学意义上讲,为了一个目的我们引入一些机制,而想要该机制起作用我们必须付出一些代价,不幸的是,这些机制并不能百分之百生效,总会有副作用,因此,模拟系统不可能百分之百精确,这就是事实,这是一个必然的事实,就算到了后来的数字系统也是不可更改的事实,在模拟系统中除了精确性之外,传输也是一个问题,因为模拟系统中传输的就是我们的信号,就是真正的数据,而且这种数据是模拟信号,每损失一点那就是一点,数据按照时间的图像是连续的而不是离散的,这样一点损失都会造成数据丢失,鉴于此,模拟系统一般都会有中继系统,信号放大系统等等,即便如此,信号还是要失真的,因为模拟系统传输的就是原本的数据,所以要花大力气来保证数据的完整性和正确性,可以说模拟系统的任何措施都是为此而设置的,这么看来模拟系统可畏娇气,一个闪失带来的是整个数据的残缺。
这时我们看一下数字系统,在数字系统中,主要就是解决模拟信号的传输问题,因为模拟信号的不精确是固有的,无法改变的,但是传输性质却是可以改良的,因此数字系统主要解决传输问题,数字系统解决的另一个问题就是存储问题。其实数字系统只是模拟系统的一个策略而已,模拟系统才是机制,毕竟即使计算机这样的数字系统,芯片中的电路实现还是用安培,欧姆,伏打来定义和描述的,数字系统必须有一个支撑系统就是编码,这种编码就是一个协议,两端彼此约定好的一套规则,数字传输中不再传输数据本身,而只传输数据的编码,比如两端都约定好数字1代表汉字“我”,那么我们为了传输“我”这个字,只需要传输一个数字1就可以了,因此这个意义上数字传输又好像是间接寻址,就好像我们写程序中使用的指针数据类型,不用传递数据结构本身,而只要一个指向这个数据结构的指针即可。因此,我们可以说,数字系统依赖编码,如果没有编码系统,数字系统只是一堆没有用的代码,数字系统处理的不是真正的数据而只是数据的编码而已,可以看出一个编码系统是多么的重要,世界上所有的信息如果要被数字系统处理就必须要经过编码,可以看出一个编码系统有多么庞大。既然数字系统处理的是编码,那么这就是数字系统中“数字”的精髓,也就是说我们不再需要连续的量来表征数据本身了,毕竟自然界中真实的东西就是连续的非离散的,因此为了重现这种自然事物的模拟系统就是连续的,但是只需要处理编码的数字系统因为处理的不是自然事物本身,那么它就没有必要是连续的了,只需要的离散的“数字”就可以,如果你要是问,离散的数字怎么能表征自然界的连续事物,那么这就是编码范畴的问题了,这牵扯到一个分辨率和精度的问题,就不多谈了,不管怎么说,自然事物肯定能够被编码的,详细的论述可以看看信息论。
本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1273560