logo资料库

数字信号处理 基于MATLAB 的语音处理系统设计.doc

第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
资料共28页,剩余部分请下载后查看
1.数字信号课程的特点及设计目的
2.基于Matlab的课程设计
3.详细设计
3.1. 语音信号的采集
3.2. 语音信号的时频分析
3.3. 设计FIR和IIR数字滤波器
3.4. 用滤波器对语音信号进行滤波
4.信号处理代码编写
5. 运行与测试
总结
致谢
参考文献
淮 阴 工 学 院 数字信号处理课程设计报告 题目: 基于 MATLAB 的语音处理系统设计 系 (院): 计算机工程学院 专 班 学 姓 业: 级: 号: 名: 计算机(嵌入式系统设计) 计算机 107* 10713061** **** 指导教师: *********** 学年学期: 2009 ~ 2010 学年 第 1 学期 2009 年 12 月 25 日
课题 名称 设计 目的 实验 环境 任务 要求 设计任务书 基于 MATLAB 的语音处理系统设计 1. 巩固所学的数字信号处理理论知识, 理解信号的采集、处理、传输、显示和存储过 程; 2. 综合运用专业及基础知识,解决实际工程技术问题的能力; 3. 学习资料的收集与整理,学会撰写课程设计报告。 1. 微型电子计算机(PC); 2. 安装 Windows 2000 以上操作系统,MATLAB 等开发工具。 1. 录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的 时域波形和频谱图;给定滤波器的性能指标, 采用窗函数法和双线性变换设计滤波 器, 并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波, 画出滤波后信号的时域波形和频谱, 并对滤波前后的信号进行对比,分析信号的变 化;回放语音信号;最后设计一个信号处理系统界面。 2. 利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求, 注意材料收集与整理; 3. 在第 15 周末之前完成预设计,并请指导教师审查,通过后方可进行下一步工作; 4. 结束后,及时提交设计报告(含纸质稿、电子稿),要求格式规范、内容完整、结论 正确,正文字数不少于 3000 字(不含代码)。 工作进度计划 序号 起止日期 工 作 内 容 1 2 3 4 2009.12.21~2009.12.21 在预设计的基础上,进一步查阅资料,完善设计方案。 2009.12.21~2009.12.24 设计总体方案,构建、绘制流程框图,编写代码,上机调试。 2009.12.24~2009.12.24 测试程序,完善功能,撰写设计报告。 2009.12.25 参加答辩,根据教师反馈意见,修改、完善设计报告。 指导教师(签章): 年 月 日
摘要 根据目前数字信号处理实验课程教学的现状,利用 Matlab(工程设计软件) 设计数字信号处理课程设计,并且给出了具体的软件实施方案。Matlab 功能强 大、简单易学、编程效率高,深受广大科技工作者的欢迎。特别是 Matlab 还具有 信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理 和设计。此次设计利用 Matlab 对录制的信号进行采样后;并画出采样后语音信 号的时域波形和频谱图;然后分别用窗函数法和双线性法设计的滤波器对采集的 信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对 比,分析信号的变化;回放语音信号;最后利用 GUI 设计一个信号处理系统界面。 关键字 Matlab 采样 频谱 窗函数 语音
目录 1. 数字信号课程的特点及设计目的 .................................... 1 2. 基于 Matlab 的课程设计 ........................................... 1 3.详细设计 ......................................................... 2 3.1.语音信号的采集 ............................................. 2 3.2.语音信号的时频分析 ......................................... 2 3.3. 设计 FIR 和 IIR 数字滤波器 ................................... 3 3.4. 用滤波器对语音信号进行滤波 ................................. 9 4.信号处理代码编写 ................................................ 10 5.运行与测试 ...................................................... 16 总结 .............................................................. 21 致谢 ............................................................. 222 参考文献 ......................................................... 233
数字信号处理课程设计 1.数字信号课程的特点及设计目的 《数字信号处理》课程是一门理论和技术发展十分迅速、应用非常广泛的前沿 性学科,他的理论性和实践性都很强,他的特点是: (1)要求的数学知识多,包括高等代数、数值分析、概率统计、随机过程等。 (2)要求掌握的基础知识强,网络理论、信号与系统是本课程的理论基础。 (3)与其他学科密切相关,即与通信理论、计算机、微电子技术不可分,又是 人工智能、模式识别、神经网络等新兴学科的理论基础之一。 在学习这门课程时,普遍感到数字信号处理的概念抽象,对其中的分析方法 与基本理论不能很好地理解与掌握。因此,理解与掌握课程中的基本概念、基本 原理、基本分析方法以及综合应用所学知识解决实际问题的能力,是本次课程设 计中所要解决的关键问题。学习巩固所学的知识,加强理论和实际结合的能力, 培养综合设计能力与实际工作能力。 Matlab 语言是一种广泛应用于工程计算及数值分析 领域的新型高级语言, Matlab 功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。特别 是 Matlab 还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地 进行信号分析、处理和设计。因此,选择用 Matlab 进行课程设计。 在学习这门课程时, 普遍感到数字信号处理的概念抽象, 对其中的分析方 法与基本理论不能很好地理解与掌握。为了巩固所学的数字信号处理理论知识, 对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解,我们应该 注意如下能力的培养:1、独立工作能力和创造力;2、综合运用专业及基础知识, 解决实际工程技术问题的能力;3、查阅图书资料、产品手册和各种工具书的能 力;4、编写技术报告和编制技术资料的能力。 2.基于 Matlab 的课程设计 巩固所学的数字信号处理理论知识,对信号的采集、处理、传输、显示和 存储等有一个系统的掌握和理解,录制一段个人自己的语音信号,并对录制的信 号进行采样;分析采样后语音信号的时域波形和频谱图;给定滤波器的性能指标, 采用窗函数法和双线性变换设计滤波器,并分析滤波器的频率响应;利用 MATLAB 1
数字信号处理课程设计 对语音信号进行 8000 点及 16000 点采样分析;然后用自己设计的滤波器对采集 的信号进行滤波,分析滤波后信号的时域波形和频谱,并对滤波前后的信号进行 对比,分析信号的变化;回放语音信号;最后,设计一个信号处理系统界面。 3.详细设计 3.1. 语音信号的采集 要求利用 Windows 下的录音机,录制一段自己的话音,时间在 1 s 内。然 后在 Matlab 软件平台下,利用函数 wavread 对语音信号进行采样,记住采样频 率和采样点数。通过 wavread 函数的使用,理解采样频率、采样位数等概念。将 话筒输入计算机的语音输入插口上,启动录音机。按下录音按钮,接着对话筒说话 “数字信号处理”,说完后停止录音,屏幕左侧将显示所录声音的长度。点击放音 按钮,可以实现所录音的重现。以文件名“2”保存入 D :\ MATLAB \ work 中。 可以看到,文件存储器的后缀默认为. wav ,这是 windows 操作系统规定的声音文 件存的标准。 3.2. 语音信号的时频分析 Matlab软件平台下,利用wavread函数对语音信号进行采样,记住采样频率 和采样点数,Wavread 函数调用格式 y=wavread(file)%读取 file 所规定的 wav 文件,返回采样值放在向量 y 中。 [y,fs,bits]=wavread(file) %采样值放在向量 y 中,fs 表示采样频率(hz),bits 表示采样位数。 y=wavread(file,N)%读取钱 N 点的采样值放在向量 y 中。 y=wavread(file,[N1,N2])%读取从 N1 到 N2 点的采样值放在向量 y 中。 对语音信号 speech.wav 进行采样其程序如下: [y,fs,nbits]=wavered ('D:/2.wav'); %把语音信号进行加载入 Matlab 仿真 软件平台中 fs =8000;bits =32 首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在 matlab 中利用 fft 对信号进行快速傅里叶变换,得到信号的频谱特性。 2
数字信号处理课程设计 其程序如下: [y,fs,bits]=wavread ('d:/2.wav'); sound(y,fs,nbits); %回放语音信号 n = length (y) ; Y=fft(y,n); %求出语音信号的长度 %傅里叶变换 3.3. 设计 FIR 和 IIR 数字滤波器 根据语音信号的特点给出有关滤波器的新能指标: 1.通滤波器的性能指标 fp=1000Hz,fc=1200Hz,As=50db ,Ap=1dB 2.高通滤波器的性能指标 fp=3500Hz,fc=4000Hz,As=50dB,Ap=1dB; 3.带通滤波器的性能指标 fp1=1200Hz,fp2=3000hZ,fc1=1000Hz,fc2=3200Hz, As=50dB,Ap=1dB 在 Matlab 中,可以利用函数 fir1 设计 FIR 滤波器,利用函数 butter,cheby1 和 ellip 设计 IIR 滤波器,利用 Matlab 中的函数 freqz 画出各步步器的频率响应。 分析如下:函数 fir1 默认的设计滤波器的方法为窗函数法,其中可选的窗函 数有 Rectangular Barlrtt Hamming Hann Blackman 窗,其相应的都有实现函数。 函数 butter,cheby1 和 ellip 设计 IIR 滤波器时都是默认的双线性变换法,所 以在设计滤波器时只需要代入相应的实现函数即可。 1.IIR 低通 Ft=8000; Fp=1000; Fs=1200; wp=2*pi*Fp/Ft; ws=2*pi*Fs/Ft; fp=2*Ft*tan(wp/2); fs=2*Fs*tan(wp/2); 3
数字信号处理课程设计 %求 S 域的频率响应的参数 [n11,wn11]=buttord(wp,ws,1,50,'s'); %求低通滤波器的阶数和截止频率 [b11,a11]=butter(n11,wn11,'s'); [num11,den11]=bilinear(b11,a11,0.5); [h,w]=freqz(num11,den11); %根据参数求出频率响应 plot(w*8000*0.5/pi,abs(h)); legend('用 butter 设计'); grid 程序结果如下图: 图 2-1 IIR 低通滤波器 2.IIR 带通: Fp1=1200; Fp2=3000; Fs1=1000; Fs2=3200; Ft=8000; wp1=tan(pi*Fp1/Ft); wp2=tan(pi*Fp2/Ft); ws1=tan(pi*Fs1/Ft); ws2=tan(pi*Fs2/Ft); w=wp1*wp2/ws2; 4
分享到:
收藏