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

发布者:数字行者最新更新时间:2011-10-25 关键字:PIC单片机  音频信号分析仪 手机看文章 扫描二维码
随时随地手机看文章

  引 言

  目前,大多数音频信号处理仪不但体积大而且价格贵,在一些特殊方面难以普及使用,而嵌入式系统分析仪具有小巧可靠的特点,所以开发基于特殊功能单片机的音频分析仪器是语音识别的基础,具有很好的现实意义。信号分析原理是将信号从时间域转换成频率域,使原始信号中不明显特性变得明显,便于分析处理。对于音频信号来说,其主要特征参数为幅度谱、功率谱。该音频信号分析仪的工作过程为:对音频信号限幅放大、模数转换、快速傅里叶变换(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的时钟,由于要实现对音频信号实时处理,所以没有用到后分频器。[page]

  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所示。

 

 

[page]

  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单片机技术的音频信号分析具有性能稳定、电路简单、速度快、成本低、体积小的特点,适用于需要音频信号分析的嵌入式系统中,可以在更多领域进一步推广和应用,如环境监测、语音识别、智能系统的控制等。 

 

 

 

关键字:PIC单片机  音频信号分析仪 引用地址:基于PIC单片机的音频信号分析仪的设计

上一篇:单片机在自动血压监控系统中的应用
下一篇:Microchip推出体积最小、成本最低的全新PIC32单片机

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

PIC单片机的PWM波的简单调制+proteus仿真实现直流电机的启动
前言:该篇文章主要是给刚入门的新人看的,自己也是昨天通过PIC 16F877A调出的一的PWM波。关于什么是PWM波我就不在赘述,这个需要小伙伴自己去查资料了。 主要内容:在这里主要是讲利用PIC单片机自身集成的硬件模块去调PWM波,而不是通过I/O口的模拟。 需要的一些工具:MPLAB X IDE(编程软件) proteus(仿真软件) 芯片手册。 1.我们需要了解的下图的意思。 从图可以看出,在TMR2与CCPRxH比较时,是用来复位的,意思是在计数值等于CCPxH时复位,(用来确定脉冲的宽度)。 在TMR2与PR2比较时,是用来置位,意思是在计数等于PR2时置位,也是将TMR2计数寄存器清零,并且反转CC
[单片机]
<font color='red'>PIC单片机</font>的PWM波的简单调制+proteus仿真实现直流电机的启动
用PIC16F877单片机实现的IC卡读写器
引言 本设计的主要目的是介绍IC卡的数据存储技术和IC卡的数据通信,因而使用存储器卡。由于本设计中既可与IC卡进行串行同步通信,又要与上位机进行中行异步通信,因而需要选择一种同时具有这两种通信方式的单片机。因为PIC16F877不仅具有本设计所需要的两种通信方式,而且还具有运行速度快、低功耗、价格低等优点,所以选择PIC16F877单片机作为本设计的单片机。 图1是本设计的电路图,图中电源变换电路和发光二极管等指示电路没有画出。图中的二极管电路是单片机与IC卡通信数据线的保护电路。当数据线上的电压为负电压时,与地相连的二极管导通;当数据线上的电压大于+5V时,与+5V相连的二极管导通,从而保证数据线上的电压在0V~+5V之间
[单片机]
用PIC16F877单片机实现的IC卡读写器
PIC单片机系统定义字的含义解析
  在PIC芯片内有一特殊的系统定义字含有4个EPROM熔丝。它不是程序存贮器EPROM的组成部分(不包括在0.5K-2K的程序空间内)。其中两个熔丝用以选择四种振荡方式(RC、XT、HS、LP),另两个熔丝一个用来选择使能(enable)看门狗WDT,一个用来选择使能程序保密位。   用户可以在烧写OTP或窗口型芯片时,选择烧写这四个熔丝。详见第七章烧写工具介绍说明。对于腌膜芯片,则由生产厂根据客户需要在芯片生产过程中予以烧写。   §1.12.1 程序保密位(Protection Fuse)   当你选择将芯片的程序保密位熔丝熔断(写入0)后,程序存贮区ROM中的程序代码(12位宽)的高8位将被遮没。具体地说,就是当再
[单片机]
<font color='red'>PIC单片机</font>系统定义字的含义解析
使用PIC单片机制的简单拍手开关
  拍手开关对于初学者来说是一个很有趣的单片机方案。它以拍手的声音打开和关闭电器。在本文中,单片机开发工程师们将使用PIC单片机制作一个简单的拍手开关,当它连续检测到两个拍手声音时,该开关便会运行。在这个方案中,使用驻极体麦克风作为换能器,将拍手声转换为电信号。麦克风的输出由晶体管放大,然后发送到PIC12F683单片机,当检测到有效拍手时,PIC12F683单片机执行ON/OFF切换动作。   声控拍手开关的原理   拍手开关的输入端需要一个换能器,以将拍手的声音振动转换为电能。为此使用驻极体麦克风或简单的麦克风(OBO-04FN-0B)。麦克风的输出中的声音信号电流很低,因此我们需要一个放大器电路来增强检测到的声音信号。以
[单片机]
使用<font color='red'>PIC单片机</font>制的简单拍手开关
PIC单片机编制的可预置起始时刻的倒计时程序
  可预置起始时刻的倒计时程序,是作为日常生活中对某事件的定时之用:只要某事件由人工设置的计时时间到,倒计时电路便会发出报警声。倒计时的特点是,计时一旦达到预定值,其值就归零。利用归零条件,即可实现任意倒计时达到时的报警功能,提示人们定时已到。   本倒计时器可在0~99分钟内任意设置计时值。   例如在厨房中,蒸大米饭(8两米),定时33分钟,烧开水(一壶)为20分钟,煮胡罗卜(红色)为30分钟等,只要设定时间一到,倒计时器即报警,使用十分方便。当然,上述倒计时值,均是事先用普通时钟确定每个事件所要花费的时间,列出相应定时标准,才能用倒记时器进行定时。   (1)硬件电路   下图是0~99分钟可预置的倒计时电路。  
[单片机]
用<font color='red'>PIC单片机</font>编制的可预置起始时刻的倒计时程序
PIC单片机学习 TMR2
TMR2的宽度与TMR0一样的也是8位,一般伴随着CCP模块和PWM功能一起出现。 8位宽度的TMR2定时器有一个前置预分频器和后置预分频器,同时还有一个周期控制寄存器与它配合一起实现针对单片机指令周期的计数。 TMR2只能作为定时器使用,无法对外部输入的脉冲作计数。 TMR2定时器与TMR0相比,最大的区别是TMR2有一个周期的控制寄存器PR2。PR2寄存器可以设定定时器的上限值。只要当TMR2的计数值和PR2的设定值相等时就会自动归0,同时产生一个中断。 当TMR2的计数值与PR2寄存器中所设定的数值相一致后,一睛个计数脉冲,的到来应会让TMR2溢出归0,注意:一个计数溢出归0后,并不一定产即产生TMR2I
[单片机]
PIC单片机低功耗系统的设计
引言 20世纪90年代以来,随着集成电路特征线宽的持续缩小以及芯片密度和工作频率的相应增加,降低功耗已经成为亚微米和深亚微米超大规模集成电路设计中的一个主要考虑因素。功耗的增加会带来一系列问题,例如电路参数漂移、可靠性下降、芯片封装成本增加等。因此,系统的功耗在整个系统设计中,尤其是在采用电池供电的系统中显得十分重要。 MICroChip公司PIC系列的单片机为设计高性能、低功耗的单片机系统提供了很好的解决方案。 1 低功耗设计方法 为使系统工作在低功耗状态,必须正确设置单片机的配置及工作方式。下面结合最常用的PIC12、PIC16等单片机介绍低功耗系统的设计方法。 1.1 基本设计方法 有许多技术可以降低系统的功耗,
[单片机]
<font color='red'>PIC单片机</font>低功耗系统的设计
PIC单片机入门笔记(新手学PIC必看)——基于PIC16F886
学习PIC单片机的目的是打算做一款433M无线开关,之前学习过51与AVR单片机,对8位单片机有一些基础,不过PIC单片机还是第一次接触,先从入门开始吧!入门实验最经典的是点亮一只LED了,这次也它为例走一遍PIC开发的整个流程。虽然C语言已成主流,由于PIC单片机汇编指令只有35条,记忆容易,这次就从非主流开始! 一、准备工作 1. 在二手市场买来一本【PIC单片机原理与应用】第4版。 2. 在淘宝买来一个PIC的下载仿真器【PICkit3】。 3. 从废旧设备上面拆下一片PIC16F886的28脚单片机,用覆铜板制作了一个简单的PIC最小系统板,可以用来下载仿真、按键输入、LED指示灯、AD输入。 4. PIC开发环境MPLA
[单片机]
<font color='red'>PIC单片机</font>入门笔记(新手学PIC必看)——基于PIC16F886
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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