写在前面:仅作为个人学习笔记,便于以后查阅,如对你有帮助,荣幸之至,如有错误,欢迎评论指正
编程软件:matlab R2018b
系统: win10
系列文章目录
下载数据及代码
为了节省篇幅,直接将数据和代码打包在百度网盘了,可根据需要下载。
链接:语音信号处理代码及数据
提取码:Matb
将该压缩文件进行解压,解压后的文件如下图所示:
使用matlab运行上述的代码文件时,请将该文件夹设为当前路径(注意红色箭头标识的文件夹,就是当前工作路径),否则,你需要根据自己的工作路径修改代码中的路径。
介绍运行顺序
-
chirp信号的生成
运行文件chirpGenerate.m
,将会在chirp_pretreatment文件夹下生成chirp_18_20.wav文件,该文件便是我们生成的chirp语音信号文件。
-
chirp语音信号的接收(回声信号的采集)
文件16-3-A-1-119.wav便是采集的chirp回声信号,已经做了格式转换处理了。当然,自己根据语音信号预处理——chirp信号的生成与接收给出的采集方法进行采集也是很快乐的。 -
chirp回声信号的预处理
运行文件chirp_pretreatment.m
,便会对16-3-A-1-119.wav文件进行预处理了。预处理顺序为:消除多项式趋势、滤波、分帧处理、端点检测、语音信号的相关性计算、展示一段回声信号的时域图、计算该段回声信号的相关性、绘制回声信号的平均频域图一共8个部分,见下图。
最后将会在matlab命令窗口输出如下图所示的内容。这是断点检测的运行结果,一共6行数据,对应录音信号的断点检测六条黑色虚线,如第一行数据表示,第1个有效端点,在样本点2294处开始,在样本点2309处结束,一共有16个样本点。
参考文献
- Chirp信号及其生成:https://www.cnblogs.com/ytxwzqin/p/9127055.html
- 格式工厂使用教程:https://blog.csdn.net/weixin_43093006/article/details/86624392
- chirp函数说明:https://ww2.mathworks.cn/help/signal/ref/chirp.html?searchHighlight=chirp&s_tid=srchtitle
- audiowrite函数说明:https://ww2.mathworks.cn/help/matlab/ref/audiowrite.html?searchHighlight=audiowrite&s_tid=srchtitle
- chirp信号参数设置参考论文:Qun Song,Chaojie Gu,Rui Tan. Deep Room Recognition Using Inaudible Echos[J]. Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies,2018,2(3).