APP下载

基于ARM和DDS的频谱分析仪的设计与实现

2016-05-14梁城

现代电子技术 2016年9期
关键词:频谱分析

梁城

摘 要: 提出一种基于ARM平台的频谱分析方案,利用快速傅里叶变换原理,实现信号的频谱分析和显示。使用DDS电路作为频谱分析中的信号发生器,信号经过幅度调整电路后,由STM32内部的A/D进行采样,对数字化后的信号做快速傅里叶变换(FFT)运算,将变换后各频率点上的幅度谱显示在LCD上。实验结果表明,该频谱分析仪完全可以满足0~20 kHz的低频段频谱分析需求,可应用于音频信号的频谱分析处理中,由于成本低,具有一定的应用价值。

关键词: 频谱分析; 直接数字频率合成; 幅度调整电路; 快速傅里叶变换

中图分类号: TN911.6?34 文献标识码: A 文章编号: 1004?373X(2016)09?0078?04

Abstract: A spectrum analysis scheme based on ARM platform is proposed, in which the fast Fourier transform (FFT) principle is used to realize signal, spectrum analysis and display. The DDS (direct digital synthesis) circuit is taken as the signal generator in spectral analysis. The signal processed by amplitude adjusting circuit is sampled by A/D inside STM32, and then operated with FFT. After that the amplitude spectrum of each frequency point is displayed on LCD. The experimental results show that the spectrum analyzer can entirely satisfy the spectrum analysis demand of 0~20 kHz low?frequency band, and can be applied to spectrum analysis and process of the audio signal. The analyzer has a certain application value due to its low cost.

Keywords: spectrum analysis; direct digital synthesis; amplitude adjusting circuit; fast Fourier transform

0 引 言

过去许多年,频谱分析仪在汽车,工业制造,通信信号处理等行业已成为一种非常有用的工具[1]。通常可用示波器观察一个信号的波形、幅度、频率等,但对于复杂信号的一些信息无法仅通过波形、幅度、频率获取。如果由时域分析转至频域分析,就能观察到各个频率点上的功率幅度大小分布情况。

频谱分析仪按照其原理可分为模拟和数字频谱分析仪。随着时代的发展,工程应用复杂化,产品更新更快,对于频谱分析仪的精度要求更高,处理速度要求更快,传统的模拟频谱分析仪由于体积庞大、功能单一、价格昂贵已不适应时代需求,正逐步向数字频谱分析仪发展[2]。

随着无线通信的发展,对频谱分析要求日益剧增,在通信有限的频带中,频域的谱分析变得非常重要[3]。各种通信网络的发展以及频谱资料的缺乏使通信频段正在向更高的频段扩展,因此要求频谱分析仪能够满足更高频段测试的需要[4]。目前,实现信号的频谱分析的方法主要有:采用通用数字信号处理芯片实现、采用专用DFT/FFT芯片与 DSP芯片实现和采用FPGA实现[5]。

虽然DSP,FPGA处理芯片在处理高频信号和大量数据时有很多优点,但是对于低频的音频信号,ARM芯片也可较快且准确地处理并显示频谱分析结果。所以,在本文提出一种利用ARM Cortex?M3内核的STM32作为数据处理核心,控制整个频谱分析系统的设计方案[6]。该设计方案由于使用ARM芯片,成本低廉,在低频的音频信号处理与分析中具有一定的应用价值。例如,在钢琴类乐器的调音中往往需要有经验的调音师,调音费用较高。而市场上有很多功能简单且操作不便的基于单片机的钢琴调音器,且性价比不高,该方案就可以应用在钢琴的调音中。本方案主要包括硬件和软件设计,硬件设计包括信号发生、信号调整、ARM最小系统板等电路与相关PCB设计。软件设计主要包括芯片驱动、A/D采样处理、FFT算法实现及LCD显示。

1 系统总体设计

数字频谱分析仪以ARM Cortex?M3内核的STM32作为控制核心。整个系统包括信号发生电路、信号调整电路、待测电路、显示与控制模块等。系统组成框图如图1所示。

在系统中,输入信号是由AD9833芯片产生,使用STM32内部的12位A/D采样,采样时要求待测电压范围为0~3.3 V。A/D采样前,必须对信号进行调整。信号调整电路包括信号衰减、程控放大和幅度平移。用户可以设置放大衰减的倍数,将输入的未知信号的幅值调整到合适值,然后进行幅度平移。信号输入A/D中,对信号实时在离散点采样,采样位置的信号电压转换为数字值,这些数字值成为采样点。采样必须满足奈奎斯特采样定理,避免信号混叠失真。A/D转换将输入信号转换为二进制数据,进行基4快速傅里叶变换,将变换过后的频谱显示在LCD上。

2 硬件设计

硬件电路主要包括信号发生、信号调整、待测电路、主控芯片STM32最小系统及外围电路等。

2.1 信号发生电路

系统的信号发生采用 DDS 技术(即直接数字频率合成技术)实现[7]。本方案中信号发生电路使用的DDS芯片是AD9833,能够产生频率范围为0~12.5 MHz的正弦波、三角波、方波输出。同时该芯片的外围电路简单,无需外接元件,输出频率、相位和波形都可通过软件编程,易于调节,主频时钟为25 MHz时,精度为0.1 Hz,主频时钟为1 MHz时,精度[8]可以达到0.004 Hz。

式中:[M]为频率控制字;[fMCLK]为时钟频率,其和相位累加器的位数[N]是不变的,因此输出波形的频率只由[M]确定;而波形的相位可通过改变Phase_reg实现输出波形的初相角的调制。芯片外围接一个10 MHz无源晶振,通过与主流微处理器兼容的SPI进行波形种类、频率的控制。

2.2 幅度调整电路

信号采样使用STM32内部A/D,该A/D要求待采样信号的电压幅度在0~3.3 V。实验中DDS产生的方波信号约5 V,需经幅度调整才可被采样。因此,设计了幅度调整电路,可得到符合要求的波形。幅度调整电路包括信号衰减、程控放大和幅度平移。

衰减电路利用的是串联电阻分压原理,衰减电路分两级衰减(一级为0.5倍衰减,另一级为0.05倍衰减)。通过模拟开关实现衰减两级的切换。

经衰减后信号幅度过小,采样不理想,要对信号进行相应放大。放大后的波形要确保信号的峰峰值小于3.3 V。程控放大电路如图2所示。

程控放大电路主要由压控可变增益放大器AD603和DAC芯片TLV5618A组成。通过调整DAC芯片的输出电压可改变AD603的放大倍数。

通过以上的硬件设计,如果信号发生电路产生方波信号,其峰峰值为5 V,经过衰减电路一级衰减,峰峰值衰减为2.5 V。将衰减后的波形送入程控放大电路,选择增益为-10 dB,即放大倍数为0.32,通过[A=40Vg+10](A为放大增益,[Vg]为压控电压)即可计算出需要TLV5618A提供-0.25 V电压来驱动AD603。峰峰值为800 mV的方波信号通过幅度平移电路,信号幅度向上平移400 mV。最终,方波信号的最低点为0,最高点为800 mV,满足A/D采样要求。

3 软件设计

软件部分主要有A/D采样的软件设计、基4快速傅里叶变换算法的实现以及各个芯片的底层驱动的设计(包括AD9833,TLV5618A等)。系统软件的整体设计,如图3所示。

3.1 A/D采样

在频谱分析系统中使用的是STM32内部自带的12位A/D,由于STM32理论上能够采样的电压范围[9]为0~3.3 V。经过前级衰减、放大与幅值平移,信号可以进行A/D采样。A/D采样中要设置采样频率。采样频率的大小必须满足奈奎斯特采样定律,可避免信号混叠失真。

5 结 语

本文利用STM32处理速度快、低功耗等优点实现了信号的发生、信号的调整、A/D采样、FFT算法,并将信号的频谱分析结果显示在LCD上。由调试结果及实验数据可知,该频谱分析系统可准确显示频率范围为0 Hz~20 kHz,幅度范围为100 mV~5 V的信号频谱。系统中采用的LCD屏幕分辨率相对较低,如果采用更高分辨率的显示器,频谱显示效果会更佳。另外,若再设计滤波电路滤除噪声,实验结果会更理想。

参考文献

[1] BETEA B, TOMESC L, DOBRA P, et al. Spectrum analyzer instrument based on OMAP3530 [C]// Proceedings of 2012 5th European Education and Research Conference. Amsterdam: IEEE, 2012: 257?260.

[2] GANDERTON R. Spectrum analysers today [J]. Electronics & power, 1978, 24(1): 42?44.

[3] LIM H, LEE S. A study on the low?cost digital spectrum analyzer design [C]// Proceedings of 2014 6th International Confe?rence on Electronics, Computers and Artificial Intelligence. Bucharest: IEEE, 2014: 31?34.

[4] 刘桂华.基于FPGA的数字频谱分析仪的设计与优化[D].天津:天津大学,2012.

[5] 陈小桥,胥鸣,葛文丽.基于FPGA的数字频谱分析仪的设计与研究[J].武汉大学学报(工学版),2010,43(2):269?272.

[6] 梁方舟,李金泉,黄训磊,等.基于STM32的音频信号分析设计与实现[J].现代电子技术,2014,37(1):19?21.

[7] 刘兰坤,潘明海.DDS的杂散分析及降低杂散的方法[J].电子器件,2007,30(2):572?574.

[8] 陈宇浩.基于FPGA和DDS的频谱分析仪的设计与研究[D].上海:东华大学,2009.

[9] 刘火良,杨森.STM32库开发实战指南[M].北京:机械工业出版社,2013:110?112.

[10] L? W T, SHEN C, GUI F, et al. Real?time spectrum analyzer based on all phase FFT spectrum analysis [C]// Proceedings of 2013 Fourth International Conference on Digital Manufactu?ring and Automation. Qingdao, China: IEEE, 2013: 966?969.

[11] 史林,赵树杰.数字信号处理[M].北京:科学出版社,2007:164?166.

[12] ZOU Wen, QIU Zhongpan, SONG Zhijun. FPGA implementation of efficient FFT algorithm based on complex sequence [C]// Proceedings of 2010 International Conference on Intelligent Computing and Intelligent Systems. Xiamen, China: IEEE, 2010: 614?617.

[13] 张德丰.Matlab数字信号处理与应用[M].北京:清华大学出版社,2010:116?117.

猜你喜欢

频谱分析
利用图示法增强信号课程的教学效果
基于小波的声发射信号去噪研究
基于STM32的便携式电机故障诊断仪的研制
MATLAB在信号频谱分析中的应用
Matlab在数字信号处理课程教学中的应用
电气信号分析(ESA)技术在核电厂电动机故障诊断中的应用
基于虚拟仪器系统的多功能信号发生器设计
曲轴转速波动对某柴油机正时齿轮系动力学特性的影响