数字信号处理与数字信号处理器
数字信号处理(Digital Signal Processing, DSP)与数字信号处理器(Digital Signal Processor,DSP)两者的缩写都是DSP,但凡是电子信息类专业的同学,都知道DSP是这个学科最重要的专业基础课程之一,但实际上,很多朋友对这两个DSP还有不少的误解。
数字信号处理是“是将
信号以
数字方式表示并处理的理论和技术”,这是维基百科的定义。在我们更多人的理解中,数字信号处理更多的是指理论方面,比如采样定理、Z变换、线性时不变理论、滤波器及其设计方法(包括FIR与IIR)、频谱分析(DFT,FFT)等内容。更高级的数字信号处理内容还包括自适应滤波、功率谱估计、多速率信号处理、小波变换等等。如果把这个框扩大一些,如定义所言,凡是以数字方式处理信号的理论均属于数字信号处理的范畴。
数字信号处理器则更多的是指具体的实现技术方面,也即是说是一类专门用于实现数字信号处理算法的半导体器件。这类器件主要针对数字信号处理典型算法如FIR滤波、FFT等专门优化了内核硬件结构。比如在寻址方式上提供圆周寻址以更有效地实现FIR滤波;再比如针对FFT算法中的位反转运算,提供了专门的指令;凡此等等,不一而足。只是因为这些有别于通用处理器的设计,使得数字信号处理器非常适合数字信号处理算法应用比较多的场合,比如在通信、语音、视频、雷达等许多的领域。
这两者的联系是明显的。数字信号处理提供思想武器和理论支持,是高高在上的领导者;数字信号处理器在理论的指导下,实实在在地实现某个算法的功能,是脚踏实地的实践者。针对某个特定的应用,如果没有成熟的算法,即便是DSP硬件电路搭建得再好,DSP的编程语言再熟悉,终究是解决不了问题。反过来说,如果算法成熟,如果没有设计优良的硬件电路,没有编写完善的软件代码,同样也很解决不了问题。在这个意义上,两者相互依存,解决实际问题缺一不可。
同样,这两者的区别也是明显的。数字信号处理更偏重理论的分析和推导,常用的工具是数学语言。数字信号处理器更偏重实践,常用的工具是硬件设计的辅助软件和专门的编程环境和编程语言。数字信号处理更本质,具有更大的普遍性。基本的理论永不过时。比如说数字信号处理基础的两大柱石滤波器设计与频谱分析,多少年来,一代又一代的人在不断学习。而数字信号处理器则具有易变性。随着半导体技术的不断发展,新的芯片层出不穷,今天还是功能强大的新芯片,明天可能就成了过时品,在市面上难觅踪影。另外,数字信号处理器只是实现数字信号处理的一类芯片,除此之外,其它类型的芯片同样可以实现数字信号处理算法,比如FPGA,功能可能更强大,从这个角度更能体现数字信号处理的普遍性。