FFT在单片机上的实现 下载本文

河南科技大学毕业设计(论文)

第1章 绪论

§1.1 研究的背景及意义

§1.1.1 课题研究背景

在家庭影院、卡拉OK等音响系统中,实时显示音乐信号的频谱将为音响系统增不少色彩。目前实际生产的音响系统产品,大多采用以下两种方法实现音频频谱显示:一是利用硬件滤波器和A/D转换器;二是利用单片机或DSP处理频谱显示。前者实现简单,但硬件成本高;后者软件和硬件实现都较复杂。

§1.1.2 课题研究意义

目前,大多数音频信号处理仪不但体积大而且价格贵,在一些特殊方面难以普及使用,而嵌入式系统分析仪具有小巧可靠的特点,所以开发基于特殊功能单片机的音频信号分析仪器是语音识别的基础,具有很好的现实意义。

§1.2 课题发展的状况

早期专业的音频分析仪种类很少,在做音频测量时一般是利用万用电表、频率计、示波器及频谱仪等组合成一套音频测试系统。这种测试系统中间环节多,各环节之间接口匹配较为困难,使用起来比较麻烦,测量结果往往也不精确。

传统的频谱分析仪的前端电路是一定带宽内可调谐的接收机,输入信号经变频器变频后由低通滤器输出,滤波输出作为垂直分量,频率作为水平分量,在示波器屏幕上绘出坐标图,就是输入信号的频谱图。由于变频器可以达到很宽的频率,例如30Hz-30GHz,与外部混频器配合,可扩展到100GHz以上,频谱分析仪是频率覆盖最宽的测量仪器之一。无论测量连续信号或调制信号,频谱分析仪都是很理想的测量工具。但是,传统的频谱分析仪也有明显的缺点,它只能测量频率的幅度,缺少相位信息,因此属于标量仪器而不是矢量仪器。

近年来出现的音频分析仪器也与仪器的主流发展趋势一致,朝着高度集成化、

1

河南科技大学毕业设计(论文)

智能化的方向发展,这些仪器集成了复杂音频信号发生装置、功率放大装置等,具备了一些初步的图形化分析功能,使用户很容易组建音频测量系统。

基于快速傅里叶变换(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章 系统方案设计

§2.1 系统方案设计

图2-1 系统总体方案

系统由信号调理电路、数模转换模块、主控制器、显示部件组成。信号调理电路主要负责对音频信号的电压进行变换,使其电压变化能正确地被数模转换模块采集。对信号的滤波处理也在这里进行。ADC模块将连续变化的电压值转化为单片机可识别的离散数字量。主控制器对采集的数据处理得到信号频谱,并控制显示屏将频谱实时显示出来。由于是对模拟信号的实时采集分析,本系统除了可应用于数码音乐播放器的音频谱显示,还可连接麦克风显示分析环境或人声音频谱。

§2.2 系统硬件的选择

§2.2.1 处理器的比较与选择

鉴于本次设计的学习目的,处理器选择最易操作的51内核的单片机。传统8051单片机以12个晶振周期作为一个机器周期,处理速度慢,内存较小,且在用到ADC时需要与ADC芯片通讯花费时间,因此舍弃传统8051单片机。

3

河南科技大学毕业设计(论文)

升级版的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作为显示设备。利用同列的两个显示块显示一个变化高度的亮柱来表示一个频率分量的幅值大小。

4