基于DSP的实时语音处理设计_第1页
基于DSP的实时语音处理设计_第2页
基于DSP的实时语音处理设计_第3页
基于DSP的实时语音处理设计_第4页
基于DSP的实时语音处理设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于DSP的实时语音处理设计摘要:基于TMS320VC5402的语音信号采集与处理系统。 介绍了该系统的总体方案和硬件设计。 研究了模拟/数字(A/D )和数字/模拟(D/A )转换电路的设计方法,以及利用TMS320VC5402多通道缓冲器同步串行(McBSP )、PCM1800和PCM1744芯片接口实现音频信号采集和输出的方法通过改变输入/输出压缩比以自动控制增益的量值,可在输入信号的量值发生显着变化的情况下在固定或较小范围内改变输出信号,所述输入信号过小以致不能正常操作或传入信号过大以致接收器饱和或阻塞实验证明:设计的基于DSP的硬件和软件系统是一个很好的音频信号采集和处理系统。关键字: DSP、TMS320VC5402、多通道缓冲区同步串行、音频信号、采集和处理1 .绪论近年来,随着DSP技术的普及和低成本、高性能DSP芯片的出现,DSP被越来越多的技术人员所接受,广泛应用于语音处理、图像处理、模式识别和工业控制等各个领域,显示出越来越大的优势。 DSP具有以数字计算方式使用专用或通用数字信号处理芯片来处理信号、处理速度、灵活、精密、抗噪声能力强、体积小、可靠性高等优点,能够满足信号的快速、精密、实时处理和控制要求。 实时数字信号处理的应用需求和超大规模集成电路技术水平的快速发展推动了DSP性能的提高。 DSP是一种专用的数字信号处理器。 随着超大规模集成电路技术的进步,集成化的DSP数字信号处理器具有体积小、功耗低、运算速度快等诸多优点,因此非常适于声音信号的压缩处理。 基于DSP的实时语音处理系统具有可选择的信号采样率和高性能的数字信号处理能力,并且不仅能够用作立体声音频信号的实时编解码器处理,还能够用作高速实时信号采集和处理板。 其中包括多重声音实时收集、压缩处理、存储功能等基本功能。根据设计要求要点,所设计的基于DSP的实时语音处理系统的功能能够同时输入至少两个语音信号,实时收集两个输入信号并将模拟信号数字化,对信号进行数字化处理,并根据需要录制10小时以上,最后输出语音信号在设计系统的过程中,为了满足要求,有信号采集、模拟/数字以及数字/模拟转换、数字信号处理部分、数据压缩等电源电路、复位电路、时钟电路等。信号特性分析音频信号通过高精度且高速的ADC转换获得一系列数字信号,并将其输入至每帧的波形输入缓冲器RAM。 然后,手动地控制一个或多个处理算法,将声音信号读入TMS320C5402中并执行高速计算。 处理后的音频信号被输入到高精度且高速的DAC转换器,恢复为模拟的声音信号,由扬声器功率放大电路放大后输出。2 .本设计的任务1 .输入信号为双路语音信号,系统要求能实时采集、数字化、压缩、存储(录音),保证一定录音质量,录音时间为10小时以上。2 .根据已知参数分析输入信号特征,进行需求分析,选择决定DSP芯片模型、语音采集芯片模型,完成系统硬件设计。2.1本设计的实现方案1 .系统结构框图:高精度高速音频信号ADC波形输入缓冲RAMTMS320VC5402波形输出缓冲RAM高精度高速音频信号DAC语音处理程序存储区域EPROM声音信号存储器SDRAM电源复位电路图2是图1系统结构图音频系统应当具有宽的动态范围,并且选择1624位ADC和DAC可以完全捕获或恢复高保真音频信号。 系统的核心芯片(DSP )选择了美国TI公司的TMS320VC54021 (下文中称为C5402 )。2、DSP芯片模块是实时语音处理系统整体的核心部分,将数字化信号压缩、编解码器等。A/D转换模块的功能包括将模拟信号数字化、收集和量化,这些模块准备分别处理音频数字信号至DSP,将数字信号转换为模拟信号,并输出音频信号。请注意,动态随机存取记忆体(SDRAM )记忆体模组主要是为DSP处理器扩充记忆体容量,以达到所需的记忆体容量,但是它可以适应DSP处理器的速度。功率模块是向内部芯片和外围系统电路提供能量的部分。3、DSP处理器:C5402适用于诸如语音通信的实时嵌入式应用,作为以DSP系列的性价比为代表的16比特点DSP芯片。 类似于其他C54X芯片,C5402具有高度灵活的可操作性和高速处理能力。 其性能特征在于具有高级多总线结构,即操作速度可以达到100MIPS,40位算术逻辑单元(ALU ),其包括三条16位数据存储器总线、一条程序存储器总线、一个40位桶式移位器以及两个40位累加器使用1717乘法器和40位专用加法器来集成维特比特加速器的单周期归一化和指数解码八个辅助寄存器和一个软件栈,以便增加允许16位有符号/无符号乘法的维特比特编译码的速率。 业界最先进的定点DSP C语言编译器的数据/程序地址空间为1M16bit,包括内置4K16bit ROM和16k16bit RAM的可编程待机状态发生器、锁相环(PLL )时钟发生器、两个多通道缓冲器串行内置8位并行HPI端口,可与单个外部处理器通信;两个16位计时器和六通道DMA控制器,功耗低。 与其他C54X系列芯片相比,5402具有高性能、低功耗、低价格等特点。 采用6级流水线,且在RPT (重复指令)中,芯片内部的RAM和ROM (其中多个循环的指令是单循环的指令)通过PMST寄存器的OVLY和DROM位来存储可灵活设定。2.2、硬件设计1、C5402以3.3V和1.8V的电源供电,其中I/O以3.3V的电源供电,芯片核心以1.8V的电源供电。 实际上经常使用的只有5V电源,必须采用电源转换芯片。 选择TPS7301和TPS7333的2个电源转换芯片(这些都是TI公司结合DSP设计的电源转换芯片),分别连接适当的外围电阻来构成电阻分压器,能够将2个芯片的输出电压分别调整为3.3V和1.8V。2、A/D电路PCM1800为双通道单片型20位ADC,单5V供电,信噪比为95dB,动态范围为95dB,内置高通滤波器,具有PCM音频接口和4种数据格式3、在PCM1800构成音频信号收集系统的情况下,主要涉及请求BCK (位时钟信号)、LRCK (采样时钟信号)、FSYNC (帧同步信号)、DOUT (数字信号输出)、SYSCLK (系统时钟输入)这样的定时的引脚通过对针MODE0和MODE1进行编程,可以使PCM1800以主模式(Master Mode )动作。 此时,BCK、LRCK、FSYNC都为输出端,该定时通过PCM1800内部的时钟发生电路控制。 SYSCLK只能从外部提供(这里由C5402的TOUT脚输出信号提供)。 PCM1800系统时钟只能是256fs、384fs或512fs。 其中fs是音频信号的采样频率。 在主模式时,FSYNC表示PCM1800的DOUT输出的有效的数据,其上升沿表示帧数据的开头,下降沿表示帧数据的结束。 FSYNC的频率是采样时钟频率LRCK的两倍。 在该模式中,位时钟信号BCK的频率是采样时钟频率LRCK的64倍。4 .通过对pcm1800的FMT0、FMT1两引脚进行编程(FMT0=1、FMT1=0),pcm1800输出的数据格式可设定为20位的IIS格式。 为确保在数据处理时不影响新的数据的接收,以及在数据接收时不中断正在进行的数据处理过程,采用多通道缓冲器同步串行(McBSP )。 在PCM1800和C5402连接之后,C5402使用缓冲串行0接收数据,各种同步信号来自PCM1800,并且C5402自动地接收各种信息。 图2显示了PCM1800和C5402的硬件布线图。图2 PCM1800和C5402硬件布线图5 .电源管理功能模块使用设备: TPS 73 HD 301 (3.3-v/adjustable output,)该芯片的一端输入可调,范围为(1.2-9.7V )图3 TPS73HD3016、D/A电路PCM1744是双信道立体声DAC,包括数字滤波器和输出放大器,其中,动态范围为95dB,有多种采样频率选项,并且采样频率高达96kHz。 使用24位IIS数据输入格式。 PCM1744的操作主要与要求采样时钟信号输入(LRCIN )、BCKIN (比特时钟信号输入)、SCKI (系统时钟输入)、DIN (数据输入)等定时的引脚相关联。 在PCM1744和C5402相连之后,C5402使用缓冲串行1发送数据,该数据的各个时钟信号在C5402处发生,PCM1744被动态地接收各种信息。 PCM1744的系统时钟信号(SCKI )被馈送自C5402的TOUT端子,TOUT是C5402的计时器输出信号端子,具有强驱动能力并且能够驱动多个芯片。 PCM1744的数据接收时钟格式必须是IIS格式,并且当在缓冲串行寄存器中设置各种时钟方案时,C5402需要满足对IIS格式的要求。 作为C5402活动设备,可以调节其缓冲串行输出信号。 可以将输出采样时钟信号和位时钟信号设置为McBSP寄存器SRGR1和SRGR2,并且其设置遵循图4的原理。图4 C5402时钟发生流程图基本时钟信号可以来自CPU时钟、来自晶体时钟,并且被设置为SRGR2寄存器的第13位。 在基本时钟输入后,以由CLKGDV(SRGR1的第7比特到第0比特)设定的值进行第1次分频,得到比特时钟信号(以BCLKX1为单位输出)。 特别是位时钟信号是DSP频率的最大半部分。 比特时钟信号是对由FPER(SRGR2从第11比特到第0比特)和FWID(SRGR1从第15比特到第8比特)设定的值进一步进行分频而得到采样时钟信号(从BFSX1脚本输出),FPER和FWID分别是采样时钟信号的低电平在图5中示出了C5402和PCM1744的硬件布线。图5 PCM1744和C5402的接线图PCM1800完成音频信号的收集后,装入与DSP外接程序存储器对应的处理算法,处理语音信号后从PCM1744输出。7 .复位电路:使用芯片为74HC14图6复位电路内存模块:使用芯片为MT48LC8M8A2TG-75存储容量Density为64Mb数据宽度16比特动作电压3.3VTSOP封装54针脚时钟速度133 MHz图7中的芯片为MT48LC8M8A2TG-753 .软件设计本课程的设计有几个主要步骤语音采集滤波与放大int dIn21=0,mOut21=0; 定义dIn mOutchar dOut;char hn21=0.05; int Read_BSP1(void )void Write_BSP1(int )void Led_Light(void )int AGC_audio(int )/Main programvoid main ()装模作样init_board ();while (1) int i,j;dOut=0;for (i=0; i21; I )dIni=Read_BSP1 ();mOuti=AGC_audio(dIni ) . /放大采样大信号for(j=0; j21; j )dOut=dOut mOuti*hnj; /使放大后的大信号通过滤波器以下称为AGC放大程序int AGC_audio(int AGC_in) /将收集到的音频信号dIn传递给AGC_in装模作样int AGC_out; /用于存储放大后的信号静态时间=0; /设定峰值更新的时间静态浮点AGC _ coff=1. 0; /初始化放大率静态最大AGC _ in=0; /用于保存一定时间(4096时钟)内的长期峰值静态最大值=0; /用于保存临时峰值if(AGC_inmaxArrIn) /当输入信号大于临时正峰值maxArrIn时maxArrIn=AGC_in; /临时峰值更新if(-1*agc_inkarrin)/早果输入信号大于假负峰maxArrInmaxArrIn=-1*AGC_in; /临时峰值更新每隔if(dtime4096)/4096个时钟修正一次长期峰值装模作样maxAGC_in=maxArrIn; /更新长期峰值maxArrIn=0; /重新捕捉临时峰值dTime=0; /重新开始计时以下称为dTime;if(AGC_in maxAGC_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论