前言
所有软件的运行都得益于硬件上的突破,数字信号是从40年前就开始高速发展的领域。得益于硬件上从一开始的中规模集成电路,到大规模集成电路,再到现如今的超大规模集成电路,促进了功率更小,体积更小,速度更快,价格更便宜的数字计算机。
硬件上的突破使得计算机可以执行复杂的数字信号功能和任务,当然并不是说数字信号就是解决所有信号的解决方案,对于一些需要及时处理的例如:带宽等信号,这种就需要模拟信号或者光信号。
而声音是一种波,恰恰可以将这种波转换成数字信号在软件中进行处理。
|版本声明:山河君,未经博主允许,禁止转载
一、模拟信号和数字信号的定义
1.语音信号
信号定义为随着时间、空间或者其他自变量而变化的物理量。在数学上可以用一个或者多个独立变量的函数表示出来,就例如:
s
(
t
)
=
5
t
s(t) = 5t
s(t)=5t
再拿声音举例,某种语音信号可以表示为几种不同振幅和频率的正弦波信号的总和,之前文章中有介绍声音波形,如果有不理解的可以看一下音频基础学习二——声音的波形。
例如使用下列累加和的形式来描述一个信号:
y
(
t
)
=
∑
i
=
1
N
A
i
sin
[
2
π
ω
i
t
+
θ
]
y(t)=\sum_{i=1}^NA_i\sin[2\pi \omega_i t+\theta_]
y(t)=i=1∑NAisin[2πωit+θ]
- N N N:是代表了有一个实际的语音信号是由 N N N个正弦信号叠加组成的数量
- A i A_i Ai:是每一个正弦波分量的振幅
- ω i \omega_i ωi:代表了每一个正弦波分量的角频率,也通过 ω i = 2 π f i \omega_i=2\pi f_i ωi=2πfi可以得到正弦波的频率
- θ \theta θ:代表了正弦波的起始位置,也就是初始相位
- y ( t ) y(t) y(t):各个频率的正弦波信号叠加后形成的信号
在自然界中发生的信号叫做自然信号,例如:人发出来的声音,地震、海浪的播放。这种信号往往是随着时间发生变化的。而在其中有分为一维、二维、三维的,例如音叉发出的语音就是一维的,图像则是二维的。
2.模拟信号与数字信号
通过对于自变量和输出值我们将信号分为以下几类:
- 连续信号:自变量为连续值例如随着时间变化的信号
- 离散信号:自变量为离散值
- 模拟信号:自变量和输出值均为连续值
- 数字信号:自变量和输出值均为离散值
在实际场景中,我们使用模拟系统来处理模拟信号,使用数字系统来处理数字信号
从这里就可以看出,如果想要在数字系统中对于语音信号进行处理,由于计算能力和存储能力的限制,只能对于数字信号也就是自变量和输出值均为离散值的信号才能处理,而数字信号往往是通过模拟信号经过离散采样得到的:
3.数字和模拟信号的区别一览
虽然可以在模拟系统中对于模拟信号进行处理,但是还是需要数字系统来对于语音处理,以下是数字信号和模拟信号的区别,这也是为什么需要数字系统来进行语音信号处理的原因:
特性 | 数字信号 | 模拟信号 |
---|---|---|
定义 | 数字信号由离散的数值组成,通常为二进制形式(0和1)。 | 模拟信号是连续变化的信号,代表物理量的连续变化。 |
表示形式 | 通过有限个离散的值表示,例如0和1。 | 通过连续的电压、频率或幅度等值表示。 |
信号类型 | 离散信号(离散时间、离散幅度)。 | 连续信号(连续时间、连续幅度)。 |
噪声抵抗 | 高,数字信号对噪声和干扰具有较强的抗干扰能力。 | 低,模拟信号容易受到噪声和干扰的影响。 |
精度 | 受限于位数(如8位、16位),精度取决于离散化程度。 | 理论上精度无限高,但实际受限于系统的分辨率和干扰。 |
数据处理 | 处理和存储容易,通常用于计算机和数字设备。 | 处理复杂,通常需要模拟设备和电路。 |
存储 | 容易存储和传输,可以用数字设备(如硬盘、闪存)。 | 存储和传输困难,通常需要连续介质(如磁带、模拟介质)。 |
示例 | 数字电话、数字计算机、CD、DVD。 | 音频信号、无线电广播、模拟电视。 |
转换 | 数字信号可以通过数模转换器(DAC)转换为模拟信号。 | 模拟信号可以通过模数转换器(ADC)转换为数字信号。 |
带宽需求 | 带宽可以被压缩,且在传输过程中具有良好的保真度。 | 带宽需求较大且更易受到信号衰减和失真。 |
典型应用 | 数据存储、数字通信、计算机处理。 | 音频处理、广播通信、模拟传感器。 |
二、模拟信号和数字信号的获取
上文介绍了模拟信号和数字信号的定义,那么在实际场景中,如何获取到数字信号和模拟信号呢?
1.获取模拟信号
模拟信号获取如下:
声音源通过传感器例如麦克风或者其他设备转换成模拟信号,实际上到这一步就已经获取到了模拟信号,但是在实际场景中,传感器会获取到很多不需要的信号,这个时候就通过滤波器进行筛选,得到最终处理的模拟信号。
关于滤波器的介绍会在接下来的文章中进行介绍。
2.获取数字信号
上文说过,数字信号提供了处理模拟信号的方法,这种处理模拟信号的数字处理,需要在模拟信号和数字信号直接有一个接口。而这个接口称为模数(A/D)转换器,而与之对应的,从数字信号到模拟信号接口称之为数模(D/A)转换器。
这里就可能有小伙伴有疑惑了,数字信号大多为0,1,是怎么转成模拟信号成为听到的声音的呢?
数字信号在被转换成模拟信号后,通过调制技术和信号处理可以实现振幅的变化,即通过改变模拟信号的某些属性(如振幅、频率或相位)
例如一种转换方法叫做脉冲振幅调制(PAM):
脉冲振幅调制是将数字信号转换为模拟信号的一种基础方法。在PAM中,数字信号的二进制位(0和1)被映射到不同的振幅值。例如:
- 0 可以映射为较低的电压值(例如,0V)。
- 1 可以映射为较高的电压值(例如,5V)。
这样,通过将数字信号的二进制数据转换为不同振幅的脉冲,信号的振幅就会随着数字信号的变化而变化。
这其实是一种数字信号编码方式,会在接下来的文章中进行介绍。
总结
这里是语音信号处理这一系列文章的开始,在实际处理数字信号过程中,我们往往要通过模拟信号的特征来进行处理,所以不能单纯的直接从数字系统直接出发。
如果对您有所帮助,请帮忙点个赞吧!