精品毕业设计基于S3C2410声音频谱分析系统设计定.docx
《精品毕业设计基于S3C2410声音频谱分析系统设计定.docx》由会员分享,可在线阅读,更多相关《精品毕业设计基于S3C2410声音频谱分析系统设计定.docx(33页珍藏版)》请在冰豆网上搜索。
精品毕业设计基于S3C2410声音频谱分析系统设计定
摘要
频谱分析是将信号表示成不同频率的正弦分量或虚指数分量的叠加,即从频率的角度分析信号,它在声音处理、图像处理、数字音频、地震勘探等方面有着广泛的应用。
快速傅立叶(FFT)算法和S3C2410芯片的出现,为频域分析的实时处理提供了有效的解决方案。
本文对基于S3C2410的声音信号频谱分析系统进行了开发,主要工作如下:
首先,对声音信号的时域和频域处理方法进行了分析,根据声音信号短时平稳的特点,详细阐述了其短时分析方法,并探讨了声音信号的基音周期检测方法。
然后,详细介绍了本系统采用的主要硬件设备的功能和特点,包括S3C2410芯片。
在此基础上,完成了系统的硬件和软件设计,给出了核心程序实现过程及部分原代码,实现了一种基于S3C2410的声音频谱分析系统。
该系统结构简单、使用方便,可利用ARM9强大的数据处理功能对声音信号进行频谱分析。
最后,对此设计方案进行了理论分析和仿真实验,并在S3C2410上就一些相关问题做了实验,取得较为满意的结果,验证了该系统的可行性。
关键词:
声音频谱分析;声音处理;快速傅立叶变换;S3C2410
Abstract
Signalisregardedassuperpositionofdifferentfrequencysinecomponentorvirtualfunctioncomponentinspectrumanalysis.Spectrumanalysisisappliedextensivelyinthespeechprocessing,imageprocessing,digitalaudio,seismicexplorationetc..SincefastFouriertransform(FFT)andS3C2410chipappeared,itprovideseffectivesolutionsforreal-time
processingofspectrumanalysis.
ThisthesisdevelopedspectrumanalysissystembasedonspeechS3C2410.Majorworksareasfollows:
First,thetime—domainprocessingandfrequency-domainprocessingofspeechsignalareintroducedinthisthesis.Accordingtoshort·termstationarycharacteristicsofspeechsignal,thethesisexpositionshort—termanalysismethodindetail.Andalsodiscussthepitchdetection
methodbasedonspeechsignal.
Second.thefunctionsandfeaturesofmainhardwareequipmentsareintroduced.ThissystemincludeS3C2410.Thesystemshardwareandsoftwaredesignarecompletedandpartofsourcecodeaboutcoreprocedureareprovided.WedevelopedthespectrumanalysissystemofspeechsignalbasedonS3C2410.Thesystemhasasimplestructureandiseasytouse.whileweusethepowerfulprocessingfunctionofS3C2410toanalyzespeechsignal.
Finally,thetotalschemeofthissystemisdemonstratedintheoryandistestedontheS3C2410,andresultsissatisfactory.Analysisresultsprovethatthesystemisfeasible.
KeyWords:
SpectrumAnalysis;SpeechProcessing;FFT;S3C2410
引言
目前,嵌入式技术已经广泛深入的融入到了各行各业当中,日常生活的各个角落都可以看到嵌入式技术的身影。
相对于通用PC,嵌入式系统是专门针对某一特定领域进行优化设计的系统,具有软硬件可裁剪,成本低,体积小,功耗低,可靠性高等特点。
手机,PDA,传真机,打印机,自动贩卖机等都是典型的嵌入式系统。
这里,简单介绍一些嵌入式系统的定义。
广义来说,凡是不用于通用目的的可编程计算机设备,就可以算是嵌入式计算机系统。
狭义而言,嵌入式系统是指以应用为核心,以计算机技术为基础,软硬件可裁剪,适于应用系统对功能、可靠性、成本、体积和功耗要求严格的专用计算机系统。
嵌入式系统的核心部件是嵌入式处理器,嵌入式处理器目前主要有ARM,Aml86/88,386EX,SC一400,PowerPC,68000,MIPS系列等。
对于开发者而言,可以根据各自的实际需求选择不同的嵌入式处理器。
将嵌入式技术与频谱分析相结合,其功能将更加强大。
其中ARM处理器核中自带了DSP功能,既可以执行算法还可以进行事务处理,并且支持广泛的操作系统,适应于未来智能化发展方向。
结合ARM技术的信号频谱分析模块,集运算,显示,良好的用户界面为一体,将拥有广阔的应用前景。
1绪论
1.1课题研究的背景和意义
自然界的运动和变化都有它们的固有规律,其中很多规律表现为周期性。
大至宇宙天体,小至基本粒子,它们的运动都有周期性。
人类社会的发展也有周期性,这就是为什么很多历史事件具有惊人的相似性。
不管是简单的重复,还是螺旋式的上升,都是周期性的表现。
人耳对声音敏感的不是声波本身而是声波的频率,例如男声、女生和低音、高音;人眼对光敏感的不是光波本身,而是光波的频率(颜色),例如红光、绿光。
所以,频率的概念和时间的概念一样重要。
这就是为什么人们把频域和时域相提并论。
频谱分析在生产实践和科学研究中有着广泛的应用。
例如,对各类旋转机械、电机、机床等机器的主体或部件进行实际运行状态下的谱分析,可以提供设计数据和检验设计结果,或者诊断故障,保证设备的安全运行等。
在声纳系统中,为了寻找海洋水面船只或潜艇,需要对噪声信号进行频谱分析,以提供有用信息,判断舰艇运行速度、方向、位置、大小等。
因此,对频谱分析方法的研究一直是信号处理技术中的一个重要课题。
所谓频谱分析就是频域分析,频谱估计就是周期性估计。
频谱分析和估计不仅是揭示信号特征的重要方法,也是处理信号的重要手段。
这些方法和手段已经广泛地应用于通信、雷达、地震、声纳、生物医学、物理、化学、音乐、经济等领域。
地震信号的处理和股票市场的预测就是其中两个例子。
如此广泛的应用主要归功于声音处理理论和技术的进步,因为快速傅立叶变换FFT算法和S3C2410芯片的出现,为各式各样的频域问题,提供了一个统一的、经济的、单片继承的解决办法。
频谱分析仪,顾名思义它的功能是确定一个变化过程(称为信号)的频率成份,以及各频率成份之间的相对强弱关系。
频谱仪是和示波器相对偶的,它们具有同样的重要性。
示波器在时域里显示或表征(输入)信号,而频谱仪在频域里显示或表征(输入)信号。
传统的频谱分析仪主要依靠硬件来测量频率成份,例如用滤波器来分开各频率成份。
对模拟滤波器设计制造有经验的人,不难想象制造高稳定度、高精度的这种频谱分析仪的困难程度。
首先是设计所得的元件值,几乎全是非标准的。
而且必须先经过“老化”。
其次是滤波器中心频率会随时间、环境温度“漂移”,还有调试等问题。
利用S3C2410芯片来设计频谱分析系统则可以较好解决这些问题。
因为频谱分析主要是依靠软件来计算频率成份。
1.2频谱分析系统的发展现状
频谱分析仪是以模拟或数字方式显示信号频谱的一类信号分析仪。
频谱分析仪大体可分为扫描调谐式频谱仪及傅立叶分析仪两大类。
扫描调谐式频谱仪如扫频超外差接收机,能分别显示复杂信号中各个不同频率分量的幅度,但不能提供相关相位信息。
这类仪器主要用于连续信号和周期信号的频谱分析。
其优点是具有大的动态范围及宽的频率范围(5Hz~325kHz),但不适合做瞬态信号及超低频信号的分析。
傅立叶分析仪采用数字采样及数学变换(以傅立叶变换为基础)技术得到被测信号的傅立叶频谱。
采用傅立叶分析仪能在被测信号存在的有限时间内,提取信号的全部频谱信息,并能显示频率、幅值及相位。
傅立叶分析仪基本上用于低频信号(10uHz~l00kHz)的分析以及要求实时快速测量的场合。
与前一类频谱仪相比,傅立叶分析仪可以十倍、百倍地提高测量速度并能在超低频时保持频率测量精度。
由于采用傅立叶分析仪能同时测量每个频率分量的幅值和相位,适合于分析暂态过程,测量多个信号的统计特性,评价两个或多个信号之间的连接特性及相关性等。
扫描调谐式频谱分析仪己从早期的单通道频率响应分析仪扩展到多通道,其典型代表是英国公司的1250频响分析仪,它配上相应的扩展器可扩展到36通道。
天津电子仪器厂生产的TDl250具有类似的性能。
与傅立叶(FFT)频谱分析仪相比,这类频响分析仪只局限于频响分析,应用范围较窄,其优点是具有自动抑制噪声能力,而且频率范围宽。
目前生产傅立叶分析仪的国家较多,从占领世界市场的情况看,美国居首位,其次为同、法、英、丹麦、中国等。
我国先后引进的这类产品HP3562A,HP35660A,HP3567A,CF.920,CF.930/940,B&K2034,SOLARTRONl220等几十种。
具有代表性的是HP3567A多通道频谱/网络分析仪,频率范围可达102.4kHz,动态范围80dB,精度0.1dB,最高通道数可达16,可实现谱分析、波形分析及网络分析。
1965年库利一图基在《计算数学》杂志上发表了快速傅立叶变换(FFT)算法,FFT和频谱分析很快发展成为机械设备故障诊断、震动分析、无线电通信、信息图像处理和自动控制等多种学科重要的理论基础。
傅立叶分析仪的发展趋势是:
分析频段向高频扩展,向多通道、高指标、多功能发展,核心处理芯片用S3C2410,体积更趋小型化。
国内自80年代初就有不少单位开始了基于FFT的频谱分析仪的研制,但由于国内在基本元器件、基本配套件和基本工艺三方面落后于发达国家,因而多数走的是“以软件代替硬件”的道路,即以IBMPC/AT等微机为核心,配上A/D转换板及S3C2410芯片,以微机软件为主实现各种数字信号处理功能及显示功能。
因而,具有研制周期短、灵活性好、价格低的优点;缺点是高速实时性能较差,不适用于恶劣环境。
国内不少单位己生产出不同性能的动态信号分析系统、FFT信号分析仪等,在开发性能优越的动态信号分析软件包方面,国内一些高等院校具有一定优势。
虽然使用FFT技术对瞬态过程和平稳过程的频谱分析己有很长的历史,但是,声音过程与一个稳定的元音和擦音不同。
当激励和声道特性改变时,所得到的声音信号特性随时间发生变化。
因此,适用于平稳随机信号的标准傅立叶变换不能直接用于声音信号。
对声音频谱分析应能得到时变频谱参数。
但在相对短的时隙内,声音信号可看作准周期性序列。
将短时分析思想应用于声音频谱分析,可得到声音时变频谱。
1.3本课题的主要任务
从上面简单的介绍可以看出,传统的频谱分析仪不能象通用计算机那样,对过去记录下来的信号进行非实时处理,它只有加上输入信号才能进行分析。
然而,基于S3C2410频谱仪可以象通用计算机一样用作非实时处理。
基于S3C2410频谱仪的缺点是,在目前S3C2410芯片制造技术的条件下,可以实时处理的最高频率只达到兆赫的数量级,更高频率的信号可以进行非实时处理,实时处理有待于S3C2410芯片速度的进一步提高,或者增加测量手段。
根据现有的条件,本文所要研究的是一个基于S3C2410的声音信号频谱分析系统。
本系统以ARM9为基础,利用ARM9强大的数据处理能力来对采集到的声音信号进行频谱分析。
声音信号是时变信号,然而,声音信号的特性随时间变化比较缓慢,大致可以认为在每10ms至30ms短时时间间隔内信号的特性基本不变,可以认为是时不变的。
女性的基音频率从100Hz至500Hz,男性的基音频率为50Hz至250Hz,频率分辨率必须兼顾男女性。
对于本频谱分析系统软件设计是非常重要的一环,我们是基于这样的思想来进行软件设计的。
软件设计主要实现的功能有基音检测、频谱分析及分析结果在PC机屏上显示。
2声音信号的时域分析
语言是声音的声学表现,是人类信息交流最自然、最有效、最方便的手段,也是人类进行思维的一种依托。
人类开始进入了信息化时代,用现代手段研究声音处理技术,使人们能够更加有效地产生、传输、存储和获取声音信号,这对于促进社会的发展具有十分重要的意义。
声音信号是一个时间序列,进行声音分析时,最直观的就是它的时域波形。
时域分析直观明了,计算简单且运算量小(相比后面将要介绍的频谱分析)。
时域分析提供了最基本也是很重要的用于声音分析的参数,广泛用于声音的预处理等方面。
2.1声音信号的抽样及其数字化
模拟声音信号是连续信号,无法被DSP处理。
因此声音处理的第一步是将模拟信号转化为数字信号,也就是常说的模/数转换,这其中主要包括两个步骤:
采样和量化。
声音信号是随时间而变的信号,它所占据的频率范围可达10kHz以上,但是对声音信号清晰度和可懂度有明显影响的成份,最高频率约为5.7kHz。
但声音信号本身冗余度是比较大的,少数辅音清晰度下降并不明显影响语句的可懂度。
一个正常人声音的频率一般在40Hz~4000Hz的范围内,成年男子的声音频率较低,妇女和儿童的声音频率较高。
电话声音频率范围在60Hz~3400Hz左右。
现代的声音合成或识别系统中,需将声音频率的上限提高到10kHz左右。
根据奈奎斯特采样定律(NyquistSamplingTheorem),采样频率应为原始声音频率的两倍以上,考虑到滤波器性能的影响,这个阈值还应该提高。
一般来说,电话声音的采样率为8kHz(G.711标准),普通声音的采样率在15kHz~20kHz左右。
否则,如果采样率不满足采样定律,将会产生频谱混叠,使信号中的高频失真。
考虑到高频噪音的存在,为了防止频率高于二分之一采样频率的高频噪音产生频谱混叠,通常声音信号在采样前要进行一次预滤波以滤掉高频噪音。
预滤波还有一个目的是避免50Hz的电源干扰,因此预滤波是一个带通滤波器,其下截止频率
=50Hz,上截止频率
根据需要定义。
采样后的声音数据要能为DSP所存储和处理还必须进行量化处理。
量化过程中,不可避免地会引入误差。
量化时,如果采用较多的量化级数来记录样点的幅度,量化误差就较小,相应的比特(Bit)数就会增多。
但是这是以增加存储容量和处理时的计算量为代价的,因此必须根据应用场合合理地选择量化字长。
2.2声音信号的时间依赖
由于人自身的发音器官的运动,声音信号是一种典型的非平稳信号。
但是,由于声音的形成过程是与器官的运动密切相关的,这种物理运动比起声音振动速度来要缓慢得多,因此声音信号常常可假设为短时平稳的,即在10~30ms这样的时间段内,其频谱特性和某些物理特征参量可近似地看作是不变的。
几乎所有的声音信号处理方法都是基于这个假设。
这样,我们就可以采用平稳过程的分析处理方法来处理了。
以后的几乎所有的处理方法都立足于这种短时平稳的假定。
本章所要讨论的短时能量、短时平均差幅度以及自相关函数,都是在这种短时平稳假设下从时域来分析一些物理参量。
这种时间依赖处理的基本手段,是用一个长度有限的窗序列{w(m)}截取一段声音信号来进行分析,并让这个窗滑动以便分析任一时刻附近的信号,其一般表达式为:
(2.1)
其中T[·]表示某种运算,x(m)为输入信号序列。
几种常用时间依赖处理方法是:
当T[x(m)]为
时,
相应于短时能量;
当T[x(m)]=|sgn[x(m)]一sgn[x(m-1)]|时,
就是短时平均过零率;
当T[x(m)]
为x(m)x(m+k)时,
就是短时自相关函数。
式(2.1)是卷积形式的,因此Q可以理解为离散信号T[x(m)]经过一个单位冲激响应为{w(m)}的FIR低通滤波器产生的输出,如图2.1所示。
.
图2.1短时分析原理的一般表示
由于窗函数一般取为(x,z)中间大两头小的光滑函数,这样的冲激响应所对应的滤波器具有低通特性。
其带宽和频率响应取决于窗函数的选择。
用得最多的三种窗函数是矩形(Rectangular)窗、汉明(Hamming)窗和汉宁(Hanning)窗。
1)矩形窗
矩形窗属于时间变量的零次幂窗。
矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。
这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。
2)三角窗
三角窗亦称费杰(Fejer)窗,是幂窗的一次方形式。
与矩形窗比较,主瓣宽约等于矩形窗的两倍,但旁瓣小,而且无负旁瓣。
3)汉宁(Hanning)窗
汉宁窗又称升余弦窗,汉宁窗可以看作是3个矩形时间窗的频谱之和,或者说是3个sin(t)型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了π/T,从而使旁瓣互相抵消,消去高频干扰和漏能。
可以看出,汉宁窗主瓣加宽并降低,旁瓣则显著减小,从减小泄漏观点出发,汉宁窗优于矩形窗.但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨力下降。
这些窗函数都有低通特性。
矩形窗的主瓣宽度最小,但其旁瓣高度最高;汉明窗的主瓣最宽,而旁瓣高度最低。
汉宁窗和汉明窗的差异在于前者随频率增加衰减很快,而后者基本保持一个常量。
矩形窗的旁瓣太高,会产生严重的泄露现象(Gibbs),因此只在某些特殊场合中采用;汉宁窗衰减太快,低通特性不平滑;汉明窗旁瓣最低,可以有效地克服泄露现象,具有更平滑的低通特性。
汉明窗由于其平滑的低通特性和最低的旁瓣高度而得到最为广泛的应用。
长窗具有较高的频率分辨率,但具有较低的时间分辨率;短窗的频率分辨率低,但却具有较高的时间分辨率。
对于同一种窗函数,主瓣宽度与窗长成反比,一般说来,窗长越长,它对信号的平滑作用越厉害,如果想要反映变化快的信息,应该缩短窗长。
在对声音信号进行短时傅立叶分析时,窗的长度的选择必须折中进行考虑。
一方面,短窗具有较好的时间分辨率因而能够提取出声音信号中的短时变化,但同时却损失了频率分辨率。
还应当注意到,声音信号的基音周期是有一个覆盖范围的,因此,窗宽的选择还应当考虑到这个因素。
2.3短时自相关函数
2.3.1自相关函数的定义和性质
能量有限信号{x(m,z)}的自相关函数定义为:
(2.2)
信号的自相关函数具有一些有用的性质:
(1)偶性:
(2)
,即零滞后自相关值最大。
(3)若{x(n)}为能量有限信号,则其能量为
;
2.3.2短时自相关函数
这种修正自相关函数又称为协方差函数,它不具有偶对称性,即
。
自相关函数的计算,除直接计算之外,还有多种快速算法。
例如:
快速傅立叶变换法、递归计算法等。
目前,高速数字信号处理器可以在一个很短的指令周期内做一次乘加运算,而且专为卷积运算、递归运算设计了一些效率很高的运算指令。
所以,如果采用数字信号实现自相关运算,常常是直接进行计算反而更加简单有效,不必采用结构复杂的快速算法。
自相关计算在功率谱估计、线性预测分析和基音检测等方面经常用到。
2.4基音周期估计方法
基音周期(或基音频率)是声音信号的一个重要参数,在声音产生的数字模型中它也是激励源的一个重要参数。
在声音分析、声音合成和声音识别中,估计基音周期都是一个重要任务。
浊音信号是一种准周期性信号,其周期称为基音周期。
由于它只是准周期性的,所以只能采用短时平均方法估计其周期,基音周期估计也常称为基音周期检钡,t](PitchDetection)。
前两节介绍的自相关函数和短时平均幅度差函数都能反映原信号的周期,因此它们可构成两种最常用的基音检测方法。
声音信号包含十分丰富的谐波分量,基音频率最低可达80Hz左右,最高可达500Hz左右,但基音频率处在100Hz~200Hz的情况占多数。
因此,浊音信号可能包含有三四十次谐波分量,而其基波分量往往不是最强的分量。
因为声音信号的第一共振峰通常在300Hz~lkHz范围内,这就是说,2~8次谐波成份常常比基波分量还强。
丰富的谐波成份使声音信号的波形变得非常复杂,给基音检测带来了困难,经常发生基频估计结果为其实际基音频率的二、三次倍频或二次分频的情况。
加之还有清浊混杂等情况,使基音检测和清浊判别成为一大难题。
可以说,至今没有一种万能的方法在任何情况下都能准确可靠地估计出基音周期。
值得注意的是,从估计基音周期的角度来看,短时自相关函数所包含的信息有许多是多余的。
真正反映基音周期的只是其中少数几个峰值,而其余大多数都是由于声道的谐振特性引起的。
因此,为了突出反映基音周期的信息同时压缩与此无关的信息,就应该对声音信号进行适当的预处理。
2.4.1基音检测预处理
由于声道的共振峰特性会对基音周期造成干扰,为了提高自相关法和平均幅度差函数法检测基音周期的可靠性,采用两种预处理方法对原始信号进行预处理:
(1)中心削波处理。
对于估计基音周期真正有用的只是出现在基音周期处的自相关峰,其余较低的峰都是多余的。
有用的自相关峰是由于声音信号中的一些最高峰形成的,这些最高峰是由于准周期激励脉冲产生的;无关的峰是声道对激励脉冲产生的响应。
基于这种认识,完全有理由采用中心削波处理去掉声音信号中所有低振幅部分而仅保留高振幅的峰值。
(2)先对声音信号进行低通滤波,然后计算短时自相关函数。
这样处理的依据是,声音信号的基音频率一般都在500Hz以下,即使女高音升C调最高也不会超过lkHz。
因此,从只保留基音频率的角度出发,用低通滤波器事先对声音信号进行滤波是有好处的。
用一个通带为900Hz的线性相位低通滤波器滤除高次谐波分量,这样处理以后的信号,基本上只含有第一共振峰以下的基波和谐波分量。
实验表明,用这种方法作预处理,对改善自相关法和平均幅度差函数法的基音检测都有明显的效果。
2.4.2自相关法基音检测算法
由短时自相关函数的定义可知,对于准周期信号,短时自相关函数在基音周期的各个整数倍点上有很大的峰值。
如果我们能求得第一最大峰值点并计算其与零点的距离,该距离就是估计出来的基音周期。
下面结合L.R.Rabiner一篇论文中介绍的具体例子来叙述这种自相关基音检测算法计算步骤。
这里设信号的采样率10kHz,窗序列采用300点长的矩形窗,连续分析信号时采有10ms(且P100个样点)的帧问隔,即每相邻两帧重叠200个样点。
截止频率为900Hz的低通滤波器是一个20阶线性相位的有限冲激响应滤波器。
下面是对每一帧进行基音周期估计的计算步骤:
(1)用900Hz低通滤波器对一帧声音信号{x(n)}进行滤波,并去掉开头20个输出值不用(置0),得到{x(n)};
(2)分别求{x(n)}的前部100个样点和后部100个样点的最大幅度,并取其中较小的一个,乘以因子0.68作为门限电平;
2.4.3基音检测的后处理
声音信号的周期性从波形上观察可以看得很明显,但是其形状表现得比较复杂,自动基音检测算法很难做到处处准确可靠。
基音周期估值落在其实际基音的倍频或分频