基于MSP430的FM音频频谱分析仪的设计方案

最新更新时间:2014-02-28来源: 21IC关键字:MSP430  FM音频频谱分析仪 手机看文章 扫描二维码
随时随地手机看文章

1.前言

在实际的广播电视发射工作中,新的发射机的进场测试,发射机的日常指标测试等都涉及了音频的测试。本文设计的音频频谱分析仪就是从信号源的角度出发,测量音频信号的频谱,从而确定各频率成分的大小,为调频广播的各项音频指标的提供参考。

在本文中主要提出了以MSP43处理器为核心的音频频谱分析仪的设计方案。以数字信号处理的相关理论知识为指导,利用MSP430处理器的优势来进行音频频谱的设计与改进,并最终实现了在TFT液晶HD66772上面显示。

2.频谱分析仪设计原理

由于在数字系统中处理的数据都是经由采样得到,所以得到的数据必然是离散的。对于离散的数据,适用离散傅立叶变换来进行处理。

快速傅里叶变换,是离散傅里叶变换的快速算法,也可用于计算离散傅里叶变换的逆变换,目前已被数字式频谱仪广泛采用。对于长度为N的复数序列 0 1 1 , , , N ? x x L x ,离散傅里叶变换公式为:

 

 

于是一个序列的运算被分解成两个运算的和的形式, ( ) 1 X k 和( ) 2 X k 可以继续向下分解,最终分解为两点的FFT运算。如果想要FFT运算后的输出为自然顺序排列,则输入序列需要按位倒序来排列。

图1为8点FFT的运算图。

 

 

经过FFT运算后,可以将一个时域信号变换到频域。有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了,这就是频谱仪的一般原理。

3.频谱分析仪的设计及实现

本文介绍了一种基于FFT的的数字音频频谱分析仪的设计方案,通过ADC采样输入的音频信号,ADC采样完成以后,将数据进行倒序排列并进行FFT运算,结果通过TFT液晶显示出来。系统的框图如图2所示。

 

 

3.1 音频频谱分析仪硬件实现

为了实现系统功能,采用16bit处理器MSP430来高效处理输入的数据流。MSP430自带ADC12模块,ADC12的采样数据经过运算,通过65K色的液晶显示频谱图。本系统硬件系统图如图3所示。

 

 

电源模块为整个系统提供供电。系统还能响应用户按键事件,并进行相应的处理。串口模块为系统的扩展预留。

3.2 音频频谱分析仪的系统软件设计

系统上电后首先进行系统初始化System_Init(),对看门狗、系统时钟、定时器、I/O端口、ADC等各模块进行初始化。接下来ADC12对连续的模拟信号进行采样,得到离散化的数字信号,由处理器读取该数字信号并进行相应的处理。采样频率过高,采样点数过多,会占用大量宝贵的处理器内存,降低数据处理速度;采样频率过低,又会使采样数据失真而无法恢复原始连续信号。因此,必须根据信号的频率范围来设置采样频率,同时要满足采样定理的要求。

当采样频率一定时,增加采样点数可以提高频率分辨率,但数据存储空间和计算量也相应增大。一般可根据实际需要进行采样点数的选取,通常设置为2的整数次幂,以便于进行后续的FFT谱分析,本系统采样点数为N=16.ADC12采样流程图如图4所示。

 

 

采样后的FFT数据处理是系统的又一个重点和难点,一方面,为了得到正序FFT,需要对原始自然序列进行码位倒序排列;另一方面,为了减少处理器的浮点运算时间,旋转因子kN W 计算采用查表实现。图5为FFT运算的倒序流程图。

 

如果提前将余弦和正弦计算出来作为全局变量,计算kN W 就可以直接调用进行加减计算,减少了大量的浮点运算时间,会以牺牲一点存储器的代价获得快速的系统响应。表1是编制的N=16时的余弦和正弦表。

 

 

图6表示的是FFT运算的流程图,整个FFT程序包含在一个迭代的过程中,最后一层计算总是2-FFT蝶形运算,下面是蝶形运算和FFT计算的主程序段:

 

 

 

 

当数据经过FFT处理完毕以后,最后一步就是直观地把数据显示出来了,在这里我们采用了TFT液晶HD66772.

结合HD66772的操作时序图,利用指令对其进行读写操作,可以对液晶的读写进行编程。MSP430F149与液晶HD66772模块之间的连接分为控制总线和数据总线。在液晶屏上正确显示信息,必须对液晶进行两个基本操作:第一,写入指令代码;第二,写入显示数据。

4.系统调试与运行

因为MSP430F149的主时钟采用8MHz晶振,虽然系统的单条指令的执行时间仅为0.125μs,但是加上处理FFT的运算、ADC12采样频率和液晶的写入时间等影响,液晶的实际刷新频率低于25Hz,产生严重的闪烁感。为了提高刷新频率,将实心柱图改为空心线条,每隔两个空心细线条写入一个实心线条,这样液晶的写入时间减少了2/3,既能保证显示的结果的准确性,也不牺牲系统的写入HD66772液晶的GRAM的时间。解决了信号闪烁的问题。图7为输入音频信号后TFT液晶显示的频谱图。

 

 

图7中将输入信号30Hz-15KHz的音频信号在频域进行了16等分,每一个柱子表示1KHz的频率带宽。从图中可以看到一般音频信号的能量集中在低频段,随着频率的升高音频能量也越来越弱,这也是调频广播采用加权技术来提高性噪比的原因了。

4.结论

本方案通过ADC采样输入的音频信号,ADC采样完成以后,将数据进行倒序排列并进行FFT运算,结果通过TFT液晶显示出来。由于采用的处理器的处理能力的原因,不能做到很高的采样频率和很精细的频率分辨率,要提高系统的频率分辨率,就需要增加采样点数。可以借助PC的强大处理能力,将采样的数据通过预留的串口传送给PC,在PC上完成FFT运算以及显示,这就是虚拟仪器的方式,实际工作中应用前景也非常大。

关键字:MSP430  FM音频频谱分析仪 编辑:探路者 引用地址:基于MSP430的FM音频频谱分析仪的设计方案

上一篇:使用混合信号示波器调试混合信号嵌入式设计
下一篇:基于FPGA的电容在线测试系统设计

推荐阅读最新更新时间:2023-10-12 22:36

基于MSP430行驶车辆检测器方案设计
利用环形线圈、MSP430F112 1A单片机与输出接口,组成低功耗行驶车辆检测系统,并能根据用户预先设定的灵敏度、工作方式、输出方式进行车辆检测与信号输出。 还应用软件动态刷新基准的方法提高了检测的可靠性和准确性。实验表明:该系统具有结构简单、功耗低、调节方便等优点。 引言 近年来,车辆检测器作为交通信息采集的重要前端部分,越来越受到业内人士的关注。鉴于公路交通现代化管理和城市交通现代化管理的发展需要,对于行驶车辆的动态检测技术——车辆检测器的研制在国内外均已引起较大重视。车辆检测器以机动车辆为检测目标,检测车辆的通过或存在状况,其作用是为智能交通控制系统提供足够的信息以便进行最优的控制
[单片机]
基于<font color='red'>MSP430</font>行驶车辆检测器方案设计
初识畅学系列MSP430F149单片机开发板
1、畅学MSP430单片机核心板 畅学系列六合一MSP430单片机核心板板载贴片封装的MSP430F149单片机芯片,芯片IO全部引出2组,既可以直接插到畅学系列多功能开发学习板/实验箱底板直接扩展为多功能开发学习板,也可以单独作为一个MSP430最小系统核心板使用。 畅学系列六合一MSP430单片机核心板-标配一个MSP 430149单片机,核心板集成BSL下载器,一条USB线即可实现供电和BSL方式程序下载,还可以通过USB线实现串口通讯。。 板载BSL下载模块,可以方便的直接通过USB线在供电同时还可以下载程序。 板载BSL下载模块,还可以作为串口通讯模块使用,可以通过USB供电同时和PC机进行串口通
[单片机]
初识畅学系列<font color='red'>MSP430</font>F149单片机开发板
MSP430仿真器使用常见问题
一、 主要是驱动安装问题 有用户反应驱动安装不上,按照用户手册操作一直不能安装成功。 可以尝试如下步骤进行安装。 1. 双击设备管理器中无法安装或者提示有错误的430仿真器设备 选择驱动程序——更新驱动程序 选择手动安装 选择从电脑设备驱动列表中安装 弹出下面对话框 找到端口选项,因为MSP430仿真器安装的是默认为一个串口的 点下一步 找到texas instuments厂商 在右侧选中msp-FET430UIF-VCP 点击下一步 自动安装成功 二、 另外一个就是MSP430仿真器给核心板供电问题,在MSP430核心板中有说明,这里再说一下 一、 关于MSP430供电问题 对于CEP
[单片机]
<font color='red'>MSP430</font>仿真器使用常见问题
MSP430锁频环的使用
#include msp430f149.h void delay(int x) { int i,j; for(i=x;i 0;i--) for(j=112;j 0;j--); } int main( void ) { // Stop watchdog timer to prevent time out reset BCSCTL1 |= DIVA_2; WDTCTL = WDT_ADLY_1000; IE1 = WDTIE; P2DIR |= BIT2; P2OUT |= BIT2; while(1) { _BIS_SR(LPM3_bits+GIE); P
[单片机]
MSP430F249 IIC write and Uart send
//******************************************************************************/ #include msp430.h //注意:两次发送间隔必须要有延时,否则不能再次发送,串口发送格式: unsigned char PTxData ; // Pointer to TX data unsigned char pHead; unsigned char pTail; unsigned char TXByteCtr; const unsigned char TxData = // Table of data to tra
[单片机]
MSP430与DS18B20驱动程序
**文 件 名: ds18b20.c **描 述: 利用但总线DS18B20测温程序,并在LCD显示,取三位有效小数位。整数部分两位。共5位显示 #include MSP430x44x.h #define SEGE 0X80 #define SEGH 0X40 #define SEGF 0X20 #define SEGC 0X10 #define SEGG 0X08 #define SEGD 0X04 #define SEGB 0X02 #define SEGA 0X01 const unsigned char digit = { SEGA|SEGB|SEGC|SEGD|SEGE|SEGF, /* 0 LCD
[单片机]
MSP430第三十二章:Comp_B
1. Comp_B介绍 Comp_B模块支持精确斜率模数转换、电源电压监控和外部模拟信号监控。 反相和非反相终端输入多路复用器 软件可选RC滤波器用于比较器输出 提供给Timer_A捕获输入的输出 软件控制端口输入缓冲区 中断能力 可选基准电压发生器,电压迟滞发生器 参考电压输入来自共享参考 超低功耗比较器模式 中断驱动测量系统-低功耗操作支持 2. Comp_B操作 2.1比较器 比较器比较+和-输入端子的模拟电压。如果+端大于-端,比较器输出CBOUT高。比较器可以使用控制位CBON打开或关闭。不使用比较器时应将其关闭,以减少电流消耗。当比较器关闭时,当CBOUTPOL设置为0时CBOUT为低,当CBOUTPOL设置为
[单片机]
<font color='red'>MSP430</font>第三十二章:Comp_B
基于MSP430系列单片机的CAN总线接口转换卡设计
   1 引言   控制器局域网(Controller Area Network,简称CAN)是德国奔驰公司20世纪80年代为解决汽车众多控制设备与仪器仪表之间的数据交换开发的一种串行通信协议。它作为现场总线的一种广泛应用于各种工业现场,根据不同的需要或以主从方式、或以多主方式工作。CAN总线使用的通信介质为双绞线或其他电缆,传输速率可达lMb/s。CAN总线与其他通信网的不同之处有二:一是报文传送中不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文,该收的收下,不该收的弃而不用。其好处是可在线上网下网、即插即用和多站接收;二是特别强化了对数据安全性的关注,满足控制系统及其他较高数据要求的系统需求
[应用]
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved