21电赛E题国一 软件总结(开源)

博主分享了2021年电子竞赛(E题)获得国家一等奖的软件部分经验,主要涉及OOK调制解调技术。他们选择12kHz正弦波作为载波,利用STM32F4实现,软件部分包括数字发送和接收。发送端采用低功耗模式并在MATLAB中设计了71阶FIR滤波器进行解调。软件已在码云和GitHub开源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

21电赛E题国一 软件总结

虽然现在已经是2022年了,但是对于2021年的电赛还犹如昨日发生的。2021年对我来说是一个特殊的年份,这一年发生了太多的事,每一件事都对我影响重大。参加蓝桥杯决赛,最后一刻提交的文件忘记了最关键的一个文件。参加飞卡,比赛前一天驱动板炸了。半年的努力全都烟消云散。不过或许正是献祭这两个比赛,我才最终拿到了电赛的国一吧(笑)。关于电赛的准备也是花了大概半年的时间,总体而言还是有辛苦有开心的地方,详细的就在下面叙述

电赛纪事

空着,有时间再写

软件功能

我负责软件部分,我们选用的数字部分发送方案为OOK的软件调制与解调,通过加法器直接加在模拟音频信号上。在这里将粗略将解一下软件思路并开源最终软件版本。(硬件将不做涉及且不开源)

数字发送部分

采用ook调制方式,载波选用了12khz的正弦波,使用定时器+dac+dma产生。由于stm32f4主频有限,频率只能到11.7khz,无法做到精确的12khz。但是这已经满足要求了。数据波特率为500buad,发送间隔为1秒14位数据,不加校验位。由于发送时间的十分短暂,完全可以在不发送的时候开低功耗模式,降低发送端的功耗,不过时间有限,该功能并没有使用。

在数字发送端有两种频率的载波可以使用,现在再来说说两个的优劣。根据题目要求,音频信号的频率在50-10khz(瞄准国一,肯定看的是拓展项)之间,所以载波要么在10khz以上,因为带宽的限制,最大不能到12.5khz;要么是50hz以下。选50hz以下的优点:可选用方波做载波,方便调制解调,甚至直接使用串口就能完成发送接收功能。缺点:选用方波叠加在模拟信号上,对模拟信号的影响十分巨大,不好滤波。而且,50hz工频的干扰极大。我们学校好多都因为工频干扰导致功能全失。选12khz的优点:不易受到工频干扰,由于是正弦波,滤波更简单有效,对模拟信号的干扰较小。我们测量过,在一直发送信号的情况下,使用对应陷波器,肉眼无法察觉干扰。缺点:调制解调比较麻烦,并且数字部分这边的滤波器相对方波来说更难做。

数字接收部分

前端采用10khz的高通滤波器,主要是为了滤除1khz以下的模拟信号。软件部分先采用中心频率11.7khz的带通滤波器,通频带好像是1khz(时间久远忘记了)。matlab设计的基于窗函数的71阶FIR滤波器,使用f4的dsp库运行得毫无压力,1024点的数据仅用1点几毫秒就运算完成。能比较完美的取出数字信号。由于出去的数字信号有失真,所以并没有采用标准的ook解调方式。而是自己写的一个解调协议,在经过一天的调试后,能较好的解出信号。其基本原理是根据信号的有无,通过统计短时间内的方差(可能不是标准的方差,博主理论有点菜),来提取信号的信息。

软件开源

软件关键部分都做了完全的注释
码云:https://gitee.com/casual_new_programmer/Undergraduate_Electronic
github:https://github.com/sbdmz123/Undergraduate_Electronic

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值