本周主要学习了数字信号处理基础以及常用特征提取两个内容,以下为听课笔记

一、数字信号处理基础

  • 模拟信号到数字信号转换(ADC,analog to digital conversion)

  • 离散信号中的定义

    • x(t) = sin(2πf0t)

      其中f0表示信号本身的频率,单位为Hz

    如果我们对此正弦波进行采样,每隔ts秒进行一次采样,并使用一定范围的离散数值表示采样值,则可以得到采样后的离散信号。

    • x(n) = sin(2πf0nts)

      其中 ts为采样周期; fs = 1/ts,为采样频率,或采样率,表示1s内采样的 点数, ts 为采样周期; n = 0,1, … … 为离散整数序列

问题:如果给定一个正弦波采样后的序列,如(b), 可以唯一的恢复出一个连续的正弦波吗?

  • 频率混叠

结论:如上所示原始信号频率是f0,(5)中对应的信号频率是 **f0+kfs(整数倍的信号采样频率)**,两者得到的离散序列一样。即若以同样采样周期进行采样,得到的离散序列完全一致,这种现象就叫做“频率混叠”。

  • 奈奎斯特采样定律

采样频率大于信号中最大频率的两倍!fs/2 ≥ fmax

即在原始信号的一个周期内,至少要采样两个点,才能有效杜绝频率混叠问题。

  • 傅里叶变换

一个非周期的信号是不存在频率的,因为频率是周期的倒数,也就是说大部分函数应该是不存在所谓的周期和频率的,然而,伟大的傅里叶证明了一个东西:任何连续的函数可以分解为很多个周期信号的线性组合。广义一点来讲就是,任意函数可表示为周期函数的线性组合,那么每个周期函数都有各自的周期,也都有各自周期的倒数(频率),傅里叶变换的工作就是把一个信号中每个周期信号通过频率展现出来。

二、特征提取流程

Fbank和MFCC(Mel-Frequency Cepstral Coefficients)特征目前仍是主要使用的特征,虽然有工作尝试直接使用波形建模,但是效果并没有超越基于频域的特征。

Step1 预加重(pre-emphasis)

预加重滤波器实质上是一个一阶高通滤波器,低频 信号(即时域上信号变换慢的信号)将被抑制。给定时域输入信号𝑥[𝑛],预加重之后的信号为 𝑦[𝑛] = 𝑥 [𝑛]− 𝛼x[𝑛 − 1],其中,0.9 ≤ 𝛼 ≤ 1.0

Step2 加窗(windowing)分帧

why:语音信号为非平稳信号,其统计属性是随着时间变化的;语音信号又具有短时平稳的属性,在一个发音单元里,语音信号表现出明显的稳定性,规律性;在进行语音识别的时候,对于一句话,识别的过程也是以较小的发音单元 (音素、字、字节)为单位进行识别,因此用滑动窗来提取短时片段。

分帧的过程,在时域上,即用一个窗函数和原始信号进行相乘 y[n] = w[n]x[n]

w[n] 称为窗函数,常用的窗函数有 矩形窗, 汉明窗 (Hamming)

加窗主要是为了使时域信号似乎更好地满足 FFT 处理的周期性要求,减少泄漏。

Step3 傅里叶变换

将上一步分帧之后的语音帧,由时域变换到 频域,取DFT系数的模,得到谱特征。

Step4 梅尔滤波器组和对数操作

  • DFT得到了每个频带上信号的能量,但是人耳对频率的感知不是等间隔的,近似于对数函数
  • 将线性频率转换为梅尔频率,梅尔频率和线性频率转换关系

image-20220702144129891

  • 梅尔三角滤波器组:根据起始频率、中间频率和截止频率,确定各滤波器系数

  • 梅尔滤波器组设计

    • 确定滤波器组个数P
    • 根据采样率fs,DFT点数N,滤波器个数P,在梅尔域上等间隔的产生每个滤波器的起始频率、中间频率和截至频率,注意,上一个滤波器的中间频率为下一个滤波器的起始频率(存在overlap)
    • 将梅尔域上每个三角滤波器的起始、中间和截止频率转换线性频率域,并对DFT之后的谱特征 进行滤波,得到P个滤波器组能量,进行log 操作,得到Fbank特征
  • MFCC特征在Fbank特征基础上继续进行IDFT变换等操作

    • 倒谱分析

    FBank 特征的频谱图大概长下面这个样子,图中四个红点表示的是共振峰,是频谱图的主要频率,在语音识别中,根据共振峰来区分不同的音素(phone),所以我们可以把图中红线表示的特征提取出来就行,移除蓝色的影响部分。其中红色平滑曲线将各个共振峰连接起来,这条红线,称为谱包络(Spectral Envelope),蓝色上下震荡比较多的线条称为谱细节(Spectral details)。

    频域信号可以分解成谱包络(Envelope)和谱细节的乘积,不同音素的谱包络和共振峰具有区分性。

  • IDFT,逆傅里叶变换

  1. |𝑋[𝑚]| = |𝐻[𝑚]| |𝐸M|
  2. log |𝑋[m]| = log |𝐻[𝑚]| + log |𝐸[𝑚]|
  3. 两边进行IDFT
  4. IDFT之后的第1~K个点,为 K 维MFCC特征

Step5 动态特征计算

  • 一阶差分(Delta, Δ),类比速度,最简单的一阶差分计算方法

  • 二阶差分(Delta delta, ΔΔ),类比加速度,简单计算方法

Step6 能量计算

三、总结

  • 一帧信号,通常为20 ~ 50 ms

    微观上足够长:至少包含2~3个周期

    宏观上足够短:在一个音素之内

  • 频谱具有精细结构和包络

    精细结构反映音高,用处较小(次要)

    包络反映音色,是主要信息

  • 三角滤波的结果Fbank

    将精细结构做了平均

    计算每个三角形内部总幅度(能量)

  • 三角形左密右疏

    人耳👂的频率特性,人耳对低频信号敏感,分辨率比较高

    高频则分辨率较低,三角形比较细

  • 得到MFCC

    Fbank基本可以作为语音识别的特征,进一步进行数学变换,即取对数和离散余弦变换,将filterbank压缩成更小规模,得到13维向量的MFCC

  • MFCC序列是最常用的特征

  • 主要描述频谱包络

    优点:排除基频,符合听觉,维度低

    缺点:视野小,受噪声、回声、滤波影响严重

    改进:加入一阶(视野小,上下文)、二阶差分;各种归一化(回声滤波)

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐