语音信号μ/A律压缩的DSP软件实现(英文文献+中期报告+源代码+流程图) 第11页
语音信号的μ/A律压缩都是最简单的信号压缩方式,C54X系列的DSP有硬件实现标准μ/A律的压缩算法[12],通过控制寄存器实现语音信号的压缩;但对于非标准的μ/A律压缩,DSP硬件不能直接实现,所以要借助软件编程实现[14]。
图1-1音频信号处理过程
图1-1中的输入信号可以有各种各样的形式。例如,它可以是麦克风输出的语音信号或是电话线来的已调数据信号,可以是编码后在数字链路上传输或存储在计算机里的摄像机图像信号等。
输入信号首先进行带限滤波和抽样,然后进行A/D(Analog to Digital)变换将信号变换成数字比特流。根据奈奎斯特抽样定理,为保证信息不丢失,抽样频率至少必须是输入带限信号最高频率的2倍。
DSP芯片的输入是A/D变换后得到的以抽样形式表示的数字信号,DSP芯片对输入的数字信号进行某种形式的处理,如进行一系列的乘累加操作。数字处理是DSP的关键,这与其他系统有很大的不同。经过处理后的数字样值再经D/A(Digital to Analog)变换转换为模拟样值,之后再进行内插和平滑滤波就可得到连续的模拟波形。
1.3.2 DSP应用系统的一般设计过程
(1)根据应用系统的目标确定系统的性能指标、信号处理的要求,通常可用数据流程图、数学运算序列、正式的符号或自然语言来描述。
(2)根据系统的要求进行高级语言的模拟。一般来说,为了实现系统的最终目标,需要对输入的信号进行适当的处理,而处理方法的不同会导致不同的系统性能,要得到最佳的系统性能,就必须在这一步确定最佳的处理方法,即数字信号处理的算法。
(3)设计实时DSP系统,实时DSP系统的设计包括硬件设计和软件设计两个方面。硬件设计首先要根据系统运算量的大小、对运算精度的要求、系统成本限制以及体积、功耗等要求选择合适的DSP芯片。然后设计DSP芯片的外围电路及其他电路。软件设计和编程主要根据系统要求和所选的DSP芯片编写相应的DSP汇编程序,若系统运算量不大且有高级语言编译器支持,也可用高级语言(如C语言)编程。由于现有的高级语言编译器的效率还比不上手工编写汇编语言的效率,因此在实际应用系统中常常采用高级语言和汇编语言的混合编程方法,即在算法运算量大的地方,用手工编写的方法编写汇编语言,而运算量不大的地方则采用高级语言。采用这种方法,既可缩短软件开发的周期,提高程序的可读性和可移植性,又能满足系统实时运算的要求。
(4)DSP硬件和软件设计完成后,就需要进行硬件和软件的调试。软件的调试一般借助于DSP开发工具,如软件模拟器、DSP开发系统或仿真器等。(5)系统的软件和硬件分别调试完成后,就可以将软件脱离开发系统而直接在应用系统上运行。当然,DSP系统的开发,特别是软件开发是一个需要反复进行的过程,虽然通过算法模拟基本上可以知道实时系统的性能,但实际上模拟环境不可能做到与实时系统环境完全一致,而且将模拟算法移植到实时系统时必须考虑算法是否能够实时运行的问题。如果算法运算量太大不能在硬件上实时运行,则必须重新修改或简化算法[6]。
图1-2 典型DSP设计的过程框图
1.3.3 DSP应用系统的开发工具
根据图1-2的程序设计流程,要开发一个完整的DSP应用系统,需要借助于诸多软、硬件开发工具,表1-1列出了需要的开发工具。有些工具不一定是必备的,如逻辑分析仪。有些工具则是可选的,如算法模拟时可以用C语言(我们这里主要采用汇编语言),也可以用MATLAB语言,还可以用其他程序语言。而在CCS下则是一个集成开发的环境,那么回包括编辑、汇编、链接、软件模拟、调试等几乎所有需要的软件。
开发步骤 开发内容 开发工具支持
硬件支持 软件支持
1 算法模拟 计算机 C语言,MATLAB语言等
2 DSP软件编程 计算机 编辑器(edit等)
3 DSP软件调试 计算机、DSP硬件仿真器 DSP代码生成工具、DSP代码调试工具
4 DSP硬件设计 计算机 电路设计软件(EDA软件,Protel99)
5 DSP硬件调试 计算机、DSP硬件仿真器、信号发生器 相关支持软件
6 集成系统 计算机、DSP硬件仿真器、编辑器 相关支持软件
1.3.4 DSP芯片的选择
表1-1 DSP应用系统开发工具支持
(1)DSP芯片的运算速度(处理能力):C5402的指令周期为10ns,其运算速度最快为100MIPS
(2)DSP芯片的价格:C5402的价格便宜。
(3)DSP芯片的硬件资源:C5402的总存储空间为192K字,分成3个可选择的存储空间:64K字的程序存储空间、64K字的数据存储空间和64K字的I/O空间。
(4)DSP芯片的运算精度:整个程序中的运算和存储以16位为主,但由于在一些模块中运算精度对最终结果会产生较大影响,所以在综合考虑运算量、存储量和精度要求的基础上,对某些中间过程采用了32位双字运算甚至仿浮点运算(对数据的指数和尾数分别进行运算和存储)。
(5)结合实验室现有的设备:DSP实验室主要采用C5402芯片。在实验室进程毕业设计可以很方便的跟指导老师进行交流,便于我们更快的发现问题和解决问题,可以达到事半功倍的效果。
经过比较,并结合实际情况,选择16bits定点DSPTMS320C5402作为处理器单元。
<< 上一页 [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] 下一页