0 引言
随着微电子和信息技术的快速发展,以单片机为代表的数字技术发展日新月异。单片机由于具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,而广泛应用于各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理。事实上,通过采用单片机来进行控制,可以实现仪器仪表的数字化、智能化和微型化。本文通过对比选择采用了LPC2148芯片解决方案来实现音频分析仪的设计。
1 系统分析与选择
1.1 信号处理原理分析
在对音频信号进行分析的过程中,本文采用了快速傅立叶变换FFT算法,即首先对音频信号进行离散化处理,然后进行FFT运算,求出信号各个离散频率点的功率数值,并得到离散化的功率谱,最后在频域计算被测音频信号的总功率。
1.2 系统的选择
在处理器的选择上,通常可以选择8位、16位或者是32位的MCU。但是,由于在处理信号的过程中,通常会用到快速傅立叶变换FFF算法,所以需要进行大量的浮点运算,而且一个浮点要占用四个字节,故在处理过程要占用大量的内存,同时浮点运算时间也很慢,所以采用普通的8位MCU和16位MCU一般难以在一定的时间内完成运算。综合考虑系统内存的大小以及运算速度,本系统选用Philips公司的32位单片机LPC2148。该芯片具有32 KB的RAM,而时钟频率高达60 MHz,所以,对于浮点运算,不论是在速度上,还是在内存上都能够很快的处理。在信号采样方式上,由于本系统所选用的32位MCU芯片LPC2148是60 MHz的单指令周期处理器,定时精度为16.7 ns,可以实现40.96 kHz的采样率,而且控制方便,成本便宜,所以,本设计由MCU进行直接采样,而不采用DDS芯片配合FIFO对信号进行采集。
2 系统设计
2.1 总体设计
在系统总体设计中,音频信号的采样过程非常关键。当音频信号经过一个由运放和电阻组成的匹配网络进行采样时,首先要由量程控制模块对信号进行处理,如果信号电压在100 mV~5 V的范围内选择直通,也就是不对信号进行衰减或者放大控制,则可减少误差。但是,当信号强度太小时,12位的A/D转换器在2.5 V参考电压下的最小分辨率为1 mV左右,这时如果选择直通,其离散化处理的误差将会非常大。因此,当采集到信号后,若发现其强度太小,如在20~250 mV之间,这时就应该将其认定为弱信号,故应对其经过增益放大器放大之后再进行A/D采样。[page]
经过12位A/D转换器ADS7819转换后的数字信号可由32位LPC2148进行FFT变换和处理,以分析其频谱特性和各个频率点的功率值,然后将这些值送到Atmega16进行显示控制。信号由32位LPC2148分析后,可判断其周期性,可由Atme-gal6进行测量,然后在LCD显示屏上显示,其功能框图如图1所示。
2.2 放大电路设计
当信号输入后,首先要根据信号强弱进行放大处理,图2所示是其放大电路原理图。该放大电路通过R1和R2两个电阻和一个高精度仪表运放AD620实现跟随功能,并在进行阻抗匹配后。通过继电器控制来决定是将信号直接送给AD转换还是放大后再进行AD转换。
由于需要对音频信号的频率及其功率进行检测,并且要测量正弦信号的失真度,因此要求在对小信号进行放大时,要尽可能少的引入信号的放大失真。正弦信号的理论计算失真度为0,对引入的信号失真非常灵敏,所以,本设计选择了低噪声、低失真的仪表放大器INA217,以将失真度控制在1 kHz频率之内。
2.3 AD转换电路设计
本系统采用12位AD转换器ADS7819来对信号进行转换,并将转换的数据送往32位控制器进行处理,其转换电路原理图如图3所示。
[page]
3 软件设计
由于系统主控芯片LPC2148的处理速度比较快,所以,软件设计采用C语言来进行编程比较简单快捷,其软件设计流程图如图4所示。
4 结果分析
笔者对本系统的音频信号进行了测量,并得到了如表1所列的数据。由于实验室能够模仿的音频信号只有正弦信号,所以,实验采用信号发生器来产生正弦信号,然后对其进行测量和误差分析,根据时域和频域的测量结果可以发现,其测量误差在5%的范围之内,且没有发现明显失真,基本可以满足实验的测量要求。
5 结束语
经过实验检验,本系统架构设计合理,功能电路较好,系统性能优良、稳定,系统设计基本可以满足音频分析的基本要求,且误差较小。但是,由于音频信号有多个频点,没有一定的规律性,因而导致测量过程中音频信号波动较大,这一点在应用过程中,还要对系统进行进一步的改进和完善。
关键字:LPC2148 音频分析仪 音频信号
引用地址:
基于LPC2148的音频分析仪设计
推荐阅读最新更新时间:2024-03-16 13:06
LPC2148微处理器介绍
LPC2148是基于一个支持实时仿真和嵌入式跟踪的32/16位ARM7 TDMI-S CPU的微控制器,并带有32kB和512kB嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。 较小的封装和很低的功耗使LPC2148特别适用于访问控制和POS机等小型应用中;由于内置了宽范围的串行通信接口(从USB 2.0全速器件、多个UART、SPI、SSP到I2C总线)和8kB到40kB的片内SRAM,它们也非常适合于通信网关、协议转换器、软件modem、语音识别、低端成像,为这些应用提
[单片机]
用音频信号实现无线传感器网络节点间距测量
利用音频信号实现节点间距自主测量的无线传感器网络节点系统。本系统包括dsPIC6014A微控制器、512 KB的SRAM,2.4 G波段的RF收发模块、音频收发模块及电源管理模块等。通过测量RF同步信号与音频信号的时间差来测量节点间的间隔距离,节点利用多次测量数据累加平均及IIR数字滤波技术提高了测距信号的信噪比,用幅度检测实现了测距信号的到达时刻判别。测试数据表明,该节点最远测距距离可达30 m,误差小于3.5%。 节点间隔距离测量所利用的参量主要有: 接收信号强度(RSS)、信号时间差(TPOA)、角度量(AOA)/信号到达方向(DOA)。其中,对RSS和射频加超声波测距的研究较多。射频信号的传播衰减和众多参数相关,如初始
[测试测量]
LPC2148像往U盘拷贝文件一样更新用户程序
在网上爬行了很久才找到一个介绍USBMEM_BOOTLOADER的且有源代码的论坛,用KEIL 编译后结果不能运行,后来才找到问题的根源: //usbhw.c void USB_Init (void) { PINSEL1 &= ~0xC000C000; //PINSEL1 |= 0x40004000; //这是原来的程序 PINSEL1 |= 0x80004000; /* Select USB Link, VBUS */ 原来得改一下才能用到我的板子上面。 另外,原来的程序是在复位时检测P0.15是否为低来判断是进入用户程序,还是USB IAP程序,我针对我的板子改了一下,我用了两个按钮来控制它,当按下P0.21的按钮时运
[单片机]
基于LPC2148的手持式热敏条码打印机研制
条码技术是自动识别与数据采集(AIDC)技术中应用最古老、最成熟的技术,具有输入速度快、可靠性高、采集信息量大、灵活实用等特点,是迄今为止最经济、实用的一种自动识别技术,且条码标签易于制作,识别装置便宜、操作简单。 热敏打印机具有噪声低、速度快、可靠性高、打印字符清晰等优点,被广泛应用在POS终端系统、银行系统、医疗仪器等领域,尤其在物流、仓储、工业生产等场合。 本文设计一种基于LPC2148的手持高速热敏打印机器,采用电池供电,能打印条码、汉字和字符等,可应用于工业生产,物流运输跟踪等方面。其体积小,易于嵌入到其他需要打印功能的产品中。 1 一维条形码打印原理 一维条形码是由一组粗细不同的黑白条按一定编码规则排列
[单片机]
音频信号采集与AGC算法的DSP实现
引言 电台等由于其自办频道的广告、新闻、广播剧、歌曲和转播节目等音频信号电平大小不一,导致节目播出时,音频信号忽大忽小,严重影响用户的收听效果。在转播时,由于传输距离等原因,在信号的输出端也存在信号大小不一的现象。过去,对大音频信号采用限幅方式,即对大信号进行限幅输出,小信号不予处理。这样,仍然存在音频信号过小时,用户自行调节音量,也会影响用户的收听效果。随着电子技术,计算机技术和通信技术的迅猛发展,数字信号处理技术已广泛地深入到人们生活等各个领域。其中语音处理是数字信号处理最活跃的研究方向之一,在IP电话和多媒体通信中得到广泛应用。语音处理可采用通用数字信号处理器DSP和现场可编程门阵列(FPGA) 实现,其中DSP实现方法具
[嵌入式]
基于MSP430的FM音频频谱分析仪的设计方案
1.前言 在实际的广播电视发射工作中,新的发射机的进场测试,发射机的日常指标测试等都涉及了音频的测试。本文设计的音频频谱分析仪就是从信号源的角度出发,测量音频信号的频谱,从而确定各频率成分的大小,为调频广播的各项音频指标的提供参考。 在本文中主要提出了以MSP43处理器为核心的音频频谱分析仪的设计方案。以数字信号处理的相关理论知识为指导,利用MSP430处理器的优势来进行音频频谱的设计与改进,并最终实现了在TFT液晶HD66772上面显示。 2.频谱分析仪设计原理 由于在数字系统中处理的数据都是经由采样得到,所以得到的数据必然是离散的。对于离散的数据,适用离散傅立叶变换来进行处理。 快速傅里叶变
[单片机]
用ARM7-LPC2148连接7段显示器的教程
显示是任何嵌入式系统应用程序中非常重要的一部分,因为它可以帮助用户了解系统的状态,并显示系统生成的输出或任何警告消息。电子产品中使用的显示器类型很多,如7段显示器,LCD显示器,TFT触摸屏显示器,LED显示器等。 今天在本教程中,我们将用ARM7-LPC2148连接7段显示器。在详细介绍之前,我们将了解如何控制7段模块以显示任意数量的字符。 7段显示器 7段显示是显示数字和字符的最简单的显示单元之一。它通常用于显示数字,并且比点阵显示具有更亮的照明和更简单的结构。由于照明更亮,因此可以从比LCD更大的距离观看输出。如上图所示的7段显示器,它由8个LED组成,每个LED用于照亮单元的一个段,第8个LED用于照亮7段显示
[单片机]
使用FFT频谱分析仪测试音频放大器 (一)
开始ADC216频谱分析仪的实验,我们这次测试两个音频功率放大器。一款是Kenwood的经济型,另一款是Quad的高品质型。ADC216的一个通道通过X10探头连到功放的喇叭输出接头。 在下面的测试中,我们使用BlackStar的低失真信号发生器产生信号。下图显示的是信号发生器产生的纯1KHz信号频谱。 首先,我们连上Kenwood功放,还有一个8欧的电阻负载。调整输入信号直到功放输出25W给负载。开始我们发现很大的失真,但随着功放热机,失真会慢慢减少。过几分钟后,失真稳定在大约-60dB,如下图所示。 我们再把Quad功放连上,同
[测试测量]