概述
一、频谱
- 原理:傅里叶变换
采样频率:大于原信号频率的2倍
- 方法:fft和ifft函数(fft点数即为频谱频率范围)
fft函数后频率的区间:前面是[0,fs/2],后边是[-fs/2,0]
为了恢复正常频率区间,需要用fftshift函数
截取正频率:fft以后截前半段或者fftshift以后截后半段
- matlab程序:
%时域波形
w=rectwin(61)%矩形窗函数
subplot(411)
plot(w,'k')
xlabel('样本数');ylabel('幅度');title('矩形波时域波形')
%频域波形
w1=fft(w,1024)%对窗函数做1024点的fft
w2=w1/(max(w1))%幅度归一化
w3=20*log10(abs(w2))%出来的是双边频谱(数学谱)
w4=fftshift(w3)%频谱搬移
f=0:1023
f0=f-1024/2%中心搬移到0处
subplot(412)
plot(f,w3,'k')
xlabel('频率f');ylabel('幅度/dB');title('矩形波频谱')
subplot(413)
plot(f,w4,'k')
xlabel('频率f');ylabel('幅度/dB');title('矩形波频谱(搬移后)')
subplot(414)
plot(f0,w4,'k')
xlabel('频率f');ylabel('幅度/dB');title('中心为0的矩形波频谱(搬移后)')
能量谱:傅里叶变换的平方
功率谱:针对功率信号,(傅立叶变换的平方)/(区间长度) 或者 自相关函数的傅里叶变换
二、倒谱
1、工程定义:信号功率谱对数值进行傅立叶逆变换的结果。
2、实际过程:是实部求逆变换,也叫实倒谱,用于估计语音参数
之所以在分析中用的不是功率谱,可能是因为二者之间差了^2,在后续的ln中变为系数2,关系不大。
虽然是倒频谱,但是横轴不是频率,是时间,也叫二次谱,对数功率谱。
- 复倒谱:与实倒谱相差一个因子,用于恢复实际波形
3、语音信号的倒谱分析
- 作用:分开声道信息和声道信息
- 理解过程:
语音信号是激励信号被声道调制的结果,也就是时域的卷积
经过傅里叶变换以后,激励信号与声道信息转换为频谱分布,是激励信号与声道的相乘,其中包络是慢变化(相当于时域的低频信号)代表的是声道信息;内部是快变化(相当于时域的高频信号)代表的是激励的谐波信息。
时域快变化,对应频域的高频分量;时域的慢变化,对应频域的低频分量。
频域快变化,对应时域的高时分量;频域的慢变化,对应时域的低频分量。(为啥呢?就当是时频变换的逆变换吧)
为了更好的区分声道信息与激励信息,ln的操作即将相乘关系转换为相加的关系。
对ln以后的信号分别进行IDFT,则为声道信息和激励信息分别是低时分量和高时分量。
4、基音检测
- 实质:激励信息,对应的是倒谱的高时部分。
浊音信号是周期性激励的,所以在倒谱上是周期的冲激,因此可以求得基音周期。一般把倒谱波形中第二个冲激(第一个是包络信息),认为是激励源的基频。
- 过程:倒谱,峰值检测(在基音周期附近寻找),判断是浊音(峰值大于规定阈值)还是清音(峰值小于规定的阈值)
每隔10~20ms计算一次倒谱,因为语音的激励参数是缓慢变化的。
- 实现框图:
- 流程图
matlab程序(待完成)
4、共振峰检测
- 实质:声道信息,对应的是倒谱的低时部分
- 过程:对倒谱低时部分进行DFT,求其傅里叶变换,得到频谱图,然后即可得到共振峰
共振峰表现在频谱上,为频谱上的各个峰值
注:第二个log的作用是为了突出低频信息量,弱化高频信息量。(对数值小的部分差异的敏感程度比数值大的部分的差异敏感程度更高)
平滑作用:去除一些野点
- 实现框图:
- 流程图
matlab程序(待完成)
三、参考
1、频域特征值提取的MATLAB代码实现(频谱、功率谱、倒频谱)
2、信号频域分析方法的理解(频谱、能量谱、功率谱、倒频谱、小波分析)
3、基于音乐识别的频谱转换算法——CQT
4、语音信号提取声学特征时,MFCC和PLP的区别是什么?
5、语音信号处理(二)—— MFCC详解
6、语音识别第4讲:语音特征参数MFCC
7、AI(I)语音(I):MFCC特征参数提取
8、M. Todisco, H. Delgado, and N. Evans, “A new feature for automatic speaker verification antispoofing: Constant q cepstral coefficients,” Processings of Odyssey 2016, 2016.
9、张雪英.《数字语音处理及MATLAB仿真》(第2版)[M].北京:电子工业出版社,2016
最后
以上就是孝顺魔镜为你收集整理的频谱、倒谱介绍及matlab实现的全部内容,希望文章能够帮你解决频谱、倒谱介绍及matlab实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复