语音信号处理入门系列(2)——信号处理中的几个关键概念

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。语音信号处理入门系列(2)——信号处理中的几个关键概念,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

数字信号

  信号是信息的物理载体,信息是信号的具体内容。

连续时间信号:在连续时间范围内定义的信号,信号的幅度可以是连续的(模拟信号),也可以是离散的

离散时间信号时间为离散变量的信号,即独立变量时间被量化了,而幅度仍是连续变化的

数字信号时间离散而幅度量化的信号

从模拟信号到数字信号

语音信号处理入门系列(2)——信号处理中的几个关键概念

我们经常处理语音的时候会发现两个常用的格式:“pcm”和“wav”,这两种格式其实本质上是一样的,pam是脉冲编码调制(pulse code modulation)的一个缩写,pcm的实质就是这三个步骤:采样量化编码。

数字信号基本运算

移位:设某一序列x(n),当m>0 时,x(n-m) 表示序列x(n) 逐项依次延时(右移)m 位。(左加右减)

翻褶:设某一序列x(n),则x(-n) 是以n=0 的纵轴为对称轴将x(n) 加以翻褶。

:$z(n)=x(n)+y(n)$

:$z(n)=x(n)·y(n)$

累加:$y(n)=\sum_{k=-\infty}^{n}x(k)$

差分 (一阶):$y(n)=x(n)-x(n-1)$

尺度变换:对于序列$x(n)$, 形如x(mn)或者x(\frac{n}{m})(m为正整数)的序列为$x(n)$的尺度变换序列。

以$x(2n)$为例,是以低一倍的抽样频率从x(n)中每隔两点取一点,这种运算称为抽取,常用于语音信号的下采样,通常在抽取之前要加入一个防混叠的滤波器。

类似的,$x(\frac{n}{2})$ 称为插值,在语音信号每两个点之间插入一个值,因为我们不知道这个插入的值是多少,一般插0,本身信息并没有增加,通常在插值之后我们还需要一个平滑,也就是在插入这些零点之后,后接一个平滑滤波器,利用相邻采样点之间的取值,把插入的值算出来,常用于语音升采样。

语音信号处理入门系列(2)——信号处理中的几个关键概念
语音信号处理入门系列(2)——信号处理中的几个关键概念

线性卷积 (linear convolution) : $y(n)=\sum_{m=-\infty}^{\infty} x(m) h(n-m)=x(n) * h(n)$

由卷积的定义可知,卷积在图形表示上可分为四步:翻褶、移位、相乘、相加。

语音信号处理入门系列(2)——信号处理中的几个关键概念

$x_n$的长度为$N_1$,$h(n)$的长度为$N_2$,卷积之后信号$y(n)$的长度为$N_1+N_2-1$

线性卷积的应用:模拟远场数据

  近讲纯净语音信号卷积一个房间冲击响应(RIR)=远场语音信号(带有混响)

圆周移位 (circular shift) :$x_{m}(n)=x((n+m))_{N} R_{N}(n)$

  其中,$x((n+m))_N$表示$x(n)$经过周期( N )延拓后的序列,再移位$m$,$R_N(n)$为取主值序列$R_{N}(n)=\left\{\begin{array}{ll}1 & 0 \leqslant n \leqslant N-1 \\0 & \text { other } n\end{array}\right.$

圆周卷积 (circular convolution)

如果$x_1(n)$和$x_2(n)$都是长度为 N 的有限长序列$0\leq n\leq N-1$,并且

$\left\{\begin{matrix}D F T\left[x_{1}(n)\right]=X_{1}(k)\\ D F T\left[x_{2}(n)\right]=X_{2}(k)\end{matrix}\right.$==》$Y(k)=X_{1}(k) X_{2}(k)$

则$x_1(n)$和$x_2(n)$的圆周卷积定义为

$$\begin{aligned}
y(n)=I D F T[Y(k)] &=\left[\sum_{m=0}^{N-1} x_{1}(m) x_{2}((n-m))_{N}\right] R_{N}(n) \\
&=\left[\sum_{m=0}^{N-1} x_{2}(m) x_{1}((n-m))_{N}\right] R_{N}(n)
\end{aligned}$$

结论:在时域的圆周卷积相当于在频域这两个傅里叶变换的乘积

注意:与线性卷积相比,圆周卷积多了 周期延拓 和 取主值序列 两个步骤。因此必须指定圆周卷积的点数 N 。

圆周卷积和线性卷积的关系

圆周卷积

$$\begin{aligned}
y(n)=I D F T[Y(k)] &=\left[\sum_{m=0}^{N-1} x_{1}(m) x_{2}((n-m))_{N}\right] R_{N}(n) \\
&=\left[\sum_{m=0}^{N-1} x_{2}(m) x_{1}((n-m))_{N}\right] R_{N}(n)
\end{aligned}$$

线性卷积

$$y(n)=\sum_{m=-\infty}^{\infty} x(m) h(n-m)=x(n) * h(n)$$

给定两个有限长序列$x_1(n)$和$x_2(n)$,他们的长度分别为:$N_1=5$,$N_2=3$。相应的取值如下图,我们重点研究$0\leq n\leq N-1$这个区间内,线性卷积和圆周卷积的关系。

语音信号处理入门系列(2)——信号处理中的几个关键概念

语音信号处理入门系列(2)——信号处理中的几个关键概念 
语音信号处理入门系列(2)——信号处理中的几个关键概念

一般的,如果两个有限长序列的长度为$N_1$和$N_2$,且满足$N_1\geq N_2$,则圆周卷积的后N_1-N_2+1个点,与线性卷积的结果一致。

线性相关(linear correlation) :$r_{x y}(m)=\sum_{n=-\infty}^{\infty} x(n) y^{*}(n-m)$

圆周相关(circular correlation)

如果:$R_{x y}(k)=X(k) Y^{*}(k)$

则$x(n)$和$y(n)$的圆周相关定义为:

$$r_{x y}(m)=I D F T\left[R_{x y}(k)\right]=\sum_{n=0}^{N-1} y^{*}(n) x((n+m))_{N} R_{N}(m)=\sum_{n=0}^{N-1} x(n) y^{*}((n-m))_{N} R_{N}(m)$$

圆周相关和线性相关的关系线:一般的,如果两个有限长序列的长度为$N_1$和$N_2$,且满足$N_1\geq N_2$,则有圆周相关的前$N_1-N_2+1$个点,与线性相关的结果一致。

采样定理

模拟信号的采样:

语音信号处理入门系列(2)——信号处理中的几个关键概念 

采样:利用周期性冲激函数序列,从连续信号$x_a(t)$中抽取一系列的离散值,得到采样信号,即离散时间信号 $\hat{x}_a(t)$。

冲激函数序列:$公式2.1:\delta_{T}(t)=\sum_{m=-\infty}^{\infty} \delta(t-m T)$

则,采样信号:$公式2.2:\hat{x}_{a}(t)=x_{a}(t) \cdot \delta_{T}(t)$

将(2.1)代入(2.2),得:$\hat{x}_{a}(t)=\sum_{m=-\infty}^{\infty} x_{a}(t) \delta(t-m T)$

由于$\delta(t-mT)$只在$t=mT$处于不为零,因此:

$$\hat{x}_{a}(t)=\sum_{m=-\infty}^{\infty} x_{a}(m T) \delta(t-m T)$$

采样后信号频谱的变化

$$\hat{x}_{a}(t)=x_{a}(t) \cdot \delta_{T}(t)$$

等式两端取DTFT之后

$$\hat{X}_{a}(j \Omega)=\frac{1}{2 \pi}\left[\Delta_{T}(j \Omega) * X_{a}(j \Omega)\right]=\frac{1}{T} \sum_{k=-\infty}^{\infty} X_{a}\left(j\left(\Omega-k \Omega_{s}\right)\right)$$

其中$\Delta_{T}(j \Omega)=D T F T\left[\delta_{T}(t)\right]$

结论:频谱产生了周期延拓 ,周期为$\Omega_s$。因此,只要各延拓分量与原频谱分量不发生频率交叠,则可以恢复原信号。

公式推导

$$\hat{X}_{a}(j \Omega)=\frac{1}{2 \pi}\left[\Delta_{T}(j \Omega) * X_{a}(j \Omega)\right]=\frac{1}{T} \sum_{k=-\infty}^{\infty} X_{a}\left(j\left(\Omega-k \Omega_{s}\right)\right)$$

其中$\Delta_{T}(j \Omega)=D T F T\left[\delta_{T}(t)\right]$,由于$\delta_T(t)$是周期信号(周期为 T ),则可以表示成傅里叶级数

$$\delta_{T}(t)=\sum_{k=-\infty}^{\infty} A_{k} e^{j k \Omega_{s} t}$$

其中$\Omega_{s}=\frac{2 \pi}{T}$为采样频率,

$$\begin{aligned}
A_{k} &=\frac{1}{T} \int_{T} \delta_{T}(t) e^{-j k \Omega_{d} t} d t=\frac{1}{T} \int_{T} \sum_{m=-\infty}^{\infty} \delta(t-m T) e^{-j k \Omega_{c} t} d t \\
&=\frac{1}{T} \int_{T} \delta(t) e^{-j k \Omega_{s} t} d t=\frac{1}{T}
\end{aligned}$$

因为在一个积分区间T$[-\frac{T}{2}, \frac{T}{2}]$内,只有一个冲激函数。

奈奎斯特采样定理

要想采样后能够无失真的还原出原信号,则采样频率必须大于两倍信号谱的最高频率。

$$f_{s}>2 f_{h}$$

空间“采样定理

  频域 空域
采样 冲激函数序列 麦克风
采样率 $f_s$ $d$
信号的最高频率 $f_h$ $\lambda_{min}$
防混叠条件 $f_s>2f_h$ $d<\frac{\lambda_{min}}{2}$

时频分析与傅里叶变换

变换是一种常用的数学工具

语音信号处理入门系列(2)——信号处理中的几个关键概念

其中$e_x$和$e_y$构成标准正交基 ,满足如下条件前

$$\left\{\begin{array}{c}
\left\|\mathbf{e}_{x}\right\|=\left\|\mathbf{e}_{y}\right\|=1 \\
\left\langle\mathbf{e}_{x}, \mathbf{e}_{y}\right\rangle=0
\end{array}\right.$$

前面的系数表示平面中的点在这个基向量方向上有多少个单位长度。

利用正弦波模拟方波

语音信号处理入门系列(2)——信号处理中的几个关键概念

何为“频域”?

语音信号处理入门系列(2)——信号处理中的几个关键概念

傅里叶级数 (Fourier Series)

  如果$x(t)$是一个周期为$T_0$的周期性连续函数,则$x(t)$可展开成傅里叶级数:

$$\begin{array}{l}
x(t)=\sum_{k=-\infty}^{\infty} X\left(j k \Omega_{0}\right) e^{j k \Omega_{0} t} \\
X\left(j k \Omega_{0}\right)=\frac{1}{T_{0}} \int_{-T_{0} / 2}^{T_{0} / 2} x(t) e^{-j k \Omega_{0} t} d t
\end{array}$$

解读:$\Omega_{0}=2 \pi F=\frac{2 \pi}{T_{0}}$傅里叶级数系数的计算,实质上是通过内积的方式,“抽取”对应频率分量的系数。

连续傅里叶变换 (Fourier Transform)

  连续非周期信号$x(t)$的傅里叶变换可以表示为:

$$\begin{array}{l}
X(j \Omega)=\int_{-\infty}^{\infty} x(t) e^{-j \Omega t} d t \\
x(t)=\frac{1}{2 \pi} \int_{-\infty}^{\infty} X(j \Omega) e^{j \Omega t} d \Omega
\end{array}$$

解读:这应该是大家在“信号与系统”里学到的第一个傅里叶变换公式。它仍然是通过内积的方式,“抽取”对应频率分量的系数。与傅里叶级数不同的是,由于时域信号非周期,因此频域中是连续谱。

离散时间傅里叶变换 (Discrete Time Fourier Transform)

  离散非周期信号 x(n) 的 DTFT 可以表示为:

$$\begin{array}{l}
X\left(e^{j \omega}\right)=\sum_{n=-\infty}^{\infty} x(n) e^{-j \omega n} \\
x(n)=\frac{1}{2 \pi} \int_{-\pi}^{\pi} X\left(e^{j \omega}\right) e^{j \omega n} d \omega
\end{array}$$

解读:DTFT 与傅里叶级数互为正反变换。

离散傅里叶变换 (Discrete Fourier Transform)

  离散周期信号 x(n) 的 DFT 可以表示为:

$$\begin{array}{l}
X(k)=\sum_{n=0}^{N-1} x(n) e^{-j \frac{2 \pi}{N} n k}=\sum_{n=0}^{N-1} x(n) W_{N}^{n k} \\
x(n)=\frac{1}{N} \sum_{k=0}^{N-1} X(k) e^{j \frac{2 \pi}{N} n k}=\frac{1}{N} \sum_{k=0}^{N-1} X(k) W_{n}^{-n k}
\end{array}$$

其中$W_{N}=e^{-j \frac{2 \pi}{N}}$

解读:DFT 只针对有限长序列或周期序列。

DFT相当于对 DTFT 中的正变换加以采样,造成时域信号的周期性,因此时域信号应限制在一个周期内。 凡是用到离散傅里叶变换的时候,有限长序列都是作为周期序列的一个周期来表示的,都隐含有周期性意义。

离散傅里叶变换的矩阵形式

定义Fourier 矩阵:

$$\mathbf{F}=\left[\begin{array}{ccccc}
1 & 1 & 1 & \ldots & 1 \\
1 & W_{N} & W_{N}^{2} & \ldots & W_{N}^{N-1} \\
\vdots & \vdots & \vdots & \vdots & \vdots \\
1 & W_{N}^{N-1} & W_{N}^{2(N-1)} & \ldots & W_{N}^{(N-1)(N-1)}
\end{array}\right] \quad W_{N=e^{-j \frac{2 \pi}{N}}}$$

Fourier矩阵的性质:$\mathbf{F}^{H} \mathbf{F}=\mathbf{F} \mathbf{F}^{H}=N \mathbf{I}$—>$\mathbf{F}^{-1}=\frac{1}{N} \mathbf{F}^{H}$

$$\begin{array}{l}
\mathbf{X}(k)=\mathbf{F x}(n) \\
\mathbf{x}(n)=\mathbf{F}^{-1} \mathbf{X}(k)
\end{array}$$

傅里叶变换的四种形式

  时间函数 正变换 反变换 频率函数

Fourier
Transform

连续
非周期

$X(j \Omega)=\int_{-\infty}^{\infty} x(t) e^{-j \Omega} d t$ $x(t)=\frac{1}{2 \pi} \int_{-\infty}^{\infty} X(j \Omega) e^{i \Omega t} d \Omega$

非周期
连续

Fourier
Series

连续
周期

$X\left(j k \Omega_{0}\right)=\frac{1}{T_{0}} \int_{-T_{0} / 2}^{T_{0} / 2} x(t) e^{-j k \Omega_{0} t} d t$ $x(t)=\sum_{k=-\infty}^{\infty} X\left(j k \Omega_{0}\right) e^{j k \Omega_{0} t}$

非周期
离散

DTFT

离散
非周期

$X\left(e^{j \omega}\right)=\sum_{n=-\infty}^{\infty} x(n) e^{-j \omega n}$ $x(n)=\frac{1}{2 \pi} \int_{-\pi}^{\pi} X\left(e^{j \omega}\right) e^{j \omega n} d \omega$

周期
连续

DFT

离散
周期

$X(k)=\sum_{n=0}^{N-1} x(n) W_{N}^{n k}$ $x(n)=\frac{1}{N} \sum_{k=0}^{N-1} X(k) W_{n}^{-n k}$

周期
离散

离散傅里叶变换的几个问题

频谱泄漏

频谱泄漏是指由于信号截断造成的原始信号频谱扩散现象。

产生频谱泄漏的原因是对信号的截断 。信号的截断相当于在原始信号$x(n)$与一个窗函数$w(n)$相乘,在频域中相当于各自频谱的卷积过程。卷积的结果造成原始信号频谱的“扩散”(或拖尾、变宽),这就是频谱泄漏。

栅栏效应

  因为DFT 计算频谱只限制在离散点上的频谱,也就是$F_0$的整数倍处的谱,而无法看到连续频谱函数,这就像通过一个“栅栏”观看景象一样,只能在离散点的地方看到真实景象。这种现象称为“栅栏效应”。

  减小栅栏效应的方法就是要是频域抽样更密,即增加频域抽样点数,就好像距离“栅栏”的距离边远一些。在不改变时域信号的情况下,必然是在时域信号末端 补零 。补零后的时域数据,在频谱中的谱线更密,原来看不到的谱分量就有可能看到了。

语音信号DFT的共轭对称性

  时域中的语音信号,经过离散傅里叶变换DFT后的频谱是共轭对称的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/159119.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!