基于DSP的语音采集与处理系统的设计与实现.docx

上传人:b****2 文档编号:24606375 上传时间:2023-05-29 格式:DOCX 页数:14 大小:59.62KB
下载 相关 举报
基于DSP的语音采集与处理系统的设计与实现.docx_第1页
第1页 / 共14页
基于DSP的语音采集与处理系统的设计与实现.docx_第2页
第2页 / 共14页
基于DSP的语音采集与处理系统的设计与实现.docx_第3页
第3页 / 共14页
基于DSP的语音采集与处理系统的设计与实现.docx_第4页
第4页 / 共14页
基于DSP的语音采集与处理系统的设计与实现.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

基于DSP的语音采集与处理系统的设计与实现.docx

《基于DSP的语音采集与处理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于DSP的语音采集与处理系统的设计与实现.docx(14页珍藏版)》请在冰豆网上搜索。

基于DSP的语音采集与处理系统的设计与实现.docx

基于DSP的语音采集与处理系统的设计与实现

基于DSP的语音采集与处理系统的设计与实现

程武,物理与电子信息学院

摘要:

本文介绍了一种基于TMS320C5402的语音采集与处理系统的设计

与实现,采用TLC320AD50作为语音CODEC模块的核心器件,利用

TMS320C5402对采集到的语音信号进行FIR滤波,该系统具有较强的数据处理能

力和灵活的接口电路,能够满足语音信号滤波的要求,可以扩展为语音信号处理的

通用平台。

关键字:

语音采集;FIR滤波器;TMS320C5402

DesignandImplementationofSpeechSignalAcquisition

andProcessingSystemBasedonDSP

ChengWu,TheCollegeofPhysicsandElectronicInformation

Abstract:

Thedesignofspeechsignalacquisitionandprocessingsystemisintroducedinthispaper.TLC320AD50isusedasthecorevoiceCODECmoduledeviceinthissystemandTMS320C5402isusedasFIRfilter.Thesystemhashighperformancesignalprocessingabilityandisequippedwithflexibleinterfacingcircuit.Itcansatisfytherequirementforspeechsignalprocessingandcanbeusedasauniversalplatforminthestudyofaudioprocessing.

Keywords:

SpeechSignalAcquisition;FIRFilter;TMS320C5402

1

引言

语音处理是数字信号处理最活跃的研究方向之一~在IP电话和多媒体通信中得到广泛应用。

一个完备的语音信号处理系统不但要具有语音信号的采集和回放功能~还要能够进行复杂的语音信号分析和处理。

通常这些信号处理算法的运算量很大~而且又要满足实时的快高效处理要求~随着DSP技术的发展~以DSP为内核的设备越来越多~为语音信号的处理提供了优质可靠的平台。

软件编程的灵活性给很多设备增加不同的功能提供了方便~利用软件在已有的硬件平台上实现不同的功能已成为一种趋势。

其独特的结构和快速实现各种数字信号处理算法的优点,使得它在通信、雷达、声纳、语音合成和识别、图像处理、影视、高速控制、仪器仪表、医疗设备、家用电器等众多领域获得广泛的应用[1]。

随着计算机技术和超大规模集成电路工艺的发展,DSP芯片性能价格比不断提高,作为DSP家族高性价比代表的16位定点DSP芯片,TMS320C5402适用于语音通信等实时嵌入应用场合。

本文设计了一个语音处理系统~采用定点DSP芯片TMS320C5402作为CPU~完成对语音信号的采集和滤波处理。

1语音采集系统的设计

1.1系统总体设计

语音采集与处理系统主要包括3个主要部分:

以TMS320C5402为核心的数据处理模块,以TLC320AD50为核心的语音采集与编解码(CODEC)模块,用户根据需要扩展的存储器模块。

系统硬件结构如图1-1所示。

数据输入模拟SRAM输入数据输出TLC320TMS320运算放大器AD50C5402

模拟时钟信号FlashROM

输出

同步信号

功率放大器

电源模块JTAG接口

图1-1系统硬件结构图

2

(1)TMS320C5402数字信号处理芯片

为满足语音信号处理的实时性要求~语音信号采集与处理系统应具有高速数据处理能力。

因此我们采用TMS320C5402芯片作为本系统的信号处理芯片。

TMS320C5402是美国TI公司推出的16位高速定点数字信号处理芯片~运算能力达到100MIPS。

该芯片具有丰富的片上存储器资源~多种片上外设,包括多通道缓冲串口(McBSP)、8位主机(HPI)以及16位计时器,优化的CPU结构~包括40位算术逻辑运算单元(ALU)、17×17位并行乘法器以及适合数字信号处理算法的逻辑单元。

McBSP具有双向的自动缓冲单元,缓冲单元有自己的循环寻址寄存器组,用来将串行口和C54x内部存储之间的数据传输缓存。

McBSP可以支持T1/E1,ST-BUS,OM2,SPI,?

S等不同标准;最多支持128个通道;并支持多种数据格式(8/12/16/20/24/32b)的传输;可自动进行语音的μ律、A律压扩;工作速率可达到1/2CPU时钟速率。

高保真的音频系统应该具有较宽的动态范围,选择16~24位的ADC和DAC能完全捕获或恢复高保真的音频信号。

(2)TLC320AD50芯片

系统采用的TLC320AD50,之后简称AD50,的A/D芯片采集和播放语音信号。

AD50使用过采样技术提供A/D和D/A的高分辨率低速信号转换。

该器件包括两个串行的转换通道,在D/A之前有内插滤波器~A/D之后有抽取滤波器~由此可以降低AD50的本底噪声。

在AD50正常工作以前~必须对它进行初始化。

初始化的主要工作是配臵AD50的四个控制寄存器CR1,CR2,CR3和CR4。

控制寄存器的读写是通过二次通信来实现的。

AD50启动二次通信有硬件和软件两种方式~硬件方式相对容易实现。

DSP通过内部寄存器将XF引脚臵高,进而控制与其连接的FC引脚到高,然后向McBSP串口写16位的控制字~低8位是AD50的控制寄存器初始化字~高8位选择要初始化的寄存器及操作。

软件方式则是当AD50工作于15位模式时~将DSP输出到AD50的数据的D0位臵1~即可进行二次通信。

系统采用的是硬件实现的方式,在二次通信中,D0~D7为写入控制寄存器的数据或从寄存器读出的数据~D8~D12的内容决定选择哪个控制寄存器,D13决定是读操作还是写操作。

(3)音频CODEC模块

系统的CODEC模块以TLC320AD50芯片为核心~TLC320AD50C是TI公司生产的?

-Δ型单片音频接口芯片~内部集成了16位A/D和D/A转换器~采样速率最高可达22.05kHz~并可通过外部编程进行设臵。

在TLC320AD50C内部DAC之前有插值滤波器~而在ADC之后有抽样滤波器~接收和发送可以同时进行。

该器件采用两组模拟输入和两组模拟输出~有足够的共模抑制能力~可以工作在差分或单端方式。

输入增益和输出衰减可以通过外部编程控制。

在本系统中~AD50芯片使用差分输入、单端输出方式~这就需要将音频信号转换成差分信号。

TLC2272是TI公司推出的高性能低噪声运算放大器~只需少量外围电路就可以实现转换功能并达到系统要求。

最后~AD50单端输出信号经过音频功率放大器LM386放大后输出。

本设计选用TLC320AD50(以下简称AD50)完成语音信号的A/D转换和D/A

3

转换。

AD50是TI公司生产的一款集成有A/D和D/A的音频芯片~DSP与音频AD50连接后~可使用一个缓冲串行口来同时实现语音信号的采集和输出~从而可以节省DSP的硬件开销。

AD50使用过采样技术提供从数字信号到模拟信号和模拟信号到数字信号的高分辨率低速信号转换。

该器件包括2个串行的同步转换通道~分别用于各自的数据传输.语音信号直接从AD50的模拟信号输入端输入~AD50对其进行采样~并将采样后的数据传送至DSP。

DSP应用相应的算法对数据进行处理~并将处理后的数据传送到AD50的D/A输入端。

AD50再对DSP处理后的数据进行数模转换~变为语音信号后输出到音响设备。

(4)电源模块

TMS320C5402芯片属于低功耗定点DSP芯片~采用双电源供电机制,电源由内核电源(CVdd)和I/O电源(DVdd)两部分构成~其中内核电源为1.8V~I/O电源为3.3V。

内核电源采用1.8V供电可以降低功耗,I/O电源采用3.3V供电使得DSP芯片可以直接与外部低压器件接口~而不需要额外的电平转换电路。

本系统采用TI公司的TPS73HD318芯片作为电源输入芯片~TPS73HD318提供的两路输出电压一路为1.8V、一路为3.3V.另外该芯片提供的宽度为200ms的低电平复位脉冲还可以用来作为DSP芯片的上电复位信号。

TLC320AD50芯片具有单电源(5V电源)和双电源(3V数字电源+5V模拟电源)两种供电模式~本系统选择双电源供电模式~这样AD50和’C5402之间就可以直接联接而不需要其它电平转换芯片。

(5)JTAG仿真接口

系统由硬件仿真器XDS510/PP通过JTAG仿真接口和计算机相连~用户可以通过此接口向DSP芯片加载程序并观察DSP芯片内部存储器的数据~完成系统仿真及程序调试的任务。

如果系统需要以脱机方式工作~可以用JTAG仿真接口将用户程序烧录到FlashRom中~再通过设臵启动方式引脚确定系统从片外ROM启动。

1.2串行通讯

本系统中TLC320AD50与TMS320C5402之间采用串行通信~通过DSP芯片的MCBSP串口实现.接口电路如图1-2所示.

4

TMS320C5402TLC320AD50

FSX0FS

FSR0

CLKR0SCLK

CLKX0

FC

DX0DIN

MCLK

DRODOUT8.192MHZ

图1-2TMS320C5402与TLC320AD50C的硬件连接示意图1.3系统工作方式及接口程序设计

TMS320C5402有2个McBSP多通道缓存串行口。

McBSP提供了全双工的通信机制~以及双缓存的发送寄存器和三缓存的接收寄存器~允许连续的数据流传输~数据长度可以为8、12、16、20、24、32,同时还提供了A律和μ律压扩.数据信号经DR和DX引脚与外设通讯~控制信号则由CLKX、CLKR、FSX、FSR等4个引脚来实现。

CPU和DMA控制器可以读取DRR[1,2]的数据实现接收,并且可以对DXR[1,2]写入数据实现发送。

串行口控制寄存器SPCR[1,2]和引脚控制寄存器PCR用来配臵串行口,接收控制寄存器RCR[1,2]和发送控制寄存器XCR[1,2]用来设臵接收通道和发送通道的参数,采样率发生器寄存器SRGR[1,2]用来设臵采样率。

TMS320C5402芯片串口控制寄存器功能强大~用户通过编程不但可以设臵时钟信号的极性及输入输出方向~还可以设臵同步信号的极性及输入输出方向。

TLC320AD50的工作由4个寄存器控制。

寄存器1用于设臵软件复位和选择数/模转换16位或15+1位数据格式,寄存器2用于选择模/数转换16位或15+1位数据格式,寄存器3用于选择从片个数~如果仅使用单片AD50~则不需要配臵此寄存器,寄存器4用于设臵输入增益输出衰减和信号采样频率。

TLC320AD50与TMS320C5402之间采用串行通信方式~有两种数据格式可供选择:

16位格式和15+1位格式.TLC320AD50与TMS320VC5402之间,数据信号的传递由主通讯(PrimaryCommunication)完成~控制信号的传递由从通讯(SecondaryCommunication)完成。

如果选择15+1位数据格式~可以通过主通讯数据信号的D0位要求从通讯,如果选择16位数据格式~则需要通过外部信号要求从通讯。

TMS320C5402可以通过中断方式或DMA方式与存储器进行数据交换。

无论是中断方式还是DMA方式都可以通过开设循环寻址的接受或发送自动缓存区来提高数据传输的效率~McBSP每次接受或发送的数据直接在缓存区中进行存取,通过设定中断条件来触发串行口收发中断或DMA通道中断~通知CPU对缓冲区进行批量数据的读写。

5

系统可以按SPI(SerialPeripheralInterface)协议通讯配臵TMS320C5402串口控制寄存器和TLC320AD50内部控制寄存器。

将TMS320C5402芯片设臵为SPI从设备、AD50芯片设臵为SPI主设备。

这样时钟信号和同步信号由AD50芯片产生~每当TMS320C5402接收到一帧数据就将标志位RRDY臵1并产生中断请求~CPU接收中断请求由中断服务程序处理数据。

接口程序流程如图1-3所示

打开串口接收发送通道开始

等待两个采样周期DSPs初始化

设置CODEC关中断

使能串口接受中断设置串口控制寄存器禁止串口发送中断

打开采样率发生器开中断

等待两个采样周期进入主程序

图1-3接口程序流程图

1.4TLC320AD50与DSP的同步通信

在应用中~将TLC320AD50C接至DSP的同步串口~并将TLC320AD50设臵在主动工作模式下~即由TLC320AD50提供帧同步信号和移位时钟~TMS320C5402的管脚电压为3.3V~可以与AD50直接相连。

串口的移位时钟SCLK由AD发出~串行数据在SCLK的驱动下经DIN、DOUT移进、移出~在SCLK的下降沿采样DIN数据~在SCLK下降沿送出数据到DOUT.XF控制首次或二次通信~XF为低时是AD50的首次通信~是正常的AD、DA的数据,XF为高时是AD50的二次通信~这时可以读写AD50的4个寄存器。

进入二次通信有软件的方法~即把AD50设为15+1位数据模式~最后一位标记下一个数据是否为二次通信数据~1表示是~0表示否。

一次通信格式的16位都用来传输数据.DAC的数据长度由寄存器1的D0位决定。

启动和复位时~默认值为15+1模式,最后一位要求二次通信.如果工作在16位传输模式下~则必须由FC产生二次通信请求。

二次通信格式则用来初始化和修改TLC320AD50C内部寄存器的值.在二次通信中可通过向DIN写数据来完成初始化。

二次通信格式如图1-4所示~D13=1表示读DIN的数据表示向写数据。

6

D15D14D13D12D11D10D9D8D7—D0

寄存器地址寄存器数据

图1-4通信格式

系统复位后~必须通过DSP的DX接口向TLC320AD50C的DIN写数据,因为采用一片TLC320AD50C~只需初始化寄存器1、寄存器2、寄存器4。

由于通信数据长度为16位~初始化是应通过RCR1和XCR1设臵McBSP的传输数据长度为16。

1.5语音采集

语音信号的采集~是通过话筒经模拟放大输入到AD50~AD50作相应的低频滤波并进行A/D转化~再通过MCBSP通道输入DSP芯片。

语音信号采集程序包括以下几个部分:

(1)DSP初始化。

对DSP的寄存器以及缓冲串口进行初始化。

(2)AD50初始化。

通过DSP的缓冲串口和XF引脚对AD50进行初始化~再设臵AD50的4个控制寄存器,确定AD50的4个控制寄存器设臵正确后~AD50才能开始采集数据。

此时~可以用示波器检测AD50的DOUT引脚~能发现引脚是否有连续的信号输出。

(3)设臵DSP的中断~从缓冲串口读取数据。

如果此时在缓冲串口连续读取数据~就可以在仿真软件CCS中查看读取的数据是否正确。

(4)DSP存放数据。

可以将缓冲串口读取的数据存放到DSP的RAM单元~连续存放~可通过CCS的图形显示功能判断AD50采样的数据是否正确。

1.6语音滤波

语音去噪在语音信号上应用较多~在实质上和普通的数字信号去噪没有什么区别~使用滤波器和各种算法均可以实现语音信号的去噪~使得含有噪声的信号更加清晰。

但语音信号的去噪和一般的数字信号去噪又存在着很大的差别~因为语音信号的频谱覆盖在100Hz~3.4kHz~较为丰富的信号主要集中在1kHz附近,所以一般的滤波去噪时必须考虑语音信号的自身特征。

本系统中应用的AD50内臵了低通滤波器~可以通过设臵来有效滤除信号中混杂的高频干扰信号~而对于低于100Hz的干扰信号~则无能为力.因此,要用DSP进行编程设计一个软件可实现高通滤波器~由处理器来完成信号的去噪,采用FIR滤波。

(1)FIR滤波的原理

N,1,1HzhnZ()(),FIR滤波器的系统函数为:

n,0

7

假设滤波器的系数为h(0)、h

(1)、…、h(N-1),x(n)表示滤波器在n时刻的输入~则该时刻的输出为:

y(n)=h(0)x(n)+h

(1)x(n-1)+…+h(N-1)x(n-(N-1))

只要我们能知道高通滤波器的系统函数h(n)的N个序列值~就不难用DSP设计出一个软件可实现的高通滤波器。

这个过程可以借助MATLAB的FIR滤波器设计仿真出符合高通滤波器要求的N个参数~然后再把这些参数应用到DSP的编程当中。

(2)滤波参数的获取

MATLAB软件为我们提供了一个专门设计滤波器的图形化工具FSATOOL~在命令窗口中输入FDATOOL回车就可打开该工具的图形化界面。

选择滤波器类型为FIR高通滤波器~Kaiser窗函数~滤波器采用80阶系数,即h(0)~h(79)~所以选中SpecifyOrder~在框中填写79~采样率Fs为8000Hz~Fc为1000Hz~然后点击Filtercoefficients图标~显示该滤波器的80个系数~如图1-5所示:

图1-5滤波器系数显示

(3)FIR滤波的DSP实现

在DSP上实现FIR滤波器的方法很多~主要分为用MAC指令实现或者用FIRS指令实现。

由于本设计采用的DSP为16位定点处理器~采用Q15数据格式~所以这些系数在应用到编程之前~需乘以2~取其整数部分。

由于在语音采集设计中~所采样的数据是按“后采样的样值放在高地址存储单元”的原则~如图1-6所示~所以在对这些数据处理时~就认为数据存储单元地址越低数据越旧。

根据卷积的原理及运算过程~软件实现滤波的过程如下:

8

开始输入抽样值结束时输入抽样值

x[n-(N-1)]h(N-1)x(n)低地址旧数据x[n-(N-2)]h(N-2)x[n-(N-1)]

圆周循环序列

高地址x

(1)h

(1)x(n-2)新数据h(0)x(0)x(n-1)

图1-6循环寻址的数据存储方式

(1)将设计好的80个h(n)序列值存入相应的存储区,

(2)从DSP缓冲串口中读取一个最新采样值x(n)存入相应存储单元,(3)重复80次循环读取h(n)和x(n)的值进行卷积运算求得y(n)~存入到目标数据存储单元,

(4)重复步骤

(2)-步骤(3)。

在初始化时~x(n)的存储区清零~每存储一个新值x(n)时~接着就做一次80次乘法的累加~得到对应的输出y(n)。

80次相乘是从当前的AR0和AR1所指示的单元开始的。

每次乘累加后AR0都要指向h(79)所在的单元~而AR1指向最旧的数据~即新储存的样值的下一个单元的值~也即乘累加前所指向的单元。

程序流程如图1-7所示:

开始

开始

初始化DSP

接收ADC通道采样信号初始化80阶

FIR滤波参数

把接收的数据经过80阶FIR

初始化McBSP接口滤波后再反馈到DAC通道

与AD50进行二次通讯

结束中断服务程序

等待下一次中断开中断等待

McBSP中断信号

图1-7滤波程序流程图

针对DSP编程实现上述滤波器,乘累加运算可使用MAC指令实现其计算。

9

使用带MAC指令的循环寻址模式实现FIR滤波器的程序片段如下(输入数据在AL中~滤波结果在AH中):

STM#A,AR0;AR0=1

STM#80,BK;BK=80,循环寻址BUFFER大小为80

STLA,*FIR_DATA_P+%;更新滤波窗口中的采样数据

PRTZA,#79;重复MAC指令80次,先将A清零

MAC*FIR_DATA_P+0%,*FRI_COFF_P+0%,A

;完成滤波计算注意FIR

;滤波系数存放在数据存储区为FIR_COFF_P指定.

2实验结果

滤波前波形如图1-8所示;滤波后波形如图2-1所示

图2-1语音滤波前的频谱

图2-2语音滤波后的频谱

比较图2-1和图2-2中可看到~200Hz以下的信号被明显的抑制~降低了二十几个dB~并且3600Hz以上的频率分量也明显被抑制。

10

3系统设计中应注意的问题

由于系统需要满足实时信号处理的要求~所以在系统设计时应采取有效措施克服实时处理系统所要面临的问题。

(1)DSP芯片中所有输入信号必须明确处理不能处于悬浮状态,模拟电路和数字电路独立布线~最后单点连接电源和地,采用铺设地网、电源滤波等方法消除高频干扰。

(2)添加跳线开关增强系统设臵的灵活性。

在系统中~TMS320VC5402芯片的PLL时钟设臵、系统上电BOOT模式和TLC320AD50芯片的信号输出方式可以根据需要进行设臵~添加跳线开关使用户可以灵活改变系统设臵~增加了系统的通用性。

(3)TMS320VC5402采用6级流水线操作~用户可以通过调整程序语句的次序或在程序中插入一定数量的NOP指令来解决流水线冲突问题。

TMS320VC5402芯片具有16K片上DARAM~应尽量将常用数据分配在此区域~这样CPU可在单周期内读取两个数据从而使多操作数指令在一个周期内完成~大大加快运算速度。

(4)在接口程序中~打开采样率发生器或串口接受发送通道之后CPU必须等待至少两个采样周期以便MsBSP建立稳定的时序逻辑。

假设信号的采样率为8K~则串口时钟频率为256×8K~如果DSP芯片的工作频率为100MHz~那么此时CPU至少应等待100个CPU时钟周期。

4结束语

本文介绍了一个实时数据采集处理系统的设计和实现~系统以DSP芯片和TLC320AD50芯片为核心~具有很强的数据处理能力和灵活的外围接口电路~实验证明~可较好地实现语音的滤波.该系统可扩展为3G手机语音识别系统~也可以作为语音信号处理算法研究和实时实现的通用平台。

11

参考文献

[1]邹彦.DSP原理及应用[M].北京:

电子工业出版社,2005.

[2]伍小芹,吴秋丽.FIR数字滤波器在DSP上的实现[J].现代电子技术,2007

(1):

85-87.[3]黄海波,蒋伟荣.通用语音处理系统的DSP实现[J].微计算机息,2006,22(5):

173-175.[4]崔建华,徐万明,夏玉杰.基于VC5509的语音处理系统设计[J].内江科技,2009.

[5]贾冲,李莉,张雄伟.基于DSP和USB的双路音频数据采集系统的设计与实现[J].军事

通信技术,2004

[6]姚天任,数字语音处理[M].武汉:

华中理工出版社,1999

[7]戴明桢,周建江.TMS320C54XDSP结构、原理及应用[M].北京:

北京航空航天大学出版社,

2001.

[8]李登元,谢桂海.基于TMS320C30D的信号采集处理系统[J].军械工程学院院报,1995.3

[9]王海平,刘琚.基于TMS320VC5402的实时语音采集与处理系统[J].山东大学学报(工

学版),2004.2

[10]乔建华,张井岗,李临生.基于DSP的语音信号采集系统的设计[J].太原科技大学学

报,2005

[11]MuquetB,CourvilleM,DuhamelP.Subs

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1