数字信号
信号是信息的物理载体,信息是信号的具体内容。
连续时间信号:在连续时间范围内定义的信号,信号的幅度可以是连续的(模拟信号),也可以是离散的
离散时间信号:时间为离散变量的信号,即独立变量时间被量化了,而幅度仍是连续变化的
数字信号:时间离散而幅度量化的信号
从模拟信号到数字信号
我们经常处理语音的时候会发现两个常用的格式:“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,本身信息并没有增加,通常在插值之后我们还需要一个平滑,也就是在插入这些零点之后,后接一个平滑滤波器,利用相邻采样点之间的取值,把插入的值算出来,常用于语音升采样。
线性卷积 (linear convolution) : $y(n)=\sum_{m=-\infty}^{\infty} x(m) h(n-m)=x(n) * h(n)$
由卷积的定义可知,卷积在图形表示上可分为四步:翻褶、移位、相乘、相加。
$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$这个区间内,线性卷积和圆周卷积的关系。
一般的,如果两个有限长序列的长度为$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$个点,与线性相关的结果一致。
采样定理
模拟信号的采样:
采样:利用周期性冲激函数序列,从连续信号$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}$ |
时频分析与傅里叶变换
变换是一种常用的数学工具
其中$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.$$
前面的系数表示平面中的点在这个基向量方向上有多少个单位长度。
利用正弦波模拟方波
何为“频域”?
傅里叶级数 (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 |
连续 |
$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 |
连续 |
$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