利用函数wavread对语音信号进行采样_合成重叠相加与信号重建

在语音信号处理中,如何进行信号重建无疑是一个需要重点考虑的问题,我们假设一个语音信号为

,那么,正常的情况下如果我们要对
进行频域方面的操作处理,我们首先会对
进行分帧加窗,同时取得一系列的分帧信号
,其中,k是一个整数,表示这是第k个分帧信号.

为了减少在频域分析中的泄漏,对

进行STFT变换(短时离散傅里叶变换)前,我们都会对其进行加窗,设一个窗函数为
那么,我们就有对于第k帧的加窗结果

同时,我们定义其STFT的结果

在理想的情况下,如果我们不对

进行任何的处理,我们要取得原始信号
只需要对
进行ISTFT(短时离散傅里叶逆变换)然后再除以
就可以了

但遗憾的是,如果我们需要在频域对信号进行处理,上面的方法并不适用,频域的任何微小变化都会因为逆变换再除以窗函数而放大,这也就是为什么我们需要另寻出路的原因.

对信号进行重建,一种较为普遍的是OLA(Overlap-and-Add)方法,简单来说,在对原始信号进行分帧时,相邻的两帧是有一部分的重叠区域的,对于语音信号处理,一般情况下,这个重叠区域为50%或75%,那么在信号重建时,每个帧经过逆变换后,也需要进行对应的叠加

因此重叠部分的加强部分与选择的窗函数有所关联

其中R为时域采样周期.为了精准地重建

,计算出C是一个关键,但幸运的是,比较常用的三角窗和汉宁窗,在50%叠加时,其

因此这也就是为什么我们在信号处理时,会有一个overlap的原因

你可能感兴趣的:(利用函数wavread对语音信号进行采样_合成重叠相加与信号重建)