《DSP技术与应用》课程设计报告基于DSP的语音处理系统设计_第1页
《DSP技术与应用》课程设计报告基于DSP的语音处理系统设计_第2页
《DSP技术与应用》课程设计报告基于DSP的语音处理系统设计_第3页
《DSP技术与应用》课程设计报告基于DSP的语音处理系统设计_第4页
《DSP技术与应用》课程设计报告基于DSP的语音处理系统设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、淮阴工学院 dspdsp 技术及应用技术及应用课程设计报告课程设计报告 选题名称选题名称: 基于 dsp 的语音处理系统设计 系(院)系(院): 计算机工程学院 专专 业业: 计算机科学与技术(嵌入式软件设计) 班班 级级: 计算机 1073 班 姓姓 名名: 学学 号号: 指导教师指导教师: 学年学期学年学期: 2009 2010 学年 第 2 学期 2010年 5 月 30 日 摘要: 提出一个基于 dsp 的音频信号采集,存储,回放的处理系统。介绍了该系统的总 体方案和硬软件设计。讨论了模/数(a/d)和数/模(d/a)转换电路的设计方法以及如何采 用 a/d 转换器从 mic 输入口实

2、时采集语音信号,进行压缩后存储到 dsp 的片内和片 外 ram 存储器中,存储时间不小于 10 秒。使用 dsp 实现语音压缩和解压缩的基本 算法实现对语音信号的压缩,存储,回放。实验证明:所设计的基于 dsp 的硬件和软 件系统是一个很好的音频信号采集与处理系统。 关键词:语音处理;音频信号;dsp;音频压缩回放 目目录录 1 绪论.3 1 课程设计要求与目标.3 2 课程设计目的.3 2 系统详细设计.4 2.1 语音采集与输出模块.4 2.2 语音编码.4 2.3 dpcm void led(s16 cnt); void initcodec(void); void flashenabl

3、e(void); unsigned char data2alaw(s16 pcm_val); int alaw2data(unsigned chara_val); static int search(int val,short*table,int size); /* 全局变量 */ handle hhandset; s16 data; s16 data1; u16 i=0; u16 temp1; u16 j=0; u16 k,l=0; u8 temp2; u16 buffer20000; static short seg_end8=0 x1f,0 x3f,0 x7f,0 xff,0 x1ff,

4、0 x3ff,0 x7ff,0 xfff; /* 主函数 */ void main() if (brd_init(100) return; led(2); /闪灯两次 initcodec(); /初始化 codec flashenable(); /选择片外 flash 为片外存储器 delay(100); brd_led_toggle(brd_led0); for(i=0 x9000;i0 xefff;i+) reg_write(i,*(volatile u16*)drr1_addr(handset_codec); delay(20); brd_led_toggle(brd_led1); de

5、lay(200); for(i=0 x9000;i0 xefff;i+) *(volatile u16*)dxr1_addr(handset_codec)=reg_read(i); delay(20); brd_led_toggle(brd_led2); */ while (1) while (!mcbsp_rrdy(handset_codec) ; /等待接收 handset 处 的采样 brd_led_toggle(brd_led0); data = *(volatile u16*)drr1_addr(handset_codec); /从 handset 处读取 采样 temp1=data

6、2alaw(data); /对采样进行 a 律压缩 /* 把低地址数据放在高八位 高地址数据放在低八位 */ i=i+1; if(i%2=1) bufferj=(temp1=40000) i=0; if(j=20000) j=0; brd_led_disable(brd_led0); brd_led_toggle(brd_led1); /点亮二极管 1 表示放音开始 /* 放音部分 */ for(k=0;k8) else temp2=bufferl l+; if(l=20000) l=0; data1=alaw2data(temp2); / a 律解压 while (!mcbsp_xrdy(h

7、andset_codec) ; *(volatile u16*)dxr1_addr(handset_codec) = data1; / / /将数据写 入 d/a 转换器 /* 放音结束 */ brd_led_toggle(brd_led0); brd_led_toggle(brd_led1); /主程序结束 子函数 /*延时*/ void delay(s16 period) int i, j; for(i=0; iperiod; i+) for(j=0; j1; j+); /*闪灯*/ void led(s16 cnt) while ( cnt- ) brd_led_toggle(brd_l

8、ed0); /切换 led 指示灯 0 的显示状态 delay(1000); brd_led_toggle(brd_led1); delay(1000); brd_led_toggle(brd_led2); delay(1000); /*初始化 codec*/ void initcodec(void) /* open handset codec 获取设置 codec 的句柄*/ hhandset = codec_open(handset_codec); / acquire handle to codec /* set codec parameters */ codec_dac_mode(hha

9、ndset, codec_dac_15bit); / dac in 15-bit mode codec_adc_mode(hhandset, codec_adc_15bit); / adc in 15-bit mode codec_ain_gain(hhandset, codec_ain_6db); / 6db gain on analog input to adc codec_aout_gain(hhandset, codec_aout_minus_6db); / -6db gain on analog output from dac codec_sample_rate(hhandset,s

10、r_8000); / 8khz sampling rate /*设置 flash*/ void flashenable(void) cpld_ctrl2_reg|=0 x0010; cpld_dmctrl_reg|=0 x0040; /*a 律压缩*/ unsigned char data2alaw(s16 pcm_val) intmask; intseg; unsigned charaval; if (pcm_val = 0) mask = 0 xd5; / 标记 (7th) bit = 1 else mask = 0 x55; / 标记 bit = 0 pcm_val = -pcm_val

11、; / convert the scaled magnitude to segment number. seg = search(pcm_val, seg_end, 8); / combine the sign, segment, and quantization bits. if (seg = 8) / out of range, 返回最大数. return (0 x7f mask); else aval = seg seg_shift; if (seg 1) else aval |= (pcm_val seg) return (aval mask); /*alaw 的子程序*/ stati

12、c int search(int val,short*table,int size) inti; for (i = 0; i size; i+) if (val = *table+) return (i); return (size); /*a 律解压*/ int alaw2data(unsigned chara_val) intt; intseg; a_val = 0 x55; t = (a_val if(seg=0) t += 8; t=(t3); if(seg0) t +=0 x108; t=(t(4-seg); if(seg3) t+=0 x108; t=(t=(seg-4); ret

13、urn (a_val /* 结束 */ 4 调试过程调试过程 1将工程文件夹放入 c 盘要求目录下。 2. 打开 ccs,project open,打开工程文件。 3进行编译,连接。 4根据错误提示,对 build option 进行正确的设置,修改头文件路径。 5再编译,连接,显示没有错误。 6load program-run,此时三盏灯循环亮,之后程序开始,第一盏灯亮开始录音,一 段时间后第二盏灯亮开始放音,然后又开始录音。依次循环。 5 运行结果运行结果 1.观察数据结果 viewwatch window 我们输入 buffer,显示此数组的值,如图 d 所示。 2观察数据图形 view

14、graphtime frequency 可以加入断点,然后按 animate 动态显示。 分别观察语音输入(存放在变量 data 中)波形,压缩后波形(temp1) ,解压后输出波 形(data1) ,图形分别为 a,b,c。 3观察存储器中数据 viewmemory 经过多次调试,使录音时间在保持音质的前提下达到 5-6 秒。 a输入波形(data) 图 5-1 输入波形 b压缩后波形(temp1) 图 5-2 压缩后波形 c解压缩后输出波形(data1) 图 5-3 解压缩后输出波形 dwatch window 中的值 图 5-4 watch window 中的值 总总 结结 经历了这次实

15、验,我想我们充分认识到了压力带给人的巨大动力。确定做语音压 缩,存储与回放实验后,查了大量 a 律,u 律压缩方法的资料,并学习了 ccs 环境下 的操作、调试与运行。由于之前对 dsp 很不了解,这方面学习我们去实验室操作了不 少时间,终于熟悉了它的操作步骤与简单调试方法。 这次课程设计基本上涵盖了 dsp 课程学习到的很多知识点,课程题目不仅要求对 课本知识有较深刻的了解,同时要求我们有较强的思维和动手能力。在这次课程设计 中,我遇到了非常多的困难,但在困难的解决使我学会了很多,不仅仅是关于数据库 知识的方面,还有设计理念以及设计所需的坚持精神。课程设计不仅是对前面所学知 识的一种检验,而

16、且也是对自己能力的一种提高。通过这次做课程设计使我明白了自 己原来知识还很欠缺。自己要学习的东西还太多,以前老是觉得自己什么东西都会, 什么东西都懂,有点眼高手低。通过这次做课程设计,我才明白学习是一个长期积累 的过程,以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。 虽然课程设计过程中遇到了很多麻烦,但通过不断查阅资料和老师同学的指导帮 助,最终完成了课程设计要求的各部分内容。这次课程设计提高了我的思维能力和协 作能力,锻炼了我的动手能力!本文是在指导教师马岱老师的悉心指导下完成的,在 课程设计的过程中庄老师给了我很大的帮助。在设计中遇到的问题老师都帮我细心解 答,这次课程设

17、计能成功与老师的努力是分不开的。课程设计的每一步无不倾注了老 师的心血和汗水。有这样的机会、这样的成功,得益于学校的大力支持和老师对我们 的不倦指导。十分感谢教务处组织这样的活动,让我们有了锻炼的机会。 在我的学习过程中,不管是指导老师还是同学都给了我耐心的指导和帮助。我在 此对各位老师和同学表示诚挚的感谢! 参考文献参考文献 1丁玉美编.数字信号处理.西安:西安电子科技大学出版社,2001. 2丁玉美、高西全编著.数字信号处理学习指导.西安:西安电子科技大学出版社, 2001. 3郑君里等编.信号与系统.北京:高等教育出版社,2000. 4关华等, techniques and applic

18、ations of dsp chips ,济南出版社,2006,10 5王念旭等, dsp 基础与应用系统设计 ,北京航空航天大学出版社. 6李哲英, dsp 基础理论与应用技术 ,北京航空航天大学出版社. 7关华, dsp 原理与应用实验指导书 ,山东建筑大学. 8 lawrence rabiner, 语音识别基本原理 ,清华大学出版社 9易克初, 语音信号处理 ,国防工业出版社 10关华, digital speech processing ,黄河出版社. 指导教师评语指导教师评语 学号1071306115姓名刘 涛班级计算机 1073 选题 名称 基于 dsp 的语音处理系统设计 序号评价内容

温馨提示

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

评论

0/150

提交评论