数字信号课程设计 课题六 语音信号分析系统设计

更新时间:2023-11-10 16:20:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

语音信号处理系统设计

信号与线性系统课程设计报告

实验六 班级: 姓名:

语音信号处理系统设计 第 1 页 共 20 页

语音信号处理系统设计

学号: 指导教师 日期: 成绩:

题目: 实验六 语音信号处理系统设计

摘要:用matlab对语音信号进行处理,是一项很重要,实用度很广的方法,本实验课题主

要研究语音信号初步分析的软件实现方法、滤波器的设计及应用。即:对于指定的语音信号进行重采样,与原始信号进行比较,不同的频率声音有很大的区别;对语音信号进行快速傅里叶变换,分析频谱,画出时域频域波形;比较分析加噪声前后的语音信号,采用FIR低通滤波器,进行滤波,时域、频域分析比较,并回放声音;选作部分,进行信号的分帧,调用enframe函数进行,部分时域参数计算;最后采用GUI实现以上功能。

关键词:低通滤波器,重采样,fft,噪声,GUI 1课程设计的目的、意义

1.1课程设计目的

(1)了解Matlab软件的特点和使用方法。

(2)掌握利用Matlab分析信号和系统的时域、频域特性的方法; (3)掌握数字滤波器的设计方法及应用。 (4)了解语音信号的特性及分析方法。

(5)通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。

1.2 课程设计意义

语音信号分析是一门比较实用的电子工程的专业工程,语音是人类获取信息的重要来

源和利用信息的重要手段,通过语音相互传递信息是人类最重要的基本功能之一。语言是人类特有的功能,语音信号处理是研究数字信号处理技术对语音信号进行处理的一门学科,它是一门新兴的学科,同时又是综合性的多学科领域设计面很广的交叉学科。语音信号处理越来收到人们的广泛的研究,学会用matlaB进行语音信号的处理既简便又可以实现多种功能,是一种应该掌握的技术。

2 设计任务及技术指标

2.1设计指标

设计一个简单的语音信号分析系统,实现对语音信号时域波形显示、进行频谱分析,

第 2 页 共 20 页

语音信号处理系统设计

利用滤波器滤除噪声、对语音信号的参数进行提取分析等功能。采用Matlab设计语言信号分析相关程序,并且利用GUI设计图形用户界面。具体任务是: (1)采集语音信号。

(2)对原始语音信号加入干扰噪声,对原始语音信号及带噪语音信号进行时频域分析。 (3)针对语音信号频谱及噪声频率,设计合适的数字滤波器滤除噪声。 (4)对噪声滤除前后的语音进行时频域分析。

(5)对语音信号进行重采样,回放并与原始信号进行比较。 (6)对语音信号部分时域参数进行提取。 (7)设计图形用户界面(实现以上功能)。 2.2设计技术指标

滤波指标:wp,ws 采样频率f

3 设计方案论证

3.1离散傅里叶变换和快速傅里叶变换之间,选择了快速傅里叶变换,fft本身在matlab中

存在,省了很多做dft的内容。

3.2在选择合适的滤波器时选择了FIR。相对IIR滤波器来说,除了反映幅度特性以外,fir

可以反应线性相位的变化而且更喜欢用第一类线性相位低通滤波器。

4 设计内容

4.1必选部分

利用MATLAB软件对语音信号进行频谱分析;并对语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声。

(1)根据设计要求分析系统功能,掌握设计中所需理论、阐明设计原理(抽样频率、量化位数的概念,抽样定理;信号的FFT分析;数字滤波器设计原理和方法,各种不同类型滤波器的性能比较)。

(2)对语音信号以不同采样频率进行重采样,回放并与原始信号进行比较(如原语音信号采样频率为16KHz,对其进行8KHz,4KHz的重采样)。

(3)对语音信号做FFT,进行频谱分析,画出信号的时域波形图和频谱图。 (4)对语音信号加入干扰噪声,对语音信号进行回放(利用sound函数),感觉加噪前后声音的变化。对其做FFT,进行频谱分析,比较加噪前后语音信号的波形及频谱,对所得结果进行分析。

(5)根据带噪语音信号的特点,设计合适的数字滤波器,绘制所设计滤波器的幅频和相频特性。

(6)用所设计的滤波器对带噪语音信号进行滤波。对滤波后的语音信号进行FFT频谱分析。记录处理过程中所得各种波形及频谱图。

(7)对语音信号进行回放,感觉滤波前后声音的变化。比较滤波前后语音信号的波形及频谱,对所得结果和滤波器性能进行频谱分析。 4.2 拓展部分

利用GUI设计简单的图形用户界面。要求主界面上包括语音文件的显示及播放按钮,滤

第 3 页 共 20 页

语音信号处理系统设计

波器设计时所需参数设置及滤波功能按钮。滤波前后语音信号时域波形及频谱的显示,滤波器幅频特性的显示等功能可包含在主界面中,也可在新建图形窗口中完成。 4.3 选作部分

对语音信号部分时域参数计算。

对语音信号进行分帧,分别对浊音帧和清音帧的短时能量和短时平均过零率等参数进行计算,并对结果进行比较分析。

5 实验结果与分析

5.1必选部分 (1)

(2)sound(y,16000)

sound(y,8000) sound(y,4000) (3)

y=wavread('guo3.wav');

[y,fs,nbits]=wavread('guo3.wav');%语音读取 N=length(y); k=1:N; f=fs/N*k; subplot(3,2,1) plot(y) Y=fft(y); subplot(3,2,2) plot(f,abs(Y)) x=y(1:2:N); N1=length(x); k1=1:N1; f1=fs/2/N1*k1; subplot(3,2,3) plot(x) X=fft(x); subplot(3,2,4) plot(f1,abs(X)) x1=y(1:4:N); N2=length(x1); k2=1:N2; f2=fs/4/N2*k2; subplot(3,2,5) plot(x)

第 4 页 共 20 页

语音信号处理系统设计

X1=fft(x1); subplot(3,2,6) plot(f2,abs(X1))

0.1500-0.1050001000015000000.511.52x 1040.13020010-0.1020004000600080000020004000600080000.1151005-0.1020004000600080000010002000300040004)

x=wavread('guo3.wav');

[x,fs]=wavread('guo3.wav');%语音读取 n=0:length(x)-1; y=x'+0.01*cos(pi*n); subplot(2,2,1) plot(y)

title('加噪声后时域波形') subplot(2,2,2) Y=fft(y); plot(abs(Y))

title('加噪声后频域波形') subplot(2,2,3) plot(x)

title('不加噪声时域波形') subplot(2,2,4) X=fft(x); plot(abs(X))

title('不加噪声频域波形') sound(y,16000)

第 5 页 共 20 页

本文来源:https://www.bwwdw.com/article/6y0v.html

Top