FFT在单片机上的实现文档格式.docx
《FFT在单片机上的实现文档格式.docx》由会员分享,可在线阅读,更多相关《FFT在单片机上的实现文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
对信号连续采32个点进展浮点型FFT运算。
一次完整采样的时间为1.25ms,最高采样频率为25600Hz,分辨频率为800Hz~12800Hz,分16级。
显示局部主体为1602液晶显示屏,其具有2行×
16列的8×
5点显示点阵。
16分频谱将分别以柱高形式显示在显示屏上。
程序中设置了频率下落效果以使观感更好。
另设置了比照度调节电阻,使屏幕比照度可调。
关键词:
FFT单片机音频频谱
THEREALIZATIONOFFFTINTHEMICROCONTROALER
ABSTRACT
Audiosignalanalyzerisakindofdevicewhichcanbewidelyfoundinvariousofaudio,mixingandrecordingdevices,andcansamplingandanalysisofthespectrumoftheinputhaveanintuitiveaudiosignalanddisplaysitonthedisplayinreal-time,peoplecanarelisteningtoMusicformusicwhenhighfrequencyunderstanding.Whatpresentedinthisarticleisjustsuchanaudiosignalanalysissystem.Thehardwareofthesystemareformedwiththreeparts:
thesignalconditioner,thecontrolprocessor
and
thedisplaymodule.
Signalconditioningcircuitmakesthesignalof300mV~3VACaudiosignalavailableforinputting.Inthissystem,weonlyprocesswithsingle-channelsignal:
WhenthevoltageislowerthesystemusesLM324opamptogainvoltage,andastosignalsmorethan12800Hzitfiltersthem.Inadditionthesystemsetsanoutputaudiointerfaceformonitoring.
Thecontrolprocessorofthesystemisthe51cores1TMCUSTC12C60A5S2,with32.768MHzcrystalfrequency.Thedeviceeswith8-channel&
10-bithigh-speedADC,whereonlyonechannelADChigh8.Thesignalcollected32pointsinconsecutivefloating-pointFFToperation.Apletesamplingtimeis1.25ms,themaximumsamplingfrequencyis25600Hz,andthedistinguishfrequencyis800Hz~12800Hz,with16levels.
Themaindisplaysectionis1602LCDscreen,whichhas2rows×
16columns-8×
5dotdisplaymatrix.16pointstothecolumnheightspectrumwillbedisplayedonthedisplay.Theprocessofsettingofthefrequencydropintheperceptionofbettereffect.Thereisalsocontrastadjustmentresistor,whichmakesthescreencontrastadjustable.
KEYWORDS:
FFT,MCU,AUDIOSPECTRUM
§
4.1系统软件总体设计11
第1章绪论
1.1研究的背景及意义
1.1.1课题研究背景
在家庭影院、卡拉OK等音响系统中,实时显示音乐信号的频谱将为音响系统增不少色彩。
目前实际生产的音响系统产品,大多采用以下两种方法实现音频频谱显示:
一是利用硬件滤波器和A/D转换器;
二是利用单片机或DSP处理频谱显示。
前者实现简单,但硬件本钱高;
后者软件和硬件实现都较复杂。
1.1.2课题研究意义
目前,大多数音频信号处理仪不但体积大而且价格贵,在一些特殊方面难以普及使用,而嵌入式系统分析仪具有小巧可靠的特点,所以开发基于特殊功能单片机的音频信号分析仪器是语音识别的根底,具有很好的现实意义。
1.2课题开展的状况
早期专业的音频分析仪种类很少,在做音频测量时一般是利用万用电表、频率计、示波器及频谱仪等组合成一套音频测试系统。
这种测试系统中间环节多,各环节之间接口匹配较为困难,使用起来比拟麻烦,测量结果往往也不准确。
传统的频谱分析仪的前端电路是一定带宽可调谐的接收机,输入信号经变频器变频后由低通滤器输出,滤波输出作为垂直分量,频率作为水平分量,在示波器屏幕上绘出坐标图,就是输入信号的频谱图。
由于变频器可以到达很宽的频率,例如30Hz-30GHz,与外部混频器配合,可扩展到100GHz以上,频谱分析仪是频率覆盖最宽的测量仪器之一。
无论测量连续信号或调制信号,频谱分析仪都是很理想的测量工具。
但是,传统的频谱分析仪也有明显的缺点,它只能测量频率的幅度,缺少相位信息,因此属于标量仪器而不是矢量仪器。
近年来出现的音频分析仪器也与仪器的主流开展趋势一致,朝着高度集成化、智能化的方向开展,这些仪器集成了复杂音频信号发生装置、功率放大装置等,具备了一些初步的图形化分析功能,使用户很容易组建音频测量系统。
基于快速傅里叶变换(FFT)的现代频谱分析仪,通过傅里叶运算将被测信号分解成分立的频率分量,到达与传统频谱分析仪同样的结果,。
这种新型的频谱分析仪采用数字方法直接由模拟/数字转换器(ADC)对输入信号取样,再经FFT处理后获得频谱分布图。
在这种频谱分析仪中,为获得良好的仪器线性度和高分辨率,对信号进展数据采集时ADC的取样率最少等于输入信号最高频率的两倍,亦即频率上限是100MHz的实时频谱分析仪需要ADC有200MS/S的取样率。
目前半导体工艺水平可制成分辨率8位和取样率4GS/S的ADC或者分辨率12位和取样率800MS/S的ADC,亦即,原理上仪器可到达2GHz的带宽,为了扩展频率上限,可在ADC前端增加下变频器,本振采用数字调谐振荡器。
这种混合式的频谱分析仪可扩展到几GHz以下的频段使用。
1.3设计任务
1、完成信号电压调理电路和硬件的连接电路的设计。
制作出硬件实物。
2、ADC模块能正确采集到音频的完整波形,并保证一定的精度。
3、学习频谱分析和傅里叶变换有关原理,使用FFT算法分析出当前音频的频谱。
4、设计显示程序,使显示屏能实时地、以柱状图的形式将音频频谱显示出来,并有一定的美观效果。
第2章系统方案设计
2.1系统方案设计
图2-1系统总体方案
系统由信号调理电路、数模转换模块、主控制器、显示部件组成。
信号调理电路主要负责对音频信号的电压进展变换,使其电压变化能正确地被数模转换模块采集。
对信号的滤波处理也在这里进展。
ADC模块将连续变化的电压值转化为单片机可识别的离散数字量。
主控制器对采集的数据处理得到信号频谱,并控制显示屏将频谱实时显示出来。
由于是对模拟信号的实时采集分析,本系统除了可应用于数码音乐播放器的音频谱显示,还可连接麦克风显示分析环境或人声音频谱。
2.2系统硬件的选择
2.2.1处理器的比拟与选择
鉴于本次设计的学习目的,处理器选择最易操作的51核的单片机。
传统8051单片机以12个晶振周期作为一个机器周期,处理速度慢,存较小,且在用到ADC时需要与ADC芯片通讯花费时间,因此舍弃传统8051单片机。
升级版的51核单片机有STC12系列和Cygnal的C8051F系列待选。
其中后者被誉为51系列最快单片机,部有最高12位高速ADC和最高4K的RAM。
但这款单片机价格较贵且仅有贴片形式的封装,调试困难。
STC的12系列单片机同样有较快的处理速度,部有最高10位高速ADC和1280字节RAM。
考虑到本次设计目的为普通的频谱分析器,且液晶显示屏整体刷新速度有100ms的瓶颈限制,这里采用双排插针封装的STC12C560S2单片机作为处理器。
晶振使用单片机最高允许的32.768MHz晶振。
2.2.2采样模块确实定
由于单片机自带ADC转换模块,可以直接使用。
部ADC模块的采样速度高达250K/S,远高于音频最高频率20KHz的二倍。
使用部ADC模块还可以省去通信、存储等使用外部ADC芯片时的繁琐操作。
因此确定使用单片机部ADC模块作为采样模块。
2.2.3显示器件的比拟和选择
常见的单片机操作的8位显示屏有1602和12864两种,均为单色显示屏。
前者是分块显示的显示屏。
每格块的像素点为8×
5,共2行16列。
后者12864为128×
64个像素点的整块点阵显示屏,用于显示图形十分方便,但每次更新图形都需要整屏刷新,需要传输的数据量较大。
综合考虑,采用1602作为显示设备。
利用同列的两个显示块显示一个变化高度的亮柱来表示一个频率分量的幅值大小。
第3章系统硬件设计
3.1单片机STC12C5A60S2
3.1.1单片机STC12C5A60S2功能简介
1.增强型8051CPU,单时钟/机器周期,指令代码完全兼容传统8051
2.工作电压:
STC12C5A60S2系列工作电压:
5.5V-3.5V〔5V单片机〕
3.工作频率围:
0~35MHz,相当于普通8051的0~420MHz
4.用户应用程序空间8K/16K/20K/32K/40K/48K/52K/60K/62K
5.片上集成1280字节RAM
6.通用I/O口〔36/40/44个〕,复位后为:
准双向口/弱上拉〔普通8051传统I/O口〕可设置成四种模式:
准双向口/弱上拉,强上拉,仅为输入/高阻,开漏上拉,仅为输入/高阻,开漏上拉,仅为输入/高阻,每个I/O口驱动能力均可到达20mA,但整个芯片最大不要超过120mA
7.ISP〔在系统可编程〕/IAP〔在应用可编程〕,无需专用编程器,无