求助,关于波峰提取的matlab代码
本人在校大二学生,最近的matlab课程设计实验,老师要求做一个简易的打鼓机的模型,类似与游戏机厅的模拟打鼓器在声音信号处理一块,由于架子鼓的音乐都是波峰比较明显的音乐,需要做的工作是提取波峰,也就是提取能量高的信号,试问该对信号做何种处理才能提取(采样?)这些能量高的点;
在网上找了些资料,很多都是英文的,关键字:beat detection algorithm,得到的一篇论文实在超出了本人的认识范围
这个课题也做了一周了,实在对信号处理缺乏基本的理论基础,这方面的专业课也就学习了信号系统和通信电子线路原理
希望各位学长们,老师们能给予理论上和编程技术上的指导,其实最需要的还是代码,实在是不会编,做fft变换还是高通滤波
哎,请斑竹多多包涵我这个小菜鸟,不知道此贴有无违规,真心是搜不到代码了
http://forum.vibunion.com/forum-viewthread-tid-63797-highlight-%B2%A8%B7%E5.html
这里有求波峰的方法,求fft也有很多样例。
可以分成几部(只是意见)
1. 时域去除 DC part(实际上就是信号减去其平均值)
2. 去除信号的斜率,当然要看需不需要了, 实现方法可以以每n个点求平均值,rolling average 去求出斜率
3. 做fft变换,得到频域图形,x轴是频率,可以通过要选取的频率节选出来要的频率断,还有你提到了。y轴是波形的能量,可以找出哪个频率的能量大。
谢谢楼上大侠的帮助!
页:
[1]