基于DSP技术的语音信号处理和模块设计.docx
《基于DSP技术的语音信号处理和模块设计.docx》由会员分享,可在线阅读,更多相关《基于DSP技术的语音信号处理和模块设计.docx(26页珍藏版)》请在冰豆网上搜索。
基于DSP技术的语音信号处理和模块设计
LULIANGUNIVERSITY
分类号:
密级:
课程论文(设计)
题目:
基于DSP技术的语音信号处理和模块设计
系别:
物理系
专业年级:
电子信息工程1301班
姓名:
周子集
学号:
20130506137
指导教师:
庞淑蓉老师
2015年11月14日
摘要
语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。
通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。
数字信号处理技术(DigitalSignalProcessing,简称DSP)是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放和各种图的呈现等,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化,是人机交互更加便捷。
信号处理是Matlab重要应用的领域之一。
本设计针对现在大部分语音处理软件内容繁多、操作不便等问题,采用Matlab综合运用GUI界面设计、各种函数调用等来实现语音信号的变频、傅里叶变换及滤波,程序界面简练,操作简便,具有一定的实际应用意义。
关键字:
Matlab;语音信号;傅里叶变换;信号处理
Abstract
Speechsignalprocessingistostudytheuseofdigitalsignalprocessingtechnologyandphoneticstospeechsignalforprocessingoftheemergingdisciplineisoneofthecoretechnologyofthegrowingfieldofinformationsciencedevelopmentatpresent.Theinformationisthemostimportant,mosteffective,themostcommonandmostconvenientformofexchangeinformationthroughthevoicetransmission.
Digitalsignalprocessingtechnology(DigitalSignalProcessing,referredtoasDSP)istheuseofcomputerorspecialprocessingequipment,digitalformofsignalacquisition,transformation,filtering,estimation,enhancement,compression,recognition,etc.,inordertogetinlinewiththeneedsofthesignalform.
Matlablanguageisakindofdataanalysisandprocessingfunctionisverypowerfulcomputerapplicationsoftware,itcantransformthesoundfileintodiscretedatafile,andthenuseitspowerfulmatrixcomputingcapabilitiestodealwithdata,suchasdigitalfiltering,FT,timeandfrequencydomainanalysis,voiceplaybackandvariousgraph,it'ssignalprocessingandanalysistoolboxforspeechsignalanalysisprovidesaveryrichfunctionalfunction,usingthesefunctionscanbequickandeasytocompletetheprocessingandanalysisofspeechsignal,andthesignalismoreconvenient.SignalprocessingisoneoftheimportantapplicationsofMatlab.
Thisdesignformostofthespeechprocessingsoftwareisawiderangeofoperationalinconvenienceandotherissues,theuseofMatlabGUIinterfacedesign,avarietyoffunctionstoachievethefrequencyconversionofvoicesignals,FuLiyetransformandfiltering,theprograminterfaceissimple,easytooperate,hasasetofpracticalapplication.
Keywords:
Matlab;speechsignal;FT;signalprocessing
目录
第一章概述-1-
1.1DSP的发展趋势-1-
1.2DSP处理数字信号-2-
第二章方案设计-4-
2.1基本要求与剖析-4-
2.2设计方案比较-4-
2.3总体设计思路与设计框图-5-
2.4总体设计电路图-6-
第三章硬件设计-7-
3.1CPU芯片的选择-7-
3.2声音信号输入的设计-8-
3.3AD采集的设计-9-
3.4声音信号输出的设计-10-
第四章软件设计-13-
4.1主程序的设计-13-
4.2MATLAB声音滤波的仿真-14-
4.3GUI界面的设计-17-
4.4快速傅里叶变换(FFT)的实现-18-
4.5声音滤波的实现-19-
第五章总结与展望-21-
参考文献-22-
第一章概述
1.1DSP的发展趋势
在计算机技术日新月异的时代,嵌入式系统软件、硬件不断进行着新的突破性发展。
如今DSP操作系统和DSP应用已经成为当今嵌入式系统应用领域中最热门的技术,是高校、科研院所和高新技术企业的DSP软件、硬件开发人员的新的课题。
DSP实时嵌入式操作系统是一种实时的、多任务的操作系统软件,它是DSP系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口。
目前,DSP实时操作系统的品种较多,据统计,仅用于信息电器的DSP操作系统就有10种左右。
与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。
DSP技术应用前景将非常广阔。
DSP应用产品具有巨大的市场需求前景,仅就美国市场而言,据估计,21世纪将有1亿辆汽车、几千万台个人通信装置、每个家庭中5~20个联网的家用电器以及数以百万计的工厂使用DSP系统。
业界分析家认为,DSP系统在IP电话、游戏装置和手持式通信装置的推动下将会有突飞猛进的发展。
DSP系统不仅在传统的工业控制、通信和图象处理领域有极其广泛的应用空间,如智能工控设备、POS/ATM机、IC卡等,而且在信息家电领域的应用更具有极为广泛的潜力,例如机顶盒、变频冰箱、变频空调等众多的消费类和医疗保健类电子设备,以及在车载盒、智能交通等领域的应用也呈现出前所未有的生机。
(1)信息家电领域机顶盒、变频冰箱、变频空调等众多的消费类和家庭医疗保健类电子设备将在未来几年取得快速发展,信息家电的个性化、区域化以及季节化的趋势,为特定应用的DSP操作系统提供了应用发展空间。
信息智能家居是未来发展的方向,估计几年内将得到快速发展。
(2)医疗仪器领域大量医疗仪器的应用,如心脏起搏器、放射设备及分析监护设备,都需要RTOS的支持,像各种化验设备,如肌动电流描记器、离散光度化学分析、分光光度计等,都需要使用高性能的、专用化的DSP系统来提高其精度和速度。
引入DSPRTOS后,现有的各种监护仪的功能与性能都将得到大幅度的提高。
(3)智能汽车领域随着无线通信与全球定位技术的日益成熟和广泛应用,集通信、信息、导航、娱乐和各类汽车安全电子系统于一体的车载盒会成为下一代和未来汽车的发展方向。
由于足够的市场需求,车载盒必将成为近年来发展的热点,DSPRTOS在该领域应用市场的规模未来几年里将迅速增加。
(4)智能交通领域随着人们对环境要求的不断提高,智能交通系统(ITS)必将是新世纪迅猛发展的支柱产业。
特定应用的DSP操作系统将是发展智能综合路口控制机、路车交互系统、新型停车系统、高速公路的信息监控与收费综合管理系统的关键技术,其应用将确保智能交通系统的低成本与高性能,大大提高系统的可靠性和智能化程度。
(5)其它领域的应用,如视频会议系统、全数字电机控制系统(包括直流无刷伺服和交流伺服)、语音压缩、通信等。
DSP的应用离不开DSP操作系统。
1.2DSP处理数字信号
DSP数字信号处理(DigitalSignalProcessing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。
在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。
德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。
将视频与音频应用的数据集要求加以对比,就很容易看出使用浮点格式的优势。
视频的采样率很高,其像素数据采样率相当于每秒数十乃至数百个兆位,具体的值决于应用。
像素数据通常以8至12位的短字表示,每一位代表影像的红、绿、蓝(RGB)位面。
业界标准的MPEG视频压缩算法的关键数学运算包括离散余弦变换(DCT)与量化,且过滤有限。
DCT与量化采用整数运算就能有效处理,它与短数据字相结合使得视频成为定点DSP很自然的应用,特别对那些设计有大量并行数据路径与片上视频接口的情况更是如此。
另一方面,音频的数据流更为有限,对24位采样且每秒48千个采样(ksps)的速度而言,约为1Mbps的速度。
新兴的采样率为192ksps,为该数据速率的四倍,但其数据流仍然大大低于视频流。
不过音频数据的处理必须比视频精确得多。
眼睛很容易就被欺骗,特别当影像运动时更是如此;但耳朵就很难欺骗了。
因此音频需要浮点硬件提供的更大的字长。
使用完全24位浮点I/O精度来进行声音采样,这就得到144dB的动态范围,大大超出了声音复制所需的全振幅范围。
此外,音频还要求宽系数与中间结果提供的精确度,其原因有二。
首先,音频应用通常使用串联无限脉冲响应滤波器(IIR)以实现最低时延与最高性能。
但串联过滤每一级都会传播上一级的错误。
信号与系数字长越长,精确度越高,上述传播错误的影响就越小。
第二,在接近于零时必须保持信号精确度,以避免人耳可以分辨的谐波失真。
浮点格式从本质上说与人耳的敏感度配合得很好,因为它在分数趋近于零时会变得更精确。
相反,定点系统在分数极小的情况下会取近似值等于零,这就降低了精确度。
所有上述浮点实数算法方面都对真实复制音频信号至关重要。
尽管过去常用定点器件实现高保真音频,但目前则转向采用精确度更高的浮点格式。
某些浮点DSP集成了多通道音频串行端口(McASP),从而简化了音频系统的设计,这就为上述发展趋势提供了支持。
随着最新型音频创新在消费类电子产品中的日益普及,对浮点DSP的需求也将上升,这也有助于让其成本更接近于定点DSP。
第二章方案设计
2.1基本要求与剖析
本次课程设计要求利用MATLAB对语音信号进行数字信号处理和分析,要求学生采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
DSP语音滤波系统结合DSP器件的结构及工作方式,针对语音处理的特点,对软件进行反复优化,以优化滤波算法,满足实时的需求。
因此如何对DSP进行优化编程,解决算法的复杂性和硬件存储容量及速度之间的矛盾,成为实现系统性能的关键。
语音滤波的设计步骤如下:
1.录制一段自己的语音信号,并对录制的信号进行采样。
2.画出采样后的语音信号的时域波形和频谱图。
3.给定滤波器的性能指标,并划出滤波器的频域响应。
4.用该滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化。
5.回放语音信号。
6.设计一个信号处理的GUI系统界面。
7.根据自己录制的语音信号选择合适的滤波器,并编写滤波器算法程序。
8.调试DSP处理程序,语音信号输入,经过AD转换原样输出。
9.语音信号经过滤波器输出无噪声的信号。
DSP与语音转换芯片AD50的通信方式,给出了硬件电路设计。
针对AD50的特点,软件设计时通过DSP的语音信号滤波,使DSP在内部对语音信号予以处理并通过AD50输出。
2.2设计方案比较
语音信号中的噪声有周期性噪声、冲击噪声、宽带噪声等。
50Hz的工频交流噪声为周期性噪声,对其进行抑制可通过设计合适的滤波器来实现。
冲击噪声主要表现为时域波形中突然出现的窄脉冲,对其进行消除可先确定一个门限值,当信号幅度超过这一门限值时,判别为脉冲噪声,然后进行适当的衰减。
宽带噪声的典型代表是随机高斯噪声和白噪声,由于宽带噪声和语音信号在时域和频域上完全重叠,且这种噪声只有在语音间歇单独存在,因此抑制这种噪声的方法主要有非线性处理、减谱法和自适应抵消等。
滤除语音信号中的周期性噪声为例进行系统的仿真实现。
利用MATLAB中的wavread命令来读入(采集)语音信号,将它赋值给某一向量。
再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波。
对于波形图与频谱图(包括滤波前后的对比图)都可以用MATLAB画出。
我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。
选择设计此方案,是对数字信号处理的一次实践。
在数字信号处理的课程学习过程中,我们过多的是理论学习,几乎没有进行实践方面的运用。
这个课题正好是对数字语音处理的一次有利实践,而且语音处理也可以说是信号处理在实际应用中很大众化的一方面。
这个方案用到的软件也是在数字信号处理中非常通用的一个软件——MATLAB软件。
所以这个课题的设计过程也是一次数字信号处理在MATLAB中应用的学习过程。
课题用到了较多的MATLAB语句,而由于课题研究范围所限,真正与数字信号有关的命令函数却并不多。
2.3总体设计思路与设计框图
首先,录制一段自己的语音信号,并对录制的信号进行采样。
画出采样后的语音信号的时域波形和频谱图。
给定滤波器的性能指标,并划出滤波器的频域响应。
用该滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化。
回放语音信号,并设计一个信号处理的GUI系统界面。
语音信号输入后,因为语音信号是模拟信号,所以首先把输入的模拟信号转换成可处理的数字信号,经过AD采集的数字信号进入DSP语音信号处理,根据自己录制的语音信号选择合适的滤波器,并编写滤波器算法程序。
调试DSP处理程序,经过AD转换原样输出。
语音信号经过滤波器输出无噪声的信号。
整体设计思路如图2-1所示
图2-1整体设计思路图
2.4总体设计电路图
图2-2总体设计框图
第三章硬件设计
3.1CPU芯片的选择
语音识别(SpeechRecognition)是机器通过训练和匹配过程把语音信号转变为相应的文本或命令的技术。
关于语音识别技术,先后出现了动态时间弯折(DTW)、隐马尔可夫和人工神经网络三种主要方法。
由于每种方法都涉及大量的乘加运算,并且计算精度是算法性能的有效保障,因此对处理器的运算能力要求较高。
近年大规模集成电路的快速发展,为语音识别的实现创造了硬件条件。
目前,基于DSP的语音识别系统多以浮点型DSP为主,但其成本较高。
本文以TI公司的较低成本定点TMS320VC5402作为处理芯片。
在软件编程时,考虑运算速度和精度对性能的影响,将定点运算与基于定点DSP的浮点运算巧妙结合,既保证了处理速度,又提高了运算精度和识别率。
此外,通过对语音信号的采集与识别,能够完成对特定人、小词汇量、孤立词的识别,并且能发出相应的控制信号,以达到系统的设计要求。
实践验证了该系统具有可靠性、稳定性和灵活性。
此系统的核心器件是TI公司的TMS320VC5402定点DSP芯片。
它是系统的运算处理单元,具有2个乘法器(MAC),4个累加器(ACC);40位、16位的算术逻辑单元(ALU)各一个,这大大增强了DSP的运算能力;指令字长不只单一的16位,可扩展到最高48位,数据字长16位;在144MHz下工作,指令周期可达6.94ns。
TMS320VC5402还提供高速的多通道缓冲串口McBSP,DSP可通过McBSP与其他DSP、编解码器等器件相连。
McBSP具有全双工通信,双缓冲数据寄存器,允许传送连续的数据流,能够向CPU发送中断,向DMA控制器发送DMA事件,可设置帧同步脉冲和时钟信号的极性等功能,这大大方便了DSP采集音频信号。
除此之外,TMS320VC5402还提供了更为高效的外部存储器接口(EMIF),以往DSP的空间选通信号被片选信号取代,而每个片选信号分别占用不同的地址空间,这样就不需要外部的译码电路,从而实现了与外部设备的无缝连接,可使DSP外部存储空间扩大到满足系统要求。
TMS320VC5402是TI公司的一款低成本、低功耗的音频编解码芯片(CODEC),在本系统中负责采集语音信号。
它与本系统相关的性能参数如下:
(1)支持8kHz~96kHz可调采样率;
(2)与DSP连接,主从类型可通过软件编写来实现;
(3)DSP可通过I2C总线来配置TMS320VC5402的寄存器;
(4)采集语音信号字长16/20/24/32Bit;
(5)MIC音频输入具有强抗噪性;
(6)具有可调1~5dB的完整缓存放大系统。
TMS320VC5402可编程逻辑器件在本系统中担当两方面的职能:
(1)作为控制部件,接收DSP发出的信号,经逻辑判断后,驱动诸如电机、发光二极管等器件;
(2)用于DSP地址线的扩展。
流水线技术是DSP的重要特征。
DSP(TMS320VC5402)具有6级深度的指令流水线,这6级深度流水线彼此是独立的,在任何一个机器周期内可以有1—6条不同的指令在同时工作,每条指令工作在不同的流水线上,这样可大大提高DSP的工作速度同时也增加了DSP对信息的处理能力。
图3-1TMS320VC5402周期图
3.2声音信号输入的设计
语音信号输入之后,预处理和数字化是进行语音识别的前提条件。
其中,预处理主要是进行预滤波,保留正常人的300~3400Hz的语音信号;数字化是要进行A/D转换处理,这就是语音输入的整个过程。
声音信号输入的主要作用是对声音信息进行录制与回放,在这个过程中采样的位数和采样的频率决定了声音采集的质量。
采样位数可以理解为声卡处理声音的解析度。
这个数值越大,解析度就越高,录制和回放的声音就越真实。
我们首先要知道:
电脑中的声音文件是用数字0和1来表示的。
所以在电脑上录音的本质就是把模拟声音信号转换成数字信号。
反之,在播放时则是把数字信号还原成模拟声音信号输出。
采样频率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。
打开音频源,输出音频,运行程序;
图3-2输出音频图
这时可听到连续音频信号,调节“R43”和“RV1”旋钮,输出音频信号大小变化。
完成模拟音频信号的数字化采集、A/D及D/A转换和回放。
3.3AD采集的设计
一个典型的DSP系统除了数字信号处理部分外,还包括A/D和D/A两部分。
这是因为自然界的信号,如声音、图像等大多是模拟信号,因此需要将其数字化后进行数字信号处理,模拟信号的数字化即称为A/D转换。
数字信号处理后的数据可能需还原为模拟信号,这就需要进行D/A转换。
一个仅包括A/D和D/A两部分的简化数字信号处理系统功能如图3-3所示。
A/D转换包括三个紧密相关的过程,即抽样、量化和编码。
A/D转换中需解决的以下几个重要问题:
抽样后输出信号中还有没有原始信号的信息?
如果有能不能把它取出来?
抽样频率应该如何选择?
奈奎斯特抽样定理(即低通信号的均匀抽样定理)告诉我们,一个频带限制在0至fx以内的低通信号x(t),如果以fs≥2fx的抽样速率进行均匀抽样,则x(t)可以由抽样后的信号xs(t)完全地确定,即xs(t)包含有x(t)的成分,可以通过适当的低通滤波器不失真地恢复出x(t)。
最小抽样速率fs=2fx称为奈奎斯特速率。
编码
低通
译码
量化
抽样
输入信号样点输出滤波输出
A/D(模数转换)D/A(数模转换)
图3-3低通采样定理演示图
为方便实现,实验中更换了一种表现形式,即抽样频率固定(10KHz),通过改变输入模拟信号的频率来展示低通抽样定理。
我们可以通过研究抽样频率和模拟信号最高频率分量的频率之间的关系,来验证低通抽样定理。
3.4声音信号输出的设计
语音模块的硬件电路设计必须保证语音信号输出的实时性,这里我们采用TIDSP系列的TMS320VC5402,它高达30MIPS的处理能力足以满足语音的实时要求。
语音采集和输出芯片采用的是TLC320AD50C[2](以下简称AD50),它是一款单5V电源供电、16位A/D和D/A高分辨率的可编程信号转换器。
语音信号实时处理系统的主要功能是将话音通过MIC输入,然后经过差分放大、模拟带通滤波后,输入AD50,经采样,将数据再送入DSP中进行处理,最后再将处理完的语音数据经DAC,放大输出,最后驱动喇叭发声。
AD50是差分器件,从MIC输入的信号Vaudio经集成运放后变为差分输入,在对模拟信号进行数据采集以前,需要经过带通滤波器滤除带外杂波。
由于话音的频率一般在3400Hz以下,而工频干扰一般为50Hz左右。
所以设计了通带范围为300Hz~3400Hz的带通滤波器。
该滤波器由两级二阶低通、两级二阶高通级联组成,采用多级反馈形式,具有巴特沃斯带内平坦的特性,这样可保证300~3400Hz的语音信号不失真地通过滤波器,不仅滤除带外的低频信号,以减少带外工频等分量的干扰,还将滤除带外的高次谐波,减