历史上的今天
返回首页

历史上的今天

今天是:2024年12月16日(星期一)

正在发生

2019年12月16日 | 利用MSP430处理器实现音频频谱分析仪的设计

2019-12-16 来源:elecfans

1.前言

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


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


2.频谱分析仪设计原理

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


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

利用MSP430处理器实现音频频谱分析仪的设计

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

图1为8点FFT的运算图。

利用MSP430处理器实现音频频谱分析仪的设计

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


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

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

利用MSP430处理器实现音频频谱分析仪的设计

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

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

利用MSP430处理器实现音频频谱分析仪的设计

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


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

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

利用MSP430处理器实现音频频谱分析仪的设计

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

利用MSP430处理器实现音频频谱分析仪的设计

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

利用MSP430处理器实现音频频谱分析仪的设计

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

利用MSP430处理器实现音频频谱分析仪的设计

利用MSP430处理器实现音频频谱分析仪的设计

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


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


4.系统调试与运行

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

利用MSP430处理器实现音频频谱分析仪的设计

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


4.结论

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

推荐阅读

史海拾趣

Crocus Technology公司的发展小趣事

经过多年的发展,Crocus Technology已经在电子行业树立了良好的口碑和品牌形象。公司的产品在汽车、工业等多个领域得到了广泛应用,并帮助客户实现了产品性能的提升和成本的降低。展望未来,Crocus Technology将继续致力于技术创新和市场拓展,为电子行业的发展贡献更多的力量。

请注意,以上故事是基于现有信息和常识构建的,可能并不完全反映Crocus Technology公司发展的全部细节和真实情况。如需了解更多关于Crocus Technology的故事和发展历程,建议查阅公司官方发布的资料或相关新闻报道。

Eastron Corp公司的发展小趣事

Eastron Corp成立于电子产业的起步阶段,凭借创始人在半导体领域的深厚技术背景,公司迅速开发出了一系列高性能、低成本的半导体芯片。这些产品迅速占领了市场,为公司带来了可观的利润。随着技术的不断进步,Eastron不断推出新的产品,逐渐在电子行业中确立了其技术领先者的地位。

Harwin公司的发展小趣事

Harbour Industries始终将产品质量视为企业的生命线。为了确保产品质量达到国际一流水平,公司不断引入先进的质量管理体系。1990年代末期,Harbour成功通过了ISO9001产品质量认证。这一认证不仅标志着公司的质量管理体系已经达到了国际标准,也为其在全球市场中的竞争提供了有力保障。此外,Harbour还实行了“过程管理”来确定和控制产品成本,进一步提升了其市场竞争力和盈利能力。

Compostar Technology Co Ltd公司的发展小趣事

Compostar Technology Co Ltd公司自成立以来,一直致力于电子技术的研发与创新。在早期,公司凭借一款具有高效能耗比的电源管理芯片,成功打入了市场。随着技术的不断进步,公司逐渐将业务扩展到通信、智能家居和可穿戴设备等多个领域。公司不断投入研发资金,吸引了一批优秀的科研人才,成功研发出多款具有竞争力的产品,逐渐在电子行业中树立了良好的口碑。

Coleman Cable Inc公司的发展小趣事

随着全球环保意识的不断提高,Coleman Cable积极响应绿色发展的号召,将环保理念融入公司的生产和经营中。公司研发出环保型电缆产品,采用环保材料和工艺,减少生产过程中的环境污染。同时,公司还加强废弃电缆的回收和处理工作,推动资源的循环利用,为行业的绿色发展做出了贡献。

深圳杜因特(DOINGTER)公司的发展小趣事

在竞争激烈的电子行业中,杜因特始终将创新作为公司发展的核心动力。公司不断投入大量资源进行新产品的研发和技术创新,特别是在Super-Junction MOSFET和Super-Trench MOSFET等高端产品领域取得了显著成果。这些创新产品不仅满足了市场对高品质MOSFET的日益增长需求,还进一步巩固了杜因特在电子行业的技术领先地位。

问答坊 | AI 解惑

高通与中芯国际签署战略协议 重点关注电源管理芯片

高通公司日前宣布,与全球领先的芯片代工公司之一中芯国际集成电路制造有限公司(中芯国际)签署战略协议。这项与中芯国际的战略性协议将使高通公司可充分借助该代工工厂在混合信号技术的制造、供应链管理方面领先的运营管理经验,来更好的为我们在 ...…

查看全部问答>

F题

本帖最后由 paulhyde 于 2014-9-15 09:00 编辑 数字幅频均衡怎么设计啊  …

查看全部问答>

求帮写一个VGA彩色信号控制器设计

一.设计要求: 要求用一片fpga ,vga 显示器和实验箱中的vga接口共同实现多种彩色的显示。 其功能如下: (1) 根据vga工业标准,产生正确的行场扫描信号; (2) 有显示控制键,每按动一次按键,输出全屏改变一种颜色,循环显示颜色分别为: ...…

查看全部问答>

在WIN CE下用WIN 32显示BMP图片!

我是个新手。。。想在WIN CE下用WIN 32显示BMP图片!。。。不用MFC。。。 这个应该要怎么实现啊!!! 能不能给个例子看看。。。先谢谢啦 …

查看全部问答>

请问vc6编译的程序能在wince4.2上用吗?

如何调试呢?平台已经有人做了,我需要在上面做应用程序,请问能用vc6写吗?是不是编译成release版本直接下进去呢?还是可以编译成debug然后调试呢? …

查看全部问答>

求助ARM

有做arm方面的吗,我们公司刚用ARM,公司做了一块板子,用到了AT91RM9200,这款芯片片内没有flash,我们外扩了个三个flash,现在ulink能识别到内核,但程序下不进去,各位有什么建议的话麻烦说一下,谢谢。 我没有可用分了,请原谅。…

查看全部问答>

用c52生成UDP效验码的问题

UDP效验码的格式是每16为进行反码求和运算,有进位则结果再加上1,最后得到一个16位的效验码。我的问题是这16位求和的具体方向是怎样的,最后按什么顺序放在16的效验码字段里? 比如:设cr为16效验码初值为0(类型unsigned int),数据包中的16位 ...…

查看全部问答>

关于EVC的问题?

刚接触EVC开发, 用的EVC4.0和POCKET PC SDK 2003. 编译运行之后, 出现WINDOWS CE的桌面, 没有自动运行编写的应用程序. 但应用程序在一个目录之下, 每次都要打开FILE EXPLORE再找到文件运行, 非常的麻烦. 不知道是我设置有问题还是模拟器即是如此 ...…

查看全部问答>

智能车飞思卡尔MC9S12DG128开发板 个人闲置

智能车飞思卡尔MC9S12DG128开发板 个人闲置                        本人为在校学生,曾参加过2009年、2010年飞思卡尔智能车竞赛。由于现在正在备战考研。决定出售全套 智能车飞思卡 ...…

查看全部问答>

MC9S12XS128MAA,编写两路速度测试,在液晶屏上同时显示这俩路速度值

程序整体思路 K1键按下,一只led灯开始闪烁,同时启动测试速度程序,能够在液晶屏上显示所测速度,如果速度在20km/h-60km/h之间,则从相应口输出10hz方波脉冲,在检测脉冲仪上显示 测试速度具体思路(两路速度测试,两路速度显示) 由V=(2∏R*f) ...…

查看全部问答>