老莫

谈谈数字信号这个概念

0
阅读(1120) 评论(1)

数字信号看似一个非常常规而成熟的概念,其实含有很大的混淆。今天就来大概谈谈这个概念,和大家讨论。


按照我们通常的定义,数字信号是指幅度和时间都离散的信号叫“数字信号”。而很多书里面也说处理数字信号的电路就是数字电路。其实真的是这样吗?之前被我带过的女生质问过说她认为什么Digital Sensor、Digital LDO都是假的,因为这些电路处理的都是“模拟信号”。所以这些都是“模拟电路”。她觉得她当时做的课题不是“做数字”,因此对此很不满意。当时由于很多问题没想清楚,也不想和她深入争论这个问题。但现在得空了,就来好好分析一下这个问题。


这事首先要讨论一个问题。什么叫信号(Signal)。按照信号与系统的定义,信号是传递有关一些现象的行为或属性的信息的函数。而这个函数通常自变量是时间或者是位置。随着时间连续变化的信号,那么背定义为模拟信号。而不是随着时间连续变化,也就是间隔一段时间(通常为固定周期)变化的信号,其实就是离散时间信号。而如果离散时间信号只有有限个取值的,就是数字信号。所以我们谈数字信号,实际上谈的是信号本身的一种属性或者数学上的特征。如果抽象的来谈信号,其实就是一个数学上的函数的概念。一个数(自变量)与数(因变量)的关系。


但从另外一方面来讲,信号是必须有载体的。是要有物理的现成才能把信号表示出来。现实世界的物理现象(宏观上的)如果以时间为自变量,那么绝大部分都可以表示成某种物理量的变化过程。而这种变化过程中,时间是连续变化的而物理量也是连续变化的。这显然是一种模拟信号。例如温度的变化,飞机速度的变化等等。自然界有没有天生的数字信号?应该是没有的。但是应该是极其特定的条件下有天生的离散时间信号。此刻我的脑子里就浮现出来了一个匀速跳跃的青蛙。它的位移量应该是一个离散时间信号……(我是不是不知不觉又续了?)


如果我们要对这些信号加以记录和处理,我们应该是先把这些信号转变为电信号。这个转换的过程就叫做“传感”。执行这个过程的器件叫做传感器。传感器把某种物理量转变成了以电压或者电流表示的信号。这个信号是对现实世界物理量的“复刻”或者说“再现”,因此这个也符合模拟信号的特点。


我们也知道我们要把模拟信号用数字信号处理的办法来求解,是要把模拟信号用数字信号来表示。那么第一步就是要把模拟信号由时间上连续变为时间上离散的。大家都知道这个过程叫做采样。采样完了的信号时间上是离散的,间隔了若干周期才变化。但是因变量的取值仍然是随意的。那么在接下来的过程中,通过把这些因变量映射到固定的数值上去。这个过程上叫量化。但是这个量化,在实际的物理过程上就有问题了。按理说量化完了,这个信号就已经是自变量也离散,因变量也离散了。最后就应该是数字信号了啊。但是为什么我们的AD转换过程应该三步:采样、量化、编码啊(严格说来是四步:采样、保持、量化、编码,但是这个保持的过程是做ADC电路设计时候才考虑的)。这就涉及到一个问题:那就是数字信号的“表征”问题。


既然数字信号是自变量和应变量都是离散的。那我们其实最直观的想到的就是用一个有有限个幅度值的脉冲信号来表征它。比如1就是1V,2就是2V,3就是3V……事实上,在数模转换中,我们其实是把常规的数字信号转换成了这种类型的脉冲。但我们在真实的系统中并没有用这种方法来表征数字信号,而是采用了的一套二进制的数值系统来表征这个数字信号。这个二进制的数值系统是采用多个二值信号+权重的方式来表示数值的。所以我们知道了,编码的过程,本质上是将数字信号转换为以特定的二进制数值系统表征的过程。当然,也可以考虑将其转换为多进制(如苏联大力研制的三进制)或者其它体系的数值系统(如余数系统、随机数等)。而所谓的“数字信号处理”,实际上是对已经被某种数值系统表示出来的数字信号加以计算。本质上是在用“数值计算”的方法来处理。常规的“数值计算”自然是二进制的加减运算了。而如果表示为非常规的数值系统,其实也可以做数值计算。比如余数系统就是前几年大热的一种数值系统,很多做信号处理电路的人是在这个层面上做创新。发了(水了)不少论文。


回过头来说。构成这个二进制数值系统的根基,是二值化的特定信号。这种信号显然是一种数字信号(时间上离散,取值只有两种)。所以大家讲数字信号的时候往往是在讲这种信号。但这并不是数字信号的全部。但恰恰又是我们通常以这种二值信号为基础构建的二进制数值系统来表征了数字信号,从而产生了概念上的混淆。


最后回到当年那个女生问我的问题。现在我应该翻过来回答,凡是电路的工作过程中,信号的变化过程是以时间离散且应变量离散的方式进行的,都应该是Digital的。比如 Digital LDO,就是把LDO的变化从连续的可调,变为了通过在时间上开关一组LDO。从连续的控制变成了时间也离散,因变量也离散的控制。这种当然当得起“Digital”的名。


至于数值系统的事,回头再聊。

  1. 有意思