基于MSP430F1611单片机的音频信号分析

时间: 2024-03-26 19:19:13 |   作者: 高压探头


  本系统将采用集成有μC/OS-Ⅱ操作系统的单片机,利用快速傅里叶变换并加窗函数的方法来实现对音频信号各项参数的分析。

  信号首先通过8阶有源巴特沃兹滤波器进行抗混叠处理,然后通过放大衰减,电平搬移缓冲网络后,送单片机处理。

  系统的2片MSP430F1611单片机,一片负责对模拟信号进行采样,并对采集得到的信号进行4096点的FFT计算,另一片负责控制显示设备和完成对信号功率谱,周期性,失真度的分析。

  根据Nyquist定理,AD模数转换器以fs的频率采样输入信号时,频率f>

  fs/2的信号将被关于fs/2的频率镜像到2fs-f处,带外杂散信号所引起的混叠现象如果没有经过适当的滤波处理,这些频率成分将会影响到带内数据采集的性能指标。本系统选择了约40 kHz的换档采样频率,而输入信号最高为10 kHz,过采样率较低,故对滤波器提出了比较高的要求。考虑到巴特沃兹滤波器平坦的带内幅频特性,使用了连续时间有源滤波器MAX274设计了8阶的巴特沃兹滤波器(如图2所示),使20 kHz外的信号得到一定效果地衰减,经过试验,效果比较好。

  由于输入音频信号的幅度可能会较大,我们假设外界给予的信号能达到10 V峰峰值,而MSP430F1611单片机片内AD采集信号范围为0~2.51 V,故需将信号进行压缩。经考虑,本系统分为4档,并保证每档都有重叠的部分。100 mV以下通过低失调运放op07放大27.6 dB(24倍),90 mV~2.5V范围内直通,而在2~5 V范围内通过电阻分压衰减6.02 dB(2倍)。同样在4~10 V范围内衰减12.04 dB(4倍),然后通过输入设备做手动选档,控制每路继电器的通断,选择到最适合的档位,再将此信号经过电平搬移电路后缓冲输入单片机采样进行FFT计算。本模块在级联时注重了对前后级的隔离,加入了缓冲级,使测量信号幅度的误差减小,如图3所示。

  本系统通过设定功率门限值,能有效地判断所送入的信号有没有周期性,并计算出周期信号的周期值。对于一般的周期信号f(t),将f(t)展开成傅里叶级数得:

  可看出一般的周期信号是由一系列的冲激函数组成的离散频谱,且冲激发生在信号的谐波频率处(0,±w1,±2w2...),而非周期信号的频谱是连续的,所以信号频谱分布较分散,在频谱上不可能有大的阶跃,这样可通过设定一功率门限值,如果有大于此门限值的频谱存在就是周期信号,反之则不是,当判断信号为周期信号时,将信号送入比较器,产生的脉冲信号送入单片机计数从而判断其周期。经过多次试验,选择一个较好的门限值,这样就能判断很大部分的信号(如三角波、锯齿波、正弦波)有没有周期性,从而准确计算出信号的周期。

  对于正弦信号来说,基波频谱的功率值总是最大的,可通过此方法来判断基波的频谱,从而得到基波的功率。正弦信号的失真度定义为信号中全部谐波分量的能量与基波能量之比的平方根值,设正弦信号的基波功率为P1,信号的总功率为P,则正弦信号的失真度为

  本设计在MSP430F1611单片机中嵌入了μC/OS-Ⅱ操作系统,可以很方便地实现多任务的调度与协调,极大地节约了软件开发时间和减少了出错几率。系统的软件流程图如下:图4为FFT的软件流程图,图5为负责信号采集并进行FFT计算的从机MSP430F1611的流程图,图6为负责外设信号分析的主机MSP430F1611的流程图。

  本系统应用基2的傅里叶变换进行计算,考虑到使用的16位MSP430F1611单片机的RAM存储空间为10 k,由于经过FFT计算后谱线的幅值关于中心对称,为了节约硬件资源,将FFT计算后的2048个点舍去,故可节省一半的资源,由于2 048x16 bitx2=8.192 k,故最大取N=4 096个点作FFT。本系统将频率分辨力设定为20 Hz,如果取采样频率fs=40kHz,那么此FFT的频率分辨力△f=fs/N=10 Hz。但在真实的情况下,由于FFT只能分析有限个点,必须对连续时间的信号进行截断,相当于在时域信号加了一个窗,使信号频谱向两边扩散产生频谱泄漏效应;再加上FFT的频率分辨力有限,使信号频谱不能完全与FFT的谱线重合,由此产生栅栏效应,这两种效应使分析出来的谱线扩散分布;对两个相距只有20 Hz的信号,所以可采取提高FFT的频率分辨力△f即减小采样频率或提高FFT点数,或通过加窗的方法来更精确地分析频谱。本系统将所采集信号的频率分成两段,当信号频率较高时,可利用fs=40 kHz的采样频率采样,当所采集信号的频率较低时,通过输入装置改变采样频率至fs=20kHz,这样FFT的采样频率甚至可提高到△f=fs/N=5 Hz,通过此方法可提升整体系统的频率分辨力,而分析FFT的点数受到硬件资源的限制,最后也可通过加窗的方法来提高分析精度。

  不同的窗函数对信号会产生不同的作用,旁瓣幅度比较小的窗函数有利于减小频谱泄漏,对信号频谱幅值的测量较为准确,但这种窗函数的主瓣宽度较大,会使分析出来的谱线向两边扩散得比较多,导致测量单频,多频信号频率的准确度下降,如blackman窗,Flattop窗等。而旁瓣幅度衰减较弱的窗函数主瓣宽度较窄,这样有助于对频率准确度的测量,如矩形窗,也有兼顾两者的如banning窗,bumming窗等。所以频率与幅度的测量准确性是矛盾的。本系统利用matlab仿真初步估计应选用的窗函数,所分析的信号为单频率函数

  将此信号加上各窗函数后的matlab仿线为加blackman窗后的频率谱线为加hanning窗后的频率谱线。

  根据上图能够准确的看出1 000 Hz和1 005 Hz的频谱被分成了几根幅值比较高的谱线,这是由于泄漏效应与栅栏效应所造成的,当加banning窗时,信号频率刚好是FFT频率分辨率fs/N=10 Hz的整数倍时,信号谱线根幅值比较高的谱线。当加blackman窗时,谱线根幅值较高的谱线。但在真实的情况下,当加hanning窗时,中心谱线根幅值比较大的谱线,比仿真结果要好些,但加blaekman窗谱线分布得比仿真结果更广,但计算出来的幅度值会比banning窗的精度稍微高些,为了更好的提高音频分析仪的频率分辨力,应尽量使相邻的谱线不相互重叠,这样才可以计算各个频率信号的功率和提高频率分辨力,经过考虑,本系统选择加hanning窗。

  对该音频信号分析仪在30℃室温下来测试,测试仪器如下:南京盛普40 M函数发生器2台,泰克60 M数字示波器1台,晶体管毫伏表DA-16,失线 信号功率谱的测量使用两台函数发生器产生两路信号进行叠加后测试,A,B两路输入电压为VppA=2.000 V(0.04 W),频率为1 kHz,VppB=3.000V(0.09 W),频率为1 kHz。表1为测试的结果,可知单信号功率谱测量误差在0.2%之内,而总功率测量误差也在0.2%左右。

  通过函数发生器输入一般的周期信号,输入50 Hz的正弦波,以及1 000 Hz的方波,三角波,锯齿的周期波和非周期噪声信号,表2为测试结果,可见对一般的信号的周期性判断很准确,频率测试误差在1%以内。

  用函数发生器分别产生1 000 Hz、100 Hz、20 Hz的三角波以及1 000 Hz、100 Hz、20 Hz的方波,并将各信号分成两路,一路送失真度测试仪,一路送音频信号分析仪,通过对比所得结果来判断测试的精度。表3为测试结果,可见由于1 k左右的的谐波分量较高,抗混叠滤波器将高次谐波的能量滤除,故会使失真度偏差较大,当信号的频率降低时,失真度会测量得比较准确。

  本系统利用快速傅里叶变换(FFT)的算法,综合外围采样电路,利用两块MSP430F1611单片机对信号做处理,并借助了matlab工具进行预估计和判断,有效地减小了软件设计的盲目性。并通过加缓冲电路减小了前后级电路的相互影响,使音频信号分析仪的精度得到了有效地提高。

  引用地址:基于MSP430F1611单片机的音频信号分析上一篇:MSP430F149的智能火灾报警系统的设计的具体方案下一篇:基于MSP430F148的土基智能测斜仪

  应用程序的步骤1、搞清楚功能、编制方案。 接到一个单片机项目设计文件之后,并不是马上动手编写程序,而是仔细研究用户提出的技术方面的要求或者技术说明,依据这一些技术方面的要求和技术说明,也就是客户真正的需求,把程序应该具备的基本功能写清楚,写仔细,这是最关键的工作。如不清楚,应向客户和使用者问清楚,否则在设计完成以后会发现有些功能由于事先没考虑清楚再重新设计将会很麻烦,可能有些要重新增加的功能很容易补充,而有些可能由于没事先考虑周全而没办法实现。 2、编制总流程图和各功能模块的流程图 根据要完成的程序功能写出总流程图,根据总流程图把整个程序划分成几个主要的功能模块,每个功能模块都要写出基本流程图,这主要是为以后的程序编写起到一个指导作用。当然,在实际的程

  MCS-51的存储器可分为四类: 程序存储器 一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。 MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的 端必须接地

  存储器结构 /

  新系列STM32微控制器整合ARM Cortex -M4内核和超低功耗创新技术,在EEMBC ULPBench 业内能效测试中创下最好成绩 大联大控股宣布,其旗下友尚推出ST的新款MCU---STM32L4XX。该系列微处理器是ST整合其超低功耗微控制器技术与在ARM Cortex -M4内核领域积累的多年丰富经验,成功创造出适用于下一代节能型消费电子科技类产品、工业、医学和计量领域的最新产品。 两款新系列新产品STM32L476和STM32L486基于运算频率80MHz的ARM Cortex-M4处理器内核,内置浮点运算单元(FPU,floating-point unit)可支持DSP指令。ST的自适应实时加速器(ART

  本文根据当前电子秤的应用情况,分析采用单片机和AD574设计一款简易电子秤装置,在分析测量原理的基础上,选择了最简单的51系列单片机作为主控制管理系统,根据测量要求设计了传感器电路、AD转换电路、超量程报警电路、显示电路、按键电路等,根据硬件电路,完成了相应的软件设计。 1、测量原理 电子秤一般由三部分所组成,称重传感器、承重系统、传力复位系统。在这个基础上,分成了其他的硬件电路子单元,如单片机最小系统电路、传感器电路、AD转换电路、超量程报警电路、显示电路、按键电路、存储电路等。其测量原理是:将物体放置在承重系统的秤台上时,其重量参数会通过传感器,产生压力-电效应,转换为与其重量相对应的电信号,然后通过放大电路将电信号放大并经过

  和AD574的简易电子秤设计 /

  设计基于MCS-51的单相工频交流电参数检测仪。交流有效值0-220V,电流有效值0-40A。电压、电流值经电压、电流传感器输出有效值为0-5V的交流信号,传感器输出的电压、电流信号与被测电压、电流同相位。 基本要求如下 (1) 电流、电压测量精度0.1% (2) 检测电压、电流的相位角,求出功率因素 (3) 电流、电压有效值由LED轮流显示,也可由按键切换显示量 单片机源程序如下: #include regx51.h #include intrins.h #include absacc.h #include math.h #define uchar unsigned char #define uint unsi

  交流电检测程序 单相工频电参数测量仪 /

  摘要:讨论了Microchip公司的KEELOQ加解密算法的实现机制,通过引入随随机数,提出了一种新的改进算法,并给出了其在单片机中的实现方案。该算法具有简单实用、所需硬件资源少、传输效率和安全性相比来说较高等优点,适用于需要数据加密的小型无线数据传输系统,具有广阔的应用前景。 关键词:加密算法 KEELOQ 单片机 跳码技术 当今的编解码电路已经朝着高度集成化和微电脑化发展。像普通的固定编解码芯片和MC145026/145027、PT2262/2272等已被大范围的应用于公用系统中,给生活带来了方便。然而这些芯片不能保证系统的安全性。由于这些系统每次发送的数据流一模一样,只是高低电平的组合,第三方面通过捕捉设备,一旦用户信号出现,

  1 引言 被动声目标的信息一般夹杂在复杂多变的环境噪声中,信噪比低。采用传统的目标探测,较难达到一定的要求, 一定要使用先进的检测、定向定位算法,然而这些算法的运算量都较大,实时实现有一定难度。数字信号处理器DSP的出现,使得先进算法的工程实时实现成为可能。但系统的体积、功耗和可靠性又成为主体问题。本系统采用TI公司的低功耗5000系列DSP和微功耗430系列单片机,采用主从式通用化体系结构设计,在满足系统功能要求的前提下,对系统的体积、功耗和可靠性做了很大的改进,特别适于在电池供电、功耗要求严格的设备中使用。另外,对系统提供了丰富的接口,可使其满足被动目标探测系统的不一样的要求。 2 系统的整体设计 目标探测通用平台的基本功能是目标信息

  和DSP的被动声目标探测平台设计方案 /

  指令周期:指令周期执行某一条指令所消耗的时间,它等于机器周期的整数倍。传统的80C51单片机的指令周期大多数是单周期指令,也就是指令周期=机器周期,少部分是双周期指令。现在(截至2012)新的单片机已经能做到不分频了,并且尽量单指令周期,就是指令周期=机器周期=时钟周期。 来看这张8051单片机外部数据,这里ALE和$PSEN$的变化频率已经小于一个机器周期,若使用C语言模拟这个信号是没有很好的方法做到的一一对应的,所以只能尽量和上面的时序相同,周期延长。 指令周期是不确定的,因为她和该条指令所包含的机器周期有关。一个指令周期=1个(或2个或3个或4个)机器周期,像乘法或除法就含有4个机器周期,单指令就只含有1个机

  指令周期怎么计算 /

  创新实践应用.

  项目化应用教程(C语言)

  直播回放: 借助Sitara™ AM263x MCU 创造电气化的未来

  研讨会 : 用于感测应用 带可配置信号链元素的新型 MSP430™ MCU

  【电路】低功耗8通道串行10位AD转换芯片MAX149与TMS320系列单片机连接方法

  【瓜分2500元红包】 票选DigiKey\智造万物,快乐不停\创意大赛人气作品TOP3!

  【下载】LAT1396 STM32CubeIDE实用技巧之STM32H7双核调试的配置

  【下载】LAT1392 LTDC RGB接口 LCD的TouchGFX工程的移植步骤

  【直播】3月27日,STSAFE-A110安全芯片及ST4SIM eSIM芯片助力安全通信

  【线日,基于Buildroot制作STM32MP13启动镜像-深圳/厦门/西安/郑州/苏州

  【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性

  【新品】STM32MP13X-支持Linux、RTOS和Bare Metal应用,新一代通用工业级MPU

  【新品】Arm® Cortex®-M33处理器内核,运行频率160 MHz,基于Armv8-M架构并带有TrustZone®

  【下载】AN5129_适合2.4GHz无线信号的低成本PCB天线 基于 BlueNRG-LP ARM Cortex-M0+

  随着物联网(IoT)网络日趋复杂,物联网端点边缘处理的复杂度亦水涨船高。因而在大多数情况下要使用新系统来升级现有的端点,这个系统的微控制器需 ...

  步骤1:安装必需的软件首先,安装必需的软件。为ARM安装gcc编译器:gcc编译器包含用于编译,链接和构建MCU的构建代码的工具。安装以下三个 ...

  我们在做SPI应用时,有时希望能够通过定时器定时地触发SPI的收发,并利用DMA完成数据的传输。这里,我基于STM32L476芯片来做个演示,以供参考【 ...

  网络的形成,无论是现在已趋于成熟的互联网,还是蕴含着巨大潜力蒸蒸日上的物联网,都是来自于一个个原本孤立的节点,因为某种互动关系或需 ...

  在嵌入式系统中时钟是其脉搏,处理器内核在时钟驱动下完成指令执行,状态变换等动作。外设部件在时钟的驱动下完成各种工作,比如串口数据的 ...

  网站地图最新更新手机版站点相关:综合资讯51单片机PIC单片机AVR单片机

  ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程词云: