FastBond2阶段1-基于树莓派pico的音频频谱分析装置
该项目为基于树莓派pico实现的音频频谱分析装置。该装置使用咪头收集音频信息,在经过放大电路放大后连接至树莓派pico,通过ADC接口进行模数转换后将计算其频谱,并输出至OLED屏幕上显示。
标签
开发板
OIvy0
更新2023-07-31
北京理工大学
1849

一、前言

      声音在我们的日常生活中无处不在,但是我们往往只能通过耳朵获取一些简单的时域信息。而通过傅里叶变换,我们可以将声音从时域转换至频域,从频域的视角再去分析声音,不同声音的频谱模式通常具有独特的特征,通过分析声音的频谱我们可以解决很多问题,例如语音识别、音乐分类、环境声音检测等。

      而该学期由于学校的课程安排获得了树莓派pico,因此便想到利用树莓派实现实现一个简单的频谱分析装置。

二、原理框图

下图为使用Scheme-it绘制的原理框图,分享链接如下:https://www.digikey.cn/schemeit/project/音频频谱检测-a1472764aa5044928f1ff7516363c8eb

 

IMG_256

      首先使用咪头收集来自音频的信息,将音频信息转化为电信号,之后使用放大电路将对所采集到的信号进行放大,并将模拟信号连接至 pico 的 ADC 接口,将模拟信号转换为数字信号。再通过对 pico 的编程,利用 pico 计算信号的 FFT 得到信号的频谱,并将结果输出至 LED 板,在屏幕上显示出频谱。

三、设计思路及实现

      该项目可分为电路以及软件两部分

      电路部分的任务为:设计放大以及供电电路,实现对信号的采集以及放大,将其链接至 pico,并通过供电电路来为 pico 以及放大电路供电。软件部分的任务为:通过对 pico 的编程实现对信号的进行 FFT 以获取信号的频谱,并将获取的频谱输出至 LED 屏,将频谱显示在 LED 屏上。

3.1电路部分

      放大电路所采用的电路为同相放大电路,由于ADC端口工作的范围为0 - 3.3V,咪头所采集到的信号幅度大约为0.5V左右,因此将放大电路的放大倍数设置为5倍。电路图如下图所示。

IMG_256

      根据公式可计算出该电路的增益为5,符合设计需求。

      使用4节1.5V的电池作为电源为运算放大器供电,并使用MAX8880线性稳压器提供1.5V的直流偏置。

3.2软件部分

3.2.1 开发语言及平台

      由于 C++相比于 MicroPython 可以更加方便的来对硬件进行直接的操作, 因此采用 C++作为开发语言来对 Pico 进行编程。而开发平台则选择 Arduino IDE,Arduino IDE 的环境配置非常简单,比起使用 Vscode 等工具,在配置开发环境上节省了大量时间,并且可以方便的使用大量库函数,以及提供许多样例作为参考。

3.2.2 设计思路及流程图

       程序首先需要从ADC接口采样,将模拟信号转换为数字信号,再对所得的数字信号进行平滑滤波,去除信号中的直流分量,之后对信号进行快速变换,得到信号的频谱,并输出至OLED屏幕显示。再判断指定频率范围内的频谱幅值是否超过阈值,若超出阈值,则判断为检测到信号,点亮pico上的灯,反之则不点亮

      由于pico含有DMA模块,因此采用DMA来对数据进行采样。DMA 可以将数据从外设直接传递给内存,当使用DMA 时,DMA控制器按照事先配置的参数,执行数据传输操作,并且整个过程不需要 CPU参与,而 pico的slip 函数无法控制采样速率。这意味着当使用DMA采样时可以通过对 DMA 控制器的配置来实现对采样速率的精确控制,以实现更加精确的采样,并且由于DMA传输过程中不需要CPU的参与,系统可以在从外设获取数据的同时,CPU对已有的数据进行FFT运算,提高了系统的精确度以及响应速度。

      根据设计思路可画出流程图,如下图所示

IMG_256

四、可能用到的元器件

       稳压器使用ADI家的MAX8880线性稳压器

IMG_256

MAX8880/MAX8881为超低电流、低压差线性稳压器,能够提供高达200mA负

载电流。器件设计用于要求电池工作寿命长、提供电池反接保护的电池供电产品。

稳压器具有3.5µA低电源电流,有效延长时间待机产品的电池寿命。与基于PNP的设计不同,2Ω PMOS器件能够在整个工作范围和压差下保证超低电源电流。器件具有内部保护,能够防止输出短路、电池反接和热过载。内部电源就绪(POK)比较器指示输出是否超出稳压范围。

MAX8880输出可使用外部电阻分压器在1.25V至5V范围内调节。MAX8881提供工厂预设输出电压:1.8V、2.5V、3.3V或5V 。器件采用6引脚SOT23和6引脚TDFN封装。

  • 电源电流:3.5µA @ 12V
  • 电池反接保护
  • 2.5V至12V输入电压范围
  • ±1.5%输出电压精度
  • 200mA最大输出电流
  • 2Ω PMOS输出调整管
  • 短路和热过载保护
  • POK输出,指示电压是否超出稳压范围
  • 固定输出:1.8V、2.5V、3.3V和5V (MAX8881)
    可调输出:1.25V至5V (MAX8880)
  • 小尺寸、6引脚SOT23封装
  • 小尺寸、6引脚TDFN封装

咪头使用的是6050P

规格尺寸:of6050p 6*5mm 针长10mm 铜管芯 灵敏度-58db

IMG_256

五、感想

      通过这次的设计,我学会了如何去根据需求对项目进行一个大体的规划,并再逐渐细化并且实现,而且这次设计也让我有机会能够将书本上的知识进行实际应用,让我深刻的感受到了所学知识的作用,也加深了我对所学知识的理解。

软硬件
电路图
附件下载
FastBond2阶段1-基于树莓派pico的音频频谱分析.pdf
电路图及原理图
团队介绍
一名大三电子信息工程专业的学生
团队成员
OIvy0
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号