基于DSP的语音处理系统的设计样本.docx
- 文档编号:25113277
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:9
- 大小:25.17KB
基于DSP的语音处理系统的设计样本.docx
《基于DSP的语音处理系统的设计样本.docx》由会员分享,可在线阅读,更多相关《基于DSP的语音处理系统的设计样本.docx(9页珍藏版)》请在冰豆网上搜索。
基于DSP的语音处理系统的设计样本
CadenceSPB
基于DSP语音解决系统设计
摘要近年来,随着DSP技术普及和低价格、高性能DSP芯片浮现,DSP已越来越多地被广大工程师所接受越来越广泛地被应用于各个领域,并且已日益显示出其巨大优越性。
DSP是运用专门或通用数字信号解决芯片,以数字计算办法对信号进行解决,具备解决速度快、灵活、精准、抗干扰能力强、体积小及可靠性高等长处,满足了对信号迅速、精准、实时解决及控制规定。
本次设计基于TLV320AIC23和TMS320VC5416两种芯片设计并实现了一种语音录音、语音编码、语音解码、语音解决和回放系统。
通过软件和硬件结合对该系统进行设计,使本次设计语音解决系统具备强大数据解决能力并配有灵活接口电路,可以作为一种语音信号解决算法研究和实时实现通用平台,对语音编码在DSP上实时实现进行了简朴研究,从而掌握了算法移植普通流程,为可以在高速DSP硬件平台设计及系统应用开发方面获得成功奠定基本。
核心词:
DSP;数据采集;TLV320AIC23;TMS320VC5416。
目录摘要I第1章绪论11.1DSP发展及应用11.2语音信号解决系统概述2第2章DSP芯片简介32.1TLV320AIC23简介32.2TMS320VC5416简介3第3章系统设计43.1系统硬件设计43.1.1系统构造框图43.1.2DSP解决器53.1.3A/D电路53.1.4D/A电路73.2系统软件设计103.2.1TMS320VC5416初始化103.2.2TLV320AIC23初始化10第4章总结11参照文献12道谢13附录14第1章绪论近年来,在数字信号解决领域有着绝对优势DSP技术得到了迅速发展,不但在通信计算机领域大显身手,并已逐渐渗入到人们寻常消费领域。
正由于如此,DSP应用越来越得到普遍注重。
DSP作为可编程数字信号解决专用芯片是微型计算机发展一种重要分支,也是数字信号解决理论实用化过程重要技术工具。
DSP器件分为两大类:
一类是专门用于FFT、FIR滤波、卷积等运算芯片,称为专用DSP器件;另一类是可以通过编程完毕各种顾客规定信息解决任务芯片,称为通用数字信号解决器件。
1.1DSP发展及应用最初DSP器件只是被设计用以完毕复杂数字信号解决算法。
这可以追溯到20世纪50年代到60年代,那时数字信号解决技术刚刚起步。
由于普通数字信号解决算法运算量大,因而,算法只能在大型计算机上进行模仿仿真,无法实现数字信号解决。
60年代中期,迅速傅里叶算法浮现及大规模集成电路发展,奠定了硬件完毕数字信号解决算法和数字信号解决理论实用化重要技术基本,从而增进了近40年来DSP技术与器件飞速发展。
通用DSP器件发展可分为三个阶段:
第一阶段(1980年先后),DSP雏形阶段。
第二阶段(1990年先后),DSP成熟阶段。
第三阶段(后来),DSP完善阶段。
当前,DSP发展非常迅速。
硬件构造方面重要是向多解决器并行解决构造、便于外部数据互换串行总线传播、大容量片上RAM和ROM、程序加密、增长I/O驱动能力、外围电路内装化、低功耗等方面发展。
软件方面重要是综合开发平台完善,使DSP应用开发更加灵活以便。
当前,DSP芯片价格越来越低,性能价格比日益提高,具备巨大应用潜力。
DSP芯片重要应用:
①信号解决——数字滤波,自适应滤波,迅速傅里叶变换,有关运算,频谱分析,卷积,波形产生等;②语音解决——语音编码,语音辨认,语音合成,文本—语音转换等;③图象图形解决——三维图形转换,机器人视觉,图象转换及压缩,模式辨认,图象增强等;④控制——司服控制,机器人控制,自适应控制,神经网络控制等;⑤军事——保密通信,雷达及声音信号解决,导航及制导,调制解调,全球定位,搜索与跟踪等;⑥仪器仪表——频谱分析,函数发生器,模态分析,暂态分析等;⑦通讯——回音相消,高速调制解调器,数字编码与解码,自适应均衡,移动电话,扩展通讯,噪音对消,网络通讯等;⑧消费电子——高清晰度电视,音乐合成器,智能玩具,游戏等;⑨医学——助听器,病员监控,超声波设备,自动诊断设备,胎儿监控等。
1.2语音信号解决系统概述语音解决在当代通信中应用非常广泛,重要有语音编码、语音辨认、语音合成、语音邮件、语音存储等。
典型语音解决系统如下图1.1所示:
图1.1典型语音解决系统图中输入信号可以有各种各样形式。
例如,它可以是麦克风输入语音信号或是电话线已调数据信号,可以是编码后在数字链路上传播或存储在计算机里德摄像机图象信号等。
输入信号一方面进行带限滤波和抽样,然后进行A/D变换将信号变成数字比特流。
依照奈奎斯特抽样定理,为保证信息不丢失,抽样频率至少是输入带限信号最高频率2倍。
DSP芯片输入是A/D变换后得到以抽样形式表达数字信号。
DSP芯片对输入数字信号进行某种解决。
数字解决是DSP系统核心,这与其他系统(如电话互换系统)有很大不同。
在互换系统中,解决器作用是进行路由选取,它并不对输入数据进行修改。
因而两者虽然都是实时系统,但两者实时约束条件却有很大不同。
最后,通过解决后数字样值再经D/A变换转换为模仿样值。
之后进行内插和平滑滤波就会得到持续模仿波形。
上面给出典型DSP语音解决系统,依照不同用途应有不同变动。
第2章DSP芯片简介2.1TLV320AIC23简介TLV320AIC23(简称AIC23)是TI公司一款高性能Codec芯片。
重要特性有:
内置耳机输出放大器,支持MIC和LINEIN两种输入方式(二选一)。
且对输入和输出都具备可编程增益调节;芯片中A/D转换器和D/A转换器采用多位Sigma-Delta技术,数据传播字长为16、20、24、32bit,采样率为8kHz~96kHz;在采样率为96kHz状况下A/D转换器信噪比达到90dB,D/A转换器达到100dB;回放模式下功率为23mW,省电模式下更是不大于15uW;只占用25mm面积。
基于上述长处,AIC23是可移动数字音频播放和录音使用中模仿输入输出等应用系统抱负选取,例如MP3播放器等。
2.2TMS320VC5416简介TMS320VC5416(如下简称VC5416)是TI公司一款16bit定点高性能DSP,是TMS320VC54x系列中第3代芯片。
重要特性有:
速率最高达160MI/s;3条16bit数据存储器总线和1条程序存储器总线;1个40bit桶形移位器和2个40bit累加器;1个17×17乘法器和1个40bit专用加法器;最大8M×16bit扩展寻址空间,内置128k×16bitRAM和16k×16bitROM;3个多通道缓冲串口(McBSP);配有PCM3002,可对语音进行A/D和D/A转换。
由于VC5416功耗低,性能高,其分开数据和指令空间使该芯片具备高度并行操作能力,在单周期内容许指令和数据同步存取,再加上高度优化指令集,使得该芯片具备很高运算速度并且该芯片自身具备丰富片内存储器资源和各种片上外设,因而在工程界得到广泛应用,特别是在语音编码和通信应用方面。
第3章系统设计3.1系统硬件设计3.1.1系统构造框图音频系统应当具备较宽动态范畴,选取16~24位ADC和DAC能完全捕获或恢复高保真音频信号。
系统核心芯片(DSP)选用美国TI公司TMS320VC5402[1](如下简称C5402)。
DSP芯片模块是整个实时语音解决系统核心某些,它对经数字化信号进行压缩,编解码等。
A/D转换模块功能是把模仿信号数字化,涉及采集和量化,这某些为DSP解决语音数字信号做好了准备;D/A转换模块就是把数字信号转换为模仿信号,输出音频信号。
SDRAM(动态随机存储器)存储器模块重要是为DSP解决器扩展存储容量,达到规定存储容量;但要注意是要与DSP解决器速度相匹配,以便良好运营。
电源模块是为内部芯片及周边系统电路提供能量某些。
系统构造框图图3.1如下所示:
图3.1系统构造框图3.1.2DSP解决器作为DSP家族高性价比代表16位定点DSP芯片,C5402合用于语音通信等实时嵌入应用场合。
与其他C54X芯片同样,C5402具备高度灵活可操作性和高速解决能力。
其性能特点如下:
操作速率可达100MIPS;具备先进多总线构造,三条16位数据存储器总线和一条程序存储器总线;40位算术逻辑单元(ALU),涉及一种40位桶形移位器和两个40位累加器;一种17×17乘法器和一种40位专用加法器,容许16位带/不带符号乘法;整合维特比加速器,用于提高维特比编译码速度;单周期正规化及指数译码;8个辅助寄存器及一种软件栈,容许使用业界最先进定点DSPC语言编译器;数据/程序寻址空间为1M×16bit,内置4K×16bitROM和16k×16bitRAM;内置可编程等待状态发生器、锁相环(PLL)时钟产生器、两个多通道缓冲串口、一种与外部解决器通信8位并行HPI口、两个16位定期器以及6通道DMA控制器且低功耗。
与C54X系列其他芯片相比,5402具备高性能、低功耗和低价格等特点。
它采用6级流水线,且当RPT(重复指令)时,某些多周期指令就变成了单周期指令;芯片内部RAM和ROM可依照PMST寄存器中OVLY和DROM位灵活设立。
这些均有助于算法优化。
C5402采用3.3V和1.8V电源供电,其中I/O采用3.3V电源供电,芯片核采用1.8V电源供电。
而实际惯用只有5V电源,因此必要采用电源转换芯片。
选用TPS7301和TPS7333两块电源转换芯片(它们都是TI公司为配合DSP而设计电源转换芯片),分别接上恰当外围电阻,构成电阻分压器,即可调节两块芯片输出电压分别为3.3V和1.8V。
3.1.3A/D电路PCM1800是双声道单片Δ-Σ型20位ADC,单+5V电源供电,信噪比为95dB,动态范畴为95dB,其内部嵌有高通滤波器,具备PCM音频接口和四种数据格式,分为主控和受控两种模式,采样频率可选为32kHz、44.1KHz和48KHz。
PCM1800构成音频信号采集系统时,重要涉及到BCK(位时钟信号)、LRCK(采样时钟信号)、FSYNC(帧同步信号)、DOUT(数字信号输出)、SYSCLK(系统时钟输入)这几种对时序有规定引脚。
通过对引脚MODE0和MODE1进行编程,可让PCM1800工作于主控模式(MasterMode)。
此时,BCK、LRCK、FSYNC均作为输出,其时序由PCM1800内部时钟产生电路控制。
但SYSCLK只能由外部提供(这里用C5402TOUT脚输出信号提供)。
PCM1800系统时钟只能是256fs、384fs或者512fs,这里fs是音频信号采样频率。
在主控模式时,FSYNC用来指明PCM1800DOUT输出有效数据,它上升沿表白一帧数据起始,下降沿表白一帧数据结束。
FSYNC频率是采样时钟频率LRCK2倍。
在此模式下,位时钟信号BCK频率是采样时钟频率LRCK64倍。
通过对PCM1800FMT0、FMT1两引脚编程(FMT0=1,FMT1=0),可以设立PCM1800输出数据格式为20位IIS格式。
为了保证在数据解决时不影响新数据接受以及在接受数据时不中断正在进行数据解决过程,采用了多通道缓冲同步串口(McBSP)。
PCM1800与C5402连接后,C5402使用缓冲串口0接受数据,各种同步信号由PCM1800产生,C5402是被动接受各种信息。
PCM1800与C5402硬件接线图如图3.2所示。
图3.2PCM1800与C5402硬件接线图电源管理功能模块所用器件:
TPS73HD301(3.3-V/AdjustableOutput该芯片一端输入可调,范畴是(1.2-9.7V)电源模块管脚图3.3如下所示:
图3.3电源模块管脚图3.1.4D/A电路PCM1744是双声道立体声DAC,包括数字滤波器和输出放大器,动态范畴为95dB,具备各种采样频率可选,最高可达96kHz。
采用24位IIS数据输入格式。
PCM1744操作重要涉及到LRCIN(采样时钟信号输入)、BCKIN(位时钟信号输入)、SCKI(系统时钟输入)、DIN(数据输入)这几种对时序有规定引脚。
PCM1744与C5402连接后,C5402使用缓冲串口1发送数据,各种时钟信号均由C5402产生,PCM1744被动接受各种信息。
PCM1744系统时钟信号(SCKI)由C5402TOUT引脚提供,TOUT是C5402定期器输出信号引脚,有较强驱动能力,可以驱动各种芯片。
PCM1744数据接受时钟格式必要是IIS格式,C5402在缓冲串口寄存器中设立各种时钟方式时,必要满足IIS格式规定。
C5402作为积极工作器件,可以对其缓冲串口输出信号进行调节。
输出采样时钟信号、位时钟信号可以在McBSP寄存器SRGR1和SRGR2中设立,设立遵循图3.4原则。
图3.4C5402时钟发生流程图基本时钟信号可以来自CPU时钟,也可以来自晶振时钟,这在SRGR2寄存器中第13位设立。
基本时钟输入后,经CLKGDV(SRGR1第7位到第0位)所设立值进行第一次分频,得到位时钟信号(由BCLKX1脚输出)。
值得注意是,位时钟信号最高为DSP频率一半。
位时钟信号经FPER(SRGR2第11位到第0位)和FWID(SRGR1第15位到第8位)所设立值进一步分频得到采样时钟信号(由BFSX1脚输出),FPER和FWID分别设立采样时钟信号低电平和高电平时间值。
C5402与PCM1744硬件接线如图3.5所示。
图3.5PCM1744与C5402接线图PCM1800完毕音频信号采集后,在DSP外扩程序存储器中嵌入相应解决算法,语音信号经解决后,再从PCM1744输出。
复位电路:
所用芯片为74HC14。
复位电路图3.6如下所示:
图3.6复位电路图存储器模块所用芯片为:
MT48LC8M8A2TG-75、存储容量Density为64Mb、数据宽度16位、工作电压3.3V、TSOP封装54管脚、时钟速率133MHz、存储器模块图3.7如下所示:
图3.7存储器模块图3.2系统软件设计3.1.1TMS320VC5416初始化 SWWSR=0x7fff;/程序、数据、I/O空间 SWCR=0x0001;/等待周期为7×2=14 BSCR=0x8006;/按32KW分区,HD[7:
0],D[15:
0]Hold CLKMD=PLL_DIV_INIT; Waitloop(0x0400); CLKMD=PLL_LOCK_INIT_X(5); Waitloop(0x0400); PMST=0x0168;/中断向量表定位在0X100,MP/MC=1 OVLY=1DROM=1;3.2TLV320AIC23初始化为使AIC23正常工作并产生预期音频效果,必要对其相应寄存器进行配备。
一方面对VC5416I2C模块初始化,将AIC23总线上地址写入从机地址寄存器ICSAR;再把相应AIC23内部映射寄存器地址和待写数据合并为16bit控制字,逐次写入ICDXR,并通过I2C总线发送给AIC23,即可完毕对AIC23初始化配备。
AIC23初始化某些源代码:
Unsignedintcodec_buf[9]={OX1e00,OXOc00,OxO81aOxOaO4,OxOe01,0x1020,0x1021,0x0117,OxO5f9}; Port_sub_address=(unsignedint*)MCBSP_SPSA_ADDR
(1); Port_sub_index_reg=(unsignedint*)MCBSP_SPAD_ADDR
(1); *Port_sub_address=MCBSP_SPCR2_SUBADDR; For(i=O;i<9;i++){ While(!
(*Port_sub_index_reg&(MASK_BIT(XRDY)))); Set_codec_cs_low(); MCBSP1_DXR1=codec_buf[i]; While(!
(*Port_sub_index_reg&(MASK_BIT(XRDY)))); Set_codec_cs_high();}第4章总结通过这次课程设计,我发现我在DSP这方面学得不够,诸多东西都学得不够全面,掌握得不够深,不能纯熟地把它们应用在实践当中。
这次在刘伟春教师细心指引和同窗热心协助,以及自己上网查找资料下,还算比较顺利地完毕了本次课程设计任务。
这次课程设计使我对DSP方面知识有更深理解,强化了自己基本知识,也深刻体会到DSP技术应用领域广泛。
同步对CCS集成环境更为熟悉了,为我在此后工作中奠定了坚实实践基本。
通过这次课程设计让我明白基本知识重要性,同步也要理解更多关于它知识,并且较好地运用到实践当中,也让我懂得了要好好地学习,不能懈怠。
参照文献[1]戴明桢等编著.TMS320C54XDSP构造原理及应用.北京:
航空航天大学出版社,第2版,;[2]彭启琮编著.DSP技术发展与应用.北京:
高等教诲出版社,;[3]胡广书编著.数字信号解决理论、算法与实现.北京:
清华大学出版社,;[4]张雄伟,曹铁勇.DSP芯片原理与开发应用(第二版)[M].北京:
电子工业出版社,;[5]郝软层,徐金甫.基于DSP芯片MELP声码器算法实现[J].微计算机信息,;[6]任丽香,马淑芬,李方慧.TMS220600系列DSP原理与应用[M].北京:
电子工业出版社,;[7]北京合众达电子技术有限公司编著.SEED-DTK系列实验手册.北京合众达电子技术有限公司出版,。
致谢在这次课程设计过程中,我要感谢每一种协助过我人。
本论文是在刘教师悉心指引下完毕,刘教师对我论文提出了诸多宝贵意见,协助我开拓研究思路,精心点拨、热忱勉励。
同步,刘教师渊博学识、严谨治学态度也令我十分敬佩,是我后来学习和工作榜样。
在整个设计过程中我懂得了许多东西,也培养了我独立工作能力,树立了对自己工作能力信心,相信会对此后学习工作生活有非常重要影响,同步,也让我懂得了那些基本知识重要性。
本论文顺利完毕,离不开咱们教师悉心辅导、同窗和朋友关怀和协助。
总之,感谢每一位关怀过我,爱护过我人。
最后,再次感谢各位教师各位同窗协助和支持,衷心地谢谢你们!
附录源代码如下:
#includevoidiirbcf(ifilt,band,ns,n,f1,f2,f3,f4,db,b,a)doubleb[],a[],f1,f2,f3,f4,db;/*TMS320VC5416初始化*/SWWSR=0x7fff;/程序、数据、I/O空间SWCR=0x0001;/等待周期为7×2=14BSCR=0x8006;/按32KW分区,HD[7:
0],D[15:
0]HoldCLKMD=PLL_DIV_INIT;Waitloop(0x0400);CLKMD=PLL_LOCK_INIT_X(5);Waitloop(0x0400);PMST=0x0168;/中断向量表定位在0X100,MP/MC=1OVLY=1DROM=1;/*TLV320AIC23初始化*/Unsignedintcodec_buf[9]={OX1e00,OXOc00,OxO81aOxOaO4,OxOe01,0x1020,0x1021,0x0117,OxO5f9};Port_sub_address=(unsignedint*)MCBSP_SPSA_ADDR
(1);Port_sub_index_reg=(unsignedint*)MCBSP_SPAD_ADDR
(1);*Port_sub_address=MCBSP_SPCR2_SUBADDR;For(i=O;i<9;i++){While(!
(*Port_sub_index_reg&(MASK_BIT(XRDY))));Set_codec_cs_low();MCBSP1_DXR1=codec_buf[i];While(!
(*Port_sub_index_reg&(MASK_BIT(XRDY))));Set_codec_cs_high();}intifilt,band,ns,n;{intk;doubleomega,lamda,epslon,f1,fh;doubled[5],c[5];voidchebyi(),chebyii(),bwtf();doublecoshl(),warp(),bpsub(),omin();voidfblt();if((band==1)||(band==4))fl=f1;if((band==2)||(band==3))fl=f2;if(band<=3)fh=f3;if(band==4)fh=f4;if(ifilt<3){switch(band){case1:
case2:
{omega=warp(f2)/warp(f1);break;}case3:
{omega=omin(bpsub(warp(f1),fh,fl),bpsub(warp(f4),fh,fl));break;}case4:
{omega=omin(1.0/bpsub(warp(f2),fh,fl),1.0/bpsub(warp(f3),fh,fl));}}lamda=pow(10.0,(db/20.0));epslon=lamda/cosh(2*ns*coshl(omega));}for(k=0;k{switch(ifilt){case1:
{chebyi(2*ns,k,4,epslon,d,c);break;}case2:
{chebyii(2*ns,k,4,omega,lamda,d,c);break;}case3:
{bwtf(2*ns,k,4,d,c);break;}}fblt(d,c,n,band,fl,fh,&b[k*(n+1)+0],&a[(n+1)+0]);}}staticdoublecoshl(x)doublex;{doublez;z=log(x+sqrt(x*x-1.0));return(z);}staticdoublewarp(f)doublef;{doublepi,z;pi=4.0*atan(1.0);z=tan(pi*f);return(z);}staticdoublebpsub(om,fh,fl)doubleom,fh,fl;{doublez;z=(om*om-warp(fh)*warp(fl))/((warp(fh)-warp(fl))*om);return(z);}staticdoubleomin(om1,om2)doubleom1,om2;{doublez,z1,z2;z1=fabs(om1);z2=fabs(om2);z=(z1return(z);}staticvoidbwtf(ln,k,n,d,c)intln,k,n;doubled[],c[];{inti;doublepi,tmp;pi=4.0*atan(1.0);d[0]=1.0;c[0]=1.0;for(i=1;i<=n;i++){d[i]=0.0;c[i]=0.0;}tmp=(k+1)-(ln+1.0)/2.0;if(tmp==0,0){c[1]=1.0;}else{c[1]=-2.0*cos((2*(k+1)+ln-1)*pi/(2*ln));c[2]=1.0;}}staticvoidchebyi(ln,k,n,ep,d,c)doubled[],c[],ep;intln,k,n;{inti;doublepi,gam,omega,sigma;pi=4.0*atan(1.0);gam=pow(((1.0+sqrt(1.0+ep*ep))/ep),1.0/ln);sigma=0.5*(1.0/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DSP 语音 处理 系统 设计 样本