单片机课程设计基于STM32F1 的频谱分析仪班级:电子信息工程1111班姓名(学号):指导老师:题目:基于STM32F1 的频谱分析仪关键词:频谱分析仪,STM32F1,快速傅立叶变换,FFT,双色点阵摘要本设计是基于STM32F1的频谱分析仪。
以STM32F103RBT6为控制核心,双色点阵屏为显示器。
硬件上由电源管理,通信模块,放大电路,以及单片机最小系统组成。
算法上采用简洁稳定的快速傅立叶变换作为主要的核心算法,辅以自动增益控制,实现信号从时域到频域的变换。
通过双色点阵屏显示,具有直观,清晰等特点。
1.引言目前,由于频谱分析仪价格昂贵,学校里只有少数实验室配有频谱仪。
但是电子信息类教学,如果没有频谱仪辅助观察,同学们只能从书本中抽象理解信号的特征,严重影响教学实验效果。
正对这种现状,提出了一种基于STM32F1的简易频谱分析仪的设计方案,其优点是成本低,能够直观的反映信号在频域的特征。
2.系统方案本设计采用STM32F1作为核心处理器,该处理器内核架构ARM Cortex-M3,具有高性能、低成本、低功耗等特点。
主控板包括电源模块、红外通信模块、TDA2822放大模块等;信号经过放大电路放大之后,由芯片自带的ADC将模拟信号转换为数字信号,再由主控芯片对数字信号进行快速傅立叶变换,驱动双色点阵屏显示。
软件算法的核心内容就是快速傅立叶变换。
如下图为本设计总体框图。
3.系统硬件设计针对前面提出的整体设计方案,本设计采取模块化策略,将各个功能部分开来设计,最后组合起来。
3.1 电源管理模块系统的核心芯片为STM32F103,常用工作电压为3.3V,同时内部的ADC工作的参考电压也是3.3V,一般的外部电源的电压都为5V,要使系统正常工作,需要将5V的电源电压稳压到3.3V。
常用的78系列稳压芯片已不再适用,必须选择性能更好的稳压芯片。
经综合考虑,本电路采用LM1117-3.3作为电源部分的核心芯片。
外部电源5V输入LM1117-3.3稳压为3.3V。
由于点阵屏显示部分的电流较大,但是不在我们主控板上,所以暂不做考虑。
电路图如下。
3.2 信号放大模块TDA2822是OTL功放,输出电容起耦合作用,因为OTL功放在在静态时输出端都会有Vcc/2伏的输出,这样会搞坏扬声器,所以需要加个电容,隔离。
单片机处理的话就不用输出电容了。
STM32的AD模拟口输入的电压不能太大,超过了ADC的参考电压可能就直接烧毁了,还好TDA2822的工作电压范围广,直接给它3.3V供电就行。
输出的1.6V连到单片机的模拟口。
3.3 单片机最小系统该部分主要就是复位电路以及晶体振荡器:3.4 红外遥控电路3.5 PCB设计图4.系统软件设计软件设计上由控制核心STM32F1对采样转换得到的数字信号进行处理,计算出各个频率分量的幅值,驱动点阵屏显示。
下图是软件流程:4.1.快速傅立叶变换以及相关原理数字信号的傅里叶变换,通常采用离散傅里叶变换(DFT)方法。
DFT 存在的不足是计算量太大,很难进行实时处理。
计算一个N 点的DFT ,一般需要2N 次复数乘法和N(N-1)次复数加法运算.因此,当N 较大或要求对信号进行实时处理时,往往难以实现所需的运算速度。
1965年,J.W.Cooly 和J.W.Tukey 发现了DFT 的一种快速算法,经其他学者进一步改进, 很快形成了一套高效运算方法,这就是现在通用的快速傅里叶变换, 简称FFT( The Fast Fourier Transform)。
快速傅里叶变换的实质是利用式(1)中的权函数nk N W 的对称性和周期性,把N 点DFT 进行一系列分解和组合,使整个DFT 的计算过程变成一系列叠代运算过程,使DFT 的运算量大大简化,为DFT 及数字信号的实时处理和应用创造了良好的条件。
快速傅里叶变换算法如下:错误!未找到引用源。
由(1)式可知,对每一个n ,计算X(n)须作N 次复数乘法及N-1次复数加法,要完成这组变换共需错误!未找到引用源。
次乘法及N(N-1)次复数加法。
但以下介绍的快速傅里叶变换的算法,可大大减少运算次数,提高工作效率。
当2r N =时,n 和k 可用二进制数表示:1212012022r r r r r r n n n n n n n ------=+++=错误!未找到引用源。
1212012022r r r r r r k k k k k k k ------=+++=又记 N W eρπ-=,则(1)式可改写为 0011011112001200()()r p r r r r k k k X n n n x k k k W =-=----==∑∑∑ (2)式中:1212120120(22)(22)r r r r r r r r P nk k k k n n n --------==+++⨯+++ 12112212011202(22)2(22)2r r r r r r r r r r r r n n n k n n n k P W W W ------------++++++=120120(22)r r r r K n n n W ----+++ (3) 因为22[]1r r N N W W e πρ===所以(2)可改成0011011112001200()()r r r r r k k k X n n n x k k k =-=----=∑∑∑12112212120112020120(22)2(22)2(22)r r r r r r r r r r r r r r r r n n n k n n n k K n n n W W W ----------------+++++++++ (4) 201201300020()()r r r k x n n k k x n k k -=--=∑102(2)22r n n r k W -+- (5) 120011()()r r r r X n n n x n n n ---= 则式(5)即为式(4)的分解形式。
将初始数据代入式(5)的第一个等式,可得每一组计算数据,一般将痗L-1组计算数据代入式(5)的第L 个等式,计算后可得第L 组计算数据(L =1,2,…,γ),计算公式也可表示为 10110200120()()r r r r k x n k k x k k k -=---=∑121200(22)r r r r n n n k W ----+++= 10121201012120(0)(0)P l r r r l r r r x n n n k k k x n n n k k k W --------+ (6) 式中121120222r r r l l P n n n -----=+++ (7)根据式(6),第L 个数组中每个120120()()l l r r r r x k x n n n k k k ----= 的计算只依赖于上一个数组的两个数据这两个数据的标号相差12/2Y l N -=,即/2l j i n =+,而且这两个数据只用于计算第L 个数组中标号的数据(等号右端为二进制数)。
当1l n -分别取0和1时,分别有,/2l k i k j i n ===+。
因此,用上一组的两个数据计算所得的两个新数据仍可储存在原来位置,计算过程中只需要N 个存储器。
将()l x i 与(/2)l l x i n +称为第L 个数组中的对偶结点对。
计算每个对偶结点对只需一次乘法,事实上由式(6)可得11()()[]2p l l lN x i x i i W -=++ 211()()[]22p l l l l l N N x i x i x i W --+=++ 式中:l r l r n P ---++=2...22210n ;02222...22n n P l r l r l r ----+++=别为式(7)中1-l n 取0,1时对应的P 值。
因2/21112N P P P R +=+=-,于是对偶结点的p W 有如下关系:111222][P NP N NP P W e W W -===+-+ρπ,因此式(6)可表示为1111()()[]2()()[]22p l l l lp l l l l l N x i x i x i W N N x i x i x i W ----=+++=++ P 的求法:在)(i x l 中,i 写成二进制数01110......k k n n n l r l ---右移l r -位,就成为 110...0...0-l n n n 颠倒位序得),...,2,1(0...0...011r l n n n p l ==-式(5)吕,前面的γ个等式,每个等式均对应一组数据进行计算,每组数据都有N/2对结点,根据式(9),每对结点只需作1次乘法和2次加法,因此,每组数据只需N/2次乘法和N 次加法,因而完成γ组数据的计算共需N γ/2次乘法和N γ次加法。
音频的频率范围及表现力度:音频的频率范围、音质的评价标准一般认为20Hz -20kHz 是人耳听觉频带,称为“声频”。
这个频段的声音称为“可闻声”,高于20kHz 的称为“超声”,低于20Hz 的称为“次声“。
所谓声音的质量,是指经传输、处理后音频信号的保真度。
目前,业界公认的声音质量标准分为4级,即:数字激光唱盘CD-DA 质量,其信号带宽为10Hz~20kHz ;调频广播FM 质量,其信号带宽为20Hz~15kHz ;调幅广播AM 质量,其信号带宽为50Hz~7kHz ;电话的话音质量,其信号带宽为200Hz~3400Hz 。
可见,数字激光唱盘的声音质量最高,电话的话音质量最低。
除了频率范围外,人们往往还用其它方法和指标来进一步描述不同用途的音质标准。
音频频率范围一般可以分为四个频段,即:低频段(30—150HZ );中低频段(30—150HZ );中低频(150—500HZ );中高频段(500—5000HZ );高频段(5000—20kHZ )。
30—150HZ频段:能够表现音乐的低频成分,使欣赏者感受到强劲有力的动感。
150—500HZ频段:能够表现单个打击乐器在音乐中的表现力,是低频中表达力度的部分。
500—5000HZ频段:主要表达演唱者或语言的清淅度及弦乐的表现力。
5000—20kHZ频段:主要表达音乐的明亮度,但过多会使声音发破。
由于我们主要是对音频信号进行处理,并且一般音频信号的能量一般集中在低频部分,所以我们选择12KHz的采样频率比较合适。
FFT结果的物理意义:一个模拟信号,经过ADC采样之后,就变成了数字信号。
采样定理告诉我们,采样频率要大于信号频率的两倍采样得到的数字信号,就可以做FFT变换了。