基于16位单片机的音频信号分析仪的设计

发布者:游走人间最新更新时间:2011-11-26 关键字:16位单片机  音频信号分析仪 手机看文章 扫描二维码
随时随地手机看文章
目前,大多数音频信号处理仪不但体积大而且价格贵,在一些特殊方面难以普及使用,而嵌入式系统分析仪具有小巧可靠的特点,所以开发基于特殊功能单片机的音频分析仪器是语音识别的基础,具有很好的现实意义。信号分析原理是将信号从时间域转换成频率域,使原始信号中不明显特性变得明显,便于分析处理。对于音频信号来说,其主要特征参数为幅度谱、功率谱。该音频信号分析仪的工作过程为:对音频信号限幅放大、模数转换、快速傅里叶变换(FFT,时域到频域的转换)、特征值提取;从到音频信号的幅度谱,进而得到音频信号的功率谱。
  1 硬件设计
  “智能家居”(SmartHome)也称智能住宅。家居网络智能控制系统就是利用先进的计算机技术、通讯技术和嵌入式技术,将家中的各种设备通过家庭网络连接成系统。整个智能家居系统的构成如图1所示。在该系统中,对于某些家用电器设备的监测与控制需要进行音频信号的分析。
  本设计选用Microchip公司的DSPIC30F6014A单片机为核心处理器,该芯片是MCU技术与DSP技术的结合,既包含了16位MCU的控制功能,又融合了DSP的高速运算技术,实际上就是数字微处理器、可方便地实现音频信号分析的各种功能。音频系统框图如图2所示,包括电源模块、预制电路、A/D转换模块、DSP模块、LCD显示模块等几个部分。各模块以及接口的具体设计和实现功能如下:
  (1)电源模块:采用直流三端稳压电源设计,220 V交流电经降压、整流、滤波和稳压后,转换成系统需要的±5 V、±12 V电源电压。
  (2)预制电路:为保证输入频宽在音频范围,前端直流偏置电路采用OP07放大器,第一级的加法器将输入信号与2.5 V电压值相加,第二级的反相器将信号转移到A/D转换能处理的0~5 V范围。因输入端50 Ω电阻的接地,故系统输入阻抗近似为50 Ω。
  (3)A/D转换模块:因为音频信号的输入只有一路,所以在12位可配置的A/D模块的16个模拟输入引脚中只用到AN6,初始化时,将该引脚配置为模拟输入引脚,同时,因为处理后的音频信号电压为0~5 V,将A/D模块的参考电压设置为0 V,5 V。转换输出速率高达200 KSPS。
  (4)DSP模块:该数字微处理器是改良的哈佛结构设计,可实时分析,具有很高的分辨率。通过Microchip公司的MPLAB C30 C编译器调用DSP模块,该编译器中提供49个DSP处理函数,可以完成全部的数字信号处理。
  (5)LCD显示模块:用于直观显示频谱波形。
  (6)ICD2调试接口:选用Microchip公司的ICD2在线调试器,为此预留了ICD2调试接口。
  (7)RC振荡器:此单片机可工作在外部时钟输入、外部RC输入、内部快速RC振荡器、内部低功耗(RC)振荡器四种模式,以及在低功耗时使用的后分频器。本设计采用内部快速RC振荡器,它能提供7.37 MHz的时钟,由于要实现对音频信号实时处理,所以没有用到后分频器。
 
  2 软件设计
  音频系统主循环如图3所示。
  (1)经过采样、A/D转换完成后,清除A/D使能标志,得到离散化的数字信号。
 
  (2)调用周期判定函数,实现对信号周期性的分析。
 
  (3)调用FFT变换函数,对离散信号的快速傅里叶变换,实现时域到频域的变换。
 
  (4)显示输入信号的频谱。
 
  (5)计算信号的功率谱及计算最大功率。
 
  (6)显示信号的功率谱及最大功率。
 
  2.1 A/D采样
  理论分析:因12位的A/D模块,故量化单位为1/212,因频率分辨率△f=100 Hz、FFT的子样本点数N=512,故采样频率fs=51 200 Hz(fs≤N△f)、采样周期Ts=1/51 200 s(采样周期一采样时间+转换时间)。因振荡频率为7.37 MHz,故指令周期TCY=(1/7.37)×4=O.5μs。
 
  实际控制:转换时间为14个TAD(为正确A/D转换,TAD=333.33 ns)。所以,配置A/D自动采样时间为6个TAD,A/D转换时钟为16TCY,则A/D转换总时间为0.092 ms,采样频率为10.87 kHz。
 
  A/D模块工作在系统时钟源、自动转换模式,每完成一次转换进入一次中断。在程序中应该定义一个采样点数的结构体,用于存放A/D采集到的数据,每个结构体内包括一个实部和一个虚部。在中断服务子程序中,由A/D模块采集到的数字量存储到结构体的实部,共进行采样点数次转换,中断服务子程序的流程如图4所示。
      2.2 周期判定
  音频信号的频率分量不但多,而且不具周期性。测量周期可以在时域也可以在频域,但是由于频域测量周期性时要求某些频率点具有由规律的零点或接近零点出现,所以对于较为复杂的、频率分量较多且功率分布较均匀且低的信号就无法正确地分析其周期性。因此,对于信号的周期性判定,应该在对信号进行FFT变换之前,直接调用周期判断函数。周期性判定子程序流程图如图5所示。
  2.3 FFT变换
  由于直接傅里叶变换的计算量与子样本点数N的平方成正比,在N较大时,计算量太大,不适合在资源有限的嵌入式系统中实现。所以最常用基2 FFT算法,其主要思想是将N点直接傅里叶变换分解成多个较短的直接傅里叶变换,再利用旋转因子的周期性、对称性,在很大程度上节省了系统资源。
 
  MPLAB C30 C编译器内部提供了几乎全部的数字信号处理软件工具,通过DSPIC30F系列微处理器,只需调用Microchip公司提供的库函数,即可方便的实现数字信号处理。对于基2 FFT变换来说,其软件流程图如图6所示。
  2.4 特征值提取
  对频域分析起决定作用的量包括采样频率、采样点数。通过FFT变换,得到离散化的幅度谱X(k),先将离散化的幅度值平方,再除于子样本点数N,就可得到该频率点对应的功率值(功率=X(k)*X(k)/N)。
 
  3 结 语
  系统的主要性能指标为:输入阻抗50 Ω;输入信号电压范围(峰-峰值)100 mV~5 V;输入信号包含的频率成分范围为200 Hz~10 kHz;频率分辨力为100Hz(可正确测量被测信号中,频差不小于100 Hz的频率分量的功率值);输入信号的总功率和各频率分量的功率,检测出的各频率分量的功率之和不小于总功率值的95%;各频率分量功率测量的相对误差的绝对值小于10%,总功率测量的相对误差的绝对值小于5%;以5 s周期刷新分析数据,信号各频率分量应按功率大小依次存储并可回放显示,同时实时显示信号总功率和至少前两个频率分量的频率值和功率值,并设暂停键保持显示的数据。基于DSP单片机技术的音频信号分析具有性能稳定、电路简单、速度快、成本低、体积小的特点,适用于需要音频信号分析的嵌入式系统中,可以在更多领域进一步推广和应用,如环境监测、语音识别、智能系统的控制等。
关键字:16位单片机  音频信号分析仪 引用地址:基于16位单片机的音频信号分析仪的设计

上一篇:基于单片机EM78247的光伏发电系统太阳自动跟踪器
下一篇:基于单片机和PSD设计的数制化电源

推荐阅读最新更新时间:2024-03-16 12:47

Intel16位单片机的特殊串行通讯方式
    摘要: 80C196MC/MD单片机是196系列单片机中功能最强大的单片机之一,它所独有的WFG(波形发生器)功能使在电机变频控制中心倍受青睐。文中介绍了80C196MC/MD中事件处理阵列(EPA)和外设事务服务器(PTS)的结构、功能和使用方法,以及如何利用EPA和PTS实现串行通讯的技术和设计思路。     关键词: EPA PTS 80C196MC 单片机 串行通讯 1 概述 随着单片机技术的发展和控制技术的提高,16位单片机已经被广泛地应于工和民用领域。其中,Intel公司的80C196系列16位单片机目前应用非常广泛的一种。 80C196MC/MD单片机集合了Intel16位单片机
[网络通信]
基于16位单片机的逆变电源系统的设计
1、引言 近来,逆变电源在各行各业的应用日益广泛。本文介绍了一种以16位单片机8XC196MC为内核的逆变电源系统的设计。8XC196MC片内集成了一个3相波形发生器WFG,这一外设装置大大简化了产生同步脉宽调制波形的控制软件和外部硬件,可构成最小单片机系统同时协调完成SPWM波形生成和整个系统的检测、保护、智能控制、通讯等功能。 2、 电源系统的基本原理 该电源由蓄电池输入24V直流电,然后通过桥式逆变电路逆变成SPWM波形,经低通滤波器得到正弦波输出。SPWM波形由8XC196MC的3相波形发生器WFG产生,可输出所需电压和频率的正弦波。 3、 系统硬件设计 该逆变电源系统可实现调频、调压功能。通过A/D转换,自动反
[应用]
凌阳16位单片机SPCE061A的最小系统及开发
1 SPCE061A的主要特点 SPCE061A是继 'nSPTM(Microcontroller and Signal Processor)系列产品SPCE500A等之后,凌阳科技公司推出的又一个16位结构的微控制器芯片。与SPCE500A不同的是,SPCE061A仅内置32k闪存FLASH,其较高的处理速度使1'nSP 能够非常容易地、快速地处理复杂的数字信号,因而特别适用于数字语音识别等应用领域。SPCE061A在2.6V-3.6V工作电压范围内的工作速度范围为0.32-49.152MHz,且具备8通道10位模-数转换输入功能,以及内置自动增益控制功能的麦克风输入方式;同时具有双通道10位DAC方式的音频输出
[单片机]
凌阳<font color='red'>16位单片机</font>SPCE061A的最小系统及开发
飞思卡尔16位单片机(十五)—— 如何批量烧写芯片
我们在进行飞思卡尔单片机开发时,一般使用CodeWarrior软件和usbdm调试器进行。但是在实际生产过程中,采用这种方式烧写芯片效率比较低,而且很多情况下,程序的源码不希望对生产人员开放,本文就是为了这个目的,给大家讲解一下,如何进行芯片的批量烧写。 在进行批量烧写之前,我们默认大家已经安装了飞思卡尔单片机的开发环境,包括软件、调试器驱动。下面我们就进行批量烧写的实现。 首先我们先要找到工程的二进制文件,CodeWarrior中,二进制文件的扩展名为.s19,在工程的bin文件夹下,如下图所示。 将这个文件复制到英文路径下,这一步很关键,因为烧写软件不认中文路径。 接下来将下载器、单片机与计算机连接好。 然
[单片机]
飞思卡尔<font color='red'>16位单片机</font>(十五)—— 如何批量烧写芯片
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved