实验2-音频DSP程序编写与调试.doc

实验2-音频DSP程序编写与调试.doc

ID:59827975

大小:529.50 KB

页数:3页

时间:2020-11-25

实验2-音频DSP程序编写与调试.doc_第1页
实验2-音频DSP程序编写与调试.doc_第2页
实验2-音频DSP程序编写与调试.doc_第3页
资源描述:

《实验2-音频DSP程序编写与调试.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、广州大学学生实验报告开课学院及实验室:机电学院电子楼5012018年5月11日学院机械与电气工程学院年级、专业、班电信151姓名苏伟强学号实验课程名称音频DSP技术与应用成绩实验项目名称实验二音频DSP程序编写与调试指导老师张承云一、实验目的1.掌握DSP程序的编写方法,调试方法,烧写方法。二、实验设备1.软件:VisualDSP++5.1.2和matlab2.硬件:ADSP-21489EZ-Borad开发板三、实验内容1.软件仿真a.使用VisualDSP++目录下的例程21489AD1939Blo

2、ck-BasedTalkthru48or96kHz,将实验文件夹exp2目录下的in.dat和sin2.dat拷贝到该工程文件夹下,并且将main.c代替为exp2中的simMain.c,在VisualDSP++打开,设置为软件仿真模式(添加新的simulation的section),编译该程序,如Fig.1所示。b.如Fig.1所示,程序编译通过,说明程序没有语法错误,但是这并不意味着程序的算法没有问题,即我们无法知道算法能不能达到预期的效果,所以我们需要进行模拟数据仿真。在程序中,数据的输入和输出

3、都是以变量的形式表示的,所以我们需要用我们的模拟数据对这些变量进行初始化,这就需要数据流的设置了,数据流是有方向的(source->destination),可以实现数据从source到destination的传递,这也是所谓“流”的概念。点击settingsstreamsadd添加流,弹出addstream对话框设置流的source和destination,source和destination可以是数据文件,也可以是变量。在本实验中,我们将添加数据从文件in.dat传递到输入变量DataIn,实

4、现输入变量的数据初始化;添加输出变量DataOut传递到文件out.dat的流实现输出变量的文件存储。如所示Fig.1编译工程Fig.2添加数据文件导入流和处理结果导出流c.在语句processData(input,output,N)添加断点,调试,在断点处停下后,在expression数据查看框查看输入数据input,使用matlab打开文件in.dat,对比数据input和in.dat中的数据,如所示,发现两个一样,证明我们之前设置的原始数据输出入流有效。(从文件in.dat传递到输入变量Data

5、In)Fig.3input和in.dat对比d.删除断点,执行完程序,将in.dat文件out.dat文件输入到matlab,采样频率为48kHz,绘图,如所示,现在可以知道程序的作用是将输入音频衰减一半。Fig.4matlab绘制in.dat和out.dat,采样频率48kHz1.硬件仿真a.使用usb-JTAG线连接PC与21489开发板,开发板电源线连接电源,使用手机或者其他音频输出设备通过RCA音频线(RadioCorporationofAmerican莲花插座)输入音频到开发板(底层1L,1

6、R),使用耳机接听输出音频(中间层1L,1R)。b.使用VisualDSP++目录下的例程21489AD1939Block-BasedTalkthru48or96kHz,添加新的section硬件仿真(EZ-KITLite),取消所有断点,编译运行,用耳机听到了手机播放的音频。c.将实验材料exp2文件夹下的Multiply.c,blockProcess_audio.c拷贝到该工程文件夹中。并且在VisualDSP++项目目录中右键AddFile(s)toFolder往工程中添加前述两个文件。d.在b

7、lockProcess_audio.c文件中,找出以下代码并且去掉前面的注释符externvoidmultiply(floatinputdata,floatoutputdata);multiply(inputD,outputD);在multiply.c文件中,将以下代码的注释符去掉voidmultiply(floatinputdata,floatoutputdata){outputdata=0.5*inputdata;}编译连接程序,并且运行,发现没有声音,原因是multiply函数实际上并未将处理完

8、后的数据赋值给outputD,只对临时变量outputD进行赋值,而临时变量outputD将在函数结束后释放内存。e.在blockProcess_audio.c文件中,找出以下代码并且去掉前面的注释符externvoidmultiply(floatinputdata,float*outputdata);multiply(inputD,&outputD);在multiply.c文件中,将以下代码的注释符去掉voidmultiply(floa*inputda

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

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

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