完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1、首先,简单描述下我要做的项目—基于单片机的手势识别。 所用到的传感器是10G的雷达芯片,芯片出来的是中频信号,需要根据这些中频信号做手势识别。 单片机模拟有无目标,当没有目标时,单片机模拟IF输出中频信号,雷达芯片输出LO(本振信号) ,混频器的作用是将LO+IF=RF。 得到的RF输出到芯片的RX接收端口。 芯片会将这个信号再解调出来作为最后的模拟信号输出到单片机。 前期的工作接触过单片机的来说应该都不难,采集中频信号,AD转换。 这些都不难。但重要是对这些信号要进一步处理,包括去交流,求平均值,FFT(加窗),一系列的转换目的就是将时域的信号转换到频域。曾经看过一篇经典的文章来描述时域和频域,时域就是随时间的变化状态的变化,而频域就是从侧面看待这个问题,一切都是静止的,就像每个人的人生看似随时间不断变化,每天充满变数,但从频域的角度来看,侧面就好像很大的机械装置,每个人的人生早已安排好了。很多时域看不出任何特征的信号在频域一目了然。 2、频域信号处理好了就来到了我们的重头戏了——机器学习(AI) 首先神经网络的生成我用的是Python,Python生成神经网络现在已经很成熟了,网上的例程一大堆,我就不多说了,训练好神经网络导出 .h5文件,你的工作就完成一半了。 接下来就用到官方的STM32cubemx,用这个工具生成KEIL5或者其他IDE的工程,接下来的移植就是重中之重了。再移植之前你也考虑好你的单片机ROM和RAM以及主频速度。根据我的经验ROM 512k,RAM 100k,主频100M可以满足初步的需要,STM32F411CEU6是我目前看到性价比最高的。下面的流程是STM32cubummx生成工程的流程,大家可以参考。 导入我们的模型计算,点击Analyze,CubeMX会提示我们哪些MCU型号能支持我们使用,当然啦,你也可以直接选STM32F411CEU6,模型官方有手势识别的.h5文件,可以去下载; 3、单片机移植过程有很多需要注意的地方,有时间我会专门写一篇博客。我将单片机Keil中AI部分贴出来供大家参考。 FFT相关处理 AI处理 主函数部分 最终串口 输出效果 不同的手势outdata输出不同的概率,我将概率Round的最终输出结果。至于你想用手势控制外部任何设备就很容易了。 |
|
|
|
只有小组成员才能发言,加入小组>>
2514 浏览 0 评论
1086浏览 2评论
701浏览 1评论
454浏览 0评论
195浏览 0评论
334浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 12:16 , Processed in 1.474721 second(s), Total 80, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号