sharc dsp音频算法开发的调试数据分析

sharc dsp音频算法开发的调试数据分析

ID:21534025

大小:28.00 KB

页数:7页

时间:2018-10-22

sharc dsp音频算法开发的调试数据分析_第1页
sharc dsp音频算法开发的调试数据分析_第2页
sharc dsp音频算法开发的调试数据分析_第3页
sharc dsp音频算法开发的调试数据分析_第4页
sharc dsp音频算法开发的调试数据分析_第5页
资源描述:

《sharc dsp音频算法开发的调试数据分析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、SHARCDSP音频算法开发的调试数据分析  摘要SHARCDSP广泛应用于数字音频产品中,为分析SHARCDSP音频算法开发中的调试数据,采用了文件读写、数据流、操作数组和存储空间等4种数据输入输出方法,以及在软件开发平台VisualDSP++中实现的主要步骤及关键代码。以参量均衡算法为例说明如何用MATLAB对调试数据进行分析。  【关键词】音频数据模拟SHARCDSPVisualDSP++  1引言  目前很多数字音频产品都是采用DSP作为信号处理平台。为降低产品开发难度、加快进度,国内厂家目前使用

2、较多的是基于图标编程的专用音频DSP,如ADI公司的ADAU1701SigmaDSP和TI公司的TAS3108。然而这类基于图标编程的DSP虽然使用方便,但算法功能却受限于现有的算法图标,仅适合较常用的功能,且不同厂家开发的产品易出现同质化的现象。为提升产品的竞争力,有些厂家研究出自己的音频处理算法,在通用DSP上通过编程实现。ADI公司生产的SHARC系列DSP是数字音频产品中常用的通用DSP,其软件开发平台是VisualDSP++(近年推出了CCES软件,支持与SigmaDSP开发软件平台的互连,目前

3、VisualDSP++还是得到广泛应用)。在SHARCDSP上调试音频算法时,除了需将算法通过程序实现外,还需对算法程序调试的调试数据进行分析。以下讨论DSP开发平台上音频数据输入输出模拟的实现方法及如何用MATLAB对调试数据进行分析。  2音频数据输入输出模拟  常见的DSP音频信号处理框图如图1所示。  其中音频算法一般需要在DSP?件开发平台中先通过软件仿真的方式进行调试,在这个过程中没有外部声音信号输入,也无法将处理好的声音信号输出给外部设备,所以需要对图1中的信号输入输出部分进行模拟。下面讨论

4、在VisualDSP++5.0上模拟输入输出音频数据的几种方法。  2.1通过文件读写进行模拟  通过调用文件操作函数,对WAV、PCM等常用的声音文件进行读写,图2是操作框图。  本例程有两点需要注意:一是WAV文件有44个字节的文件头,不能作为声音数据进行处理,因为文件头有保存文件类型大小等,不是声音的具体数据;二是在SHARCDSP中各种数据类型的比特数,比如shortint/int/float等数据类型均为32比特。  2.2通过数据流进行模拟  数据流可以模拟通过外部端口或存储器与DSP处理器进

5、行数据传输。在VisualDSP++菜单中选择“Settings\Streams\Add”,弹出图3所示界面。  共有Source和Destination两栏,通过对这两栏的相关参数进行设置即可模拟数据的输入输出。  模拟数据输入:在Source栏设定File路径,在Destination栏设定Debugtarget,既可以是各种接口,也可以是存储器地址。为方便处理,可以在程序中定义一个变量,然后将该变量地址作为接收文件数据的Debugtarget。  模拟数据输出:在Source栏设定Debugtarg

6、et,在Destination栏设定File路径。实际的算法仿真时,可以将保存输出数据的变量地址作为Debugtarget,程序运行时系统就会将输出数据保存到输出文件中。  数据流模拟时都要使用到数据文件(后缀名为dat),这种dat文件要满足一定的格式,即将所有数据排成一列,可以通过Matlab或C语言编程对dat文件进行读写。更简便的方法是通过CoolEdit软件进行dat文件读写:若要写一个dat文件,则先打开一个声音文件,然后选择另存,类型选txt,最后写自己定义的文件名(后缀写dat);并将该d

7、at文件中的前面几行文件头信息去掉;若要读一个dat文件,直接打开该文件,然后选定采样率和数据量化比特数即可。  2.3通过操作数组进行模拟  以上两种方法主要模拟数据量较大、无法预存到存储空间的情况,对于少量数据的情况,输入数据的模拟可以定义一个输入数组,用原始声音数据对其初始化。输出数据的模拟也可以定义一个输出数组,将所有处理好的数据都存入这个数组。  输入数组的初始化有几种方法,最直接的方法是将所有数据列出来,但对于几百甚至几千个数据的情况,显得页面不够简洁,建议用以下两种方法。  2.3.1汇编语

8、言环境下用dat文件初始化数组  首先将原始数据写入一个dat文件(例如input.dat),然后新建一个asm文件,定义数组名(例如_inputx),选择存储区(例如seg_dmda)。以下是相关代码:  .global_inputx;//声明全局变量  .SECTION/DMseg_dmda;//定义数组存放的存储区  .VAR_inputx[N]="input.dat";//用input.dat文件的数据对数组初始化  

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。