2023 全国大学生电子设计竞赛 K 题——辨音识键奏乐系统
题目编号:K 题
完成时间:2023 年 8 月
摘要
本设计为辨音识键奏乐系统,可对水杯敲击声音进行采集、学习与识别,并根据识别结果自动播放对应音调。系统由电源模块、声音采集模块、音频功放模块、单片机控制模块与液晶显示模块构成。演奏者敲击不同水量的水杯时,系统自动拾取音频信号,经 STC32 单片机处理后转换为对应频率的音频输出,通过功放驱动扬声器发声。系统结构设计合理、工作稳定、响应迅速,状态信息可在液晶屏实时直观显示。
关键词:傅里叶变换;音频采集;音频功放;STC32G12K128 单片机
一、系统方案设计与论证
1.1 系统总体架构
系统按功能划分为五大模块:
电源模块
声音采集模块
音频功放模块
单片机控制模块
液晶显示模块
1.2 方案论证与选型
1.2.1 主控芯片选择
- 方案一:STC89C52
传统 8051 架构,资料丰富,但运算速度较慢,难以满足 FFT 实时计算需求。
- 方案二:STC32G12K128
32 位高速 8051 内核,运算性能约为传统 51 的 70 倍,内置 128K 存储器,多串口、多定时器,无需外部晶振与复位电路,最终选定。
- 方案三:STM32F103C8T6
ARM 内核性能强劲,但团队对该平台熟练度较低,故未选用。
1.2.2 电源方案选择
- 方案一:LM7805 + LM7905 正负 5V 稳压
可直接接入 220V 市电,供电稳定、布线简洁,最终选定。
- 方案二:USB 5V 供电
使用方便,但带载能力与系统稳定性不如线性稳压方案。
1.2.3 音频采集模块选择
- 方案一:MAX4466
微功耗前置放大器,增益稳定,但放大倍数与抗干扰能力一般。
- 方案二:MAX9814
带自动增益控制,适合语音,但对敲击声频谱适应性一般。
- 方案三:LM386 + 高灵敏度麦克风
放大倍数约 200 倍,采用单点接地降低干扰,信号稳定度最优,最终选定。
1.2.4 音频功放模块选择
- 方案一:普通三极管放大
效率低、发热严重,不适合长时间播放。
- 方案二:TDA2030A
外围简单、失真小、散热易处理,最终选定。
二、理论分析与计算
2.1 音频信号采集与分析
麦克风采集水杯敲击声,经 LM358 放大后送入单片机 ADC,将模拟音频转为数字信号。系统通过频谱分析判断不同杯子的固有频率与幅值。
2.2 傅里叶变换(FFT)分析
声音信号属于时域信号,难以直接区分频率差异。通过FFT 傅里叶变换将时域信号转为频域信号,提取每个杯子对应的特征频率与幅度,作为识别依据。
三、硬件与软件设计
3.1 音频功放电路
由STC32G128 主控与STC89C52 协控通过串口通信实现分工:
STC32:负责声音采集、FFT 计算、杯号识别、屏幕显示
STC89C52:负责生成不同频率音频脉冲
脉冲经 TDA2030A 功放放大后由扬声器输出乐曲
3.2 液晶显示电路
采用 LCD12864 点阵屏,并行接口驱动,实时显示杯号、识别状态与系统工作模式。
3.3 程序流程
系统上电初始化
ADC 采集音频信号
FFT 运算提取特征频率
进入学习/识别/演奏模式
识别结果送 LCD 显示并驱动功放发声
四、系统测试与结果
4.1 测试设备
量筒、玻璃杯、敲击棒、纯净水、秒表、示波器、万用表。
4.2 测试方法
对空杯、不同水量杯、乱序排列杯分别进行敲击学习与识别,记录识别准确率、响应时间与功能完成度。
4.3 测试结果
自动演奏:15 秒内完成乐曲播放,全部达标。
空杯识别(1/3/5 号):识别准确,时间 ≤28 秒。
加水杯识别(50/100/150ml):频率稳定,识别正确率 100%。
5 杯任意水量识别:水量差 ≥20ml,识别时间 ≤66 秒。
8 杯乱序识别:原 5 杯正确显示编号,新增 3 杯显示 0,时间 ≤39 秒。
4.4 测试结论
系统全部基本要求与发挥要求均达标,识别稳定、响应快速、抗干扰能力强。
五、参考文献
邱关源、罗觉.《电路》.高等教育出版社,2006
朱芙菁、田影.《单片机原理及应用技术》.航空工业出版社,2010
常晓玲.《电工技术》.机械工业出版社,2019
明日科技.《C 语言从入门到精通》.清华大学出版社,2019
崔信.《高等数学》.北京出版社,2019
六、附录
系统总体原理图
核心代码片段(FFT 算法、ADC 采集、中断服务、ICache 配置等)
P.S:需要相关资料,后台私信即可。