基于多普勒效应的动作检测

python实现:基于多普勒效应的动作检测

前言

这是我们小组的信号与系统课设的重新选题,原来的那个被老师说“过于简单了”,因此选了这个。本来也是想白嫖别人的代码的,但是找的都用不了,因此硬着头皮自己整一个,实现了音乐的播放。
基本框架是:发射超声波->接收放射波->画出动态频谱->实时动作检测

功能

我们实现了控制音乐的播放、暂停和下一首三个动作识别;靠近麦克风是播放,远离麦克风是暂停,连续远离两次是下一首;效果图如下:
基于多普勒效应的动作检测_第1张图片

代码

放在github上了
https://github.com/Dengyuzhi/doppler-motiondetection

说明

判断动作的算法还是比较naive,就是比较在发射的频率波左右频点数目的大小。这样鲁棒性比较差。为了解决这个问题,我们用了许多笨办法做了优化,效果还行。但是对于不同的环境可能需要自己手动调整参数。

注:
1.接收声波需要一个外置麦克风(电脑自带的检测不到,我用的是之前在某宝上买的九块钱的地摊货)
2.代码中scipy.signal 中的hamming窗需要更换成hanning(现在新版本好像换了名字,我的好像是老版本,我也忘记是什么时候装的了)
3.音乐要放在当前目录下的music文件夹下面

你可能感兴趣的:(课程实验)