- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于STM32音频信号分析设计与实现
基于STM32音频信号分析设计与实现
摘 要: 基于ARM Cortex?M3内核的32位处理器STM32F103和快速傅里叶变换(FFT)算法实现了音频信号频谱的分析。 整个系统由前级信号调理、A/D采样电路、CPU运算电路和LCD显示电路等组成。实验表明,系统能够检测20 Hz~10 kHz范围内的频率成份并显示音频信号频谱,该方案成本低,具有一定的应用价值。
关键词: 音频信号; FFT; STM32; 基?4时间抽取
中图分类号: TN911.7?34 文献标识码: A 文章编号: 1004?373X(2014)01?0019?03
音频信号分析应用于音频制作、信号分析等领域,如音频设备的研发与生产、低频信号的综合分析等。本设计利用频谱分析原理来分析被测音频信号的频率、频谱,传统的频谱分析方法有扫频法、数字滤波法。采用STM32实现快速傅里叶变换(FFT)设计方案,通过FFT把被测的音频信号由时域信号转换为频域信号,将其分解成分立的频率分量。
1 系统设计
音频信号通过前级信号处理电路放大和滤波及模数转换,经STM32进行FFT运算后获得信号的频谱,单片机控制A/D转换器实时采集信号,频谱在液晶屏扫描显示。单片机采用ST公司的低功耗STM32F103ZET6 32位单片机,其内部含有3个12位16通道A/D转换模块和2个12位D/A转换模块。系统框图如图1所示。
1.1 信号调理与采集
设计思想:为满足输入信号较大的动态范围,必须在信号进行A/D转换前进行合理的处理,使其在A/D量化范围内达到量化精度最高,该方法相当于AD位数的增加。本设计要求输入信号幅度范围(峰?峰值)为0.01 mV~10 V,即100 dB的输入信号动态范围。设定ADC芯片的最小输入信号峰?峰值为500 mV,再设定ADC的输入动态范围为20lg(10 V/500 mV),即26 dB,故需要5路放大电路,每一路放大倍数固定,分别为62 400,8 000,400,20,1倍。由于设计小信号放大的增益较大,放大器的选择尤为关键,根据影响放大器输出的主要参数:运放的增益带宽积、噪声电压密度、噪声电流密度、失调电流和失调电压等,选择TI公司生产的运放OPA637,该运放增益带宽积约800 MHz,输入换算电压噪声密度为[4.5 nVHz,]输入偏置电流2 pA,输入失调电压130 μV。具体电路如图2所示。
图1 系统框图
??混叠滤波器设计:信号送到ADC之前要对信号进行抗混叠低通滤波器处理,防止高频分量信号被采样,产生频谱混叠,而影响给定较低频率信号的幅值分析。为此设计了一个截止频率为15 kHz的四阶巴特沃斯低通滤波器作为抗混叠滤波器。
1.2 基?4时间抽取FFT
基?4时间抽取(Radix?4 Decimation In Time,DIT4) 的FFT 算法思想是将长序列逐次分解为4个短序列,最后由短序列的DFT逐次合成长序列的DFT。基?4时间抽取相比于基?2时间抽取,复数乘法的运算量减少,随之而来运算速度加快,因此这里采用基?4时间抽取。基?4时间抽取FFT是将时域序列[x[k]]以前后两部分按奇偶顺序逐级抽取重新排列形成4个短序列,由此4个短序列的DFT合成的频域序列[X[k]]按自然顺序排列,故称为基?4时间抽取FFT。设序列[x[k]]的长度为[N=4M,][M]为正整数。则基?4时间抽取FFT计算公式为:
[Xm=X1m+WmNX2m+W2mNX3m+W3mNX4mXm+N4=X1m-jWmNX2m-W2mNX3m+jW3mNX4mXm+2N4=X1m-WmNX2m+W2mNX3m-W3mNX4mXm+3N4=X1m+jWmNX2m-W2mNX3m-jW3mNX4m]
式中:[m=0,1,2,…,N4-1;][X1m,X2m,X3m和X4m]分别是与[x[k]]按对4的余数顺序重新排列后的序列[x1k,][x2k,x3k]和[x4k]对应的[N4]点DFT。
由此可以得出DIT4?FFT的蝶形运算的信号流图,如图3所示。
图3 基?4时间抽取蝶形运算的信号流图
设采样率为[fs,]则第[fi=ifsN]频率点[Xi=ai+jbi,][i=0,1,2,…,N2-1],则原信号所含该频率的分量[Si]为:
[Si=ai2+bi2N, i=0Si=Aicos2πfit+θi=2ai2+bi2Ncos2πifsNt+arctanbiai,]
[i=1,2,…,N2-1]
通过上式,可从采集的信号中提取出各频率点的幅度值,作为音频信号的分析结果。
1.3 软件设计和流程图
系统软件设计分为采
文档评论(0)