2022年2022年基于MATLAB的有噪声的语音信号处理的课程设计 .pdf
《2022年2022年基于MATLAB的有噪声的语音信号处理的课程设计 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年基于MATLAB的有噪声的语音信号处理的课程设计 .pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、DSP 实验课程设计实验报告DSP 实验课程设计实验报告姓名:学号:班级:1.课程设计题目:基于 MATLAB 的有噪声的语音信号处理的课程设计。2.课程设计的目的:综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,再利用MATLAB 做为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。3.课程设计的要求:(1) 熟悉离散信号和系统的时域特性。(2) 掌握序列快速傅里叶变换FFT方法。(3) 学会 MATLAB 的使用,掌握MATLAB 的程序设计方法。(4) 利用 MATLAB 对语音信号进行频谱分析。(5) 掌握 MATLAB 设计各种数字滤波
2、器的方法和对信号进行滤波的方法。4.课程设计的内容:录制一段语音信号,对语音信号进行频谱分析,利用MATLAB 中的随机函数产生噪声加入到语音信号中,使语音信号被污染,然后进行频谱分析,设计FIR 和 IIR 数字滤波器,并对噪声污染的语音信号进行滤波,分析滤波后的信号的时域和频域特征,回放语音信号。5.课程设计的步骤:(1)语音信号的获取通过录音软件录制一段语音“数字信号处理”,命名为“ OriSound ” ,时长大约1 到 2秒,在 MATLAB 中,通过使用wavread 函数,对语音进行采样: y,fs,nbits=wavread(OriSound); %语音信号的采集采样值放在向量
3、y 中,采样频率为fs ,采样位数为nbits 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - DSP 实验课程设计实验报告(2)语音信号的频谱分析画出语音信号的时域波形,然后对语音信号进行频谱分析,在 MATLAB 中,通过使用fft函数对信号进行快速傅里叶变换,得到信号的频谱特性。因此采集语音并绘出波形和频谱的模块程序如下:y,fs,nbits=wavread(OriSound); %语音信号的采集sound(y,fs,
4、nbits); %语音信号的播放n=length(y) ; %计算语音信号的长度Y=fft(y,n); %快速傅里叶变换figure; subplot(2,1,1); %绘出时域波形plot(y); title(原始信号波形 ,fontweight,bold); axis( 00000 80000 -1 1); %通过尝试确定合适的坐标参数grid; subplot(2,1,2); %绘出频域频谱plot(abs(Y); title(原始信号频谱 ,fontweight,bold); axis( 0 150000 0 4000); %通过尝试确定合适的坐标参数grid; 结果如下:名师资料总结
5、 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - DSP 实验课程设计实验报告可以看到,语音信号的频率集中在低频部分。(3)产生噪声信号在 MATLAB 中,通过使用randn 函数产生随机噪声信号,并加到语音信号中得到被污染的语音信号,回放语音信号。产生随机噪声:Noise=0.2*randn(n,1); 其中用 0.2 倍乘噪声用来适当削减噪声的作用,便于对语音信号进行处理并比较效果。(4)污染信号频谱分析对被污染的加噪信号进行时域和频
6、域分析。加噪声并分析信号波形频谱的模块程序及说明如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - DSP 实验课程设计实验报告y,fs,nbits=wavread(OriSound.wav); %语音信号采集sound(y,fs,nbits); %回放语音信号便于比较效果n = length (y) ; %计算语音信号长度Noise=0.2*randn(n,1); %产生随机噪声信号Noise s=y+Noise; %将
7、Noise 添加到原始信号,得到污染信号 s sound(s); %回放污染信号s figure; subplot(2,1,1); %绘制加噪信号时域波形plot(s); title(加噪语音信号的时域波形,fontweight,bold); axis( 00000 80000 -1 1); grid; S=fft(s); %对 s进行快速傅里叶变换得到频谱subplot(2,1,2); %绘制加噪信号频域频谱plot(abs(S); title(加噪语音信号的时域波形,fontweight,bold); axis( 0 150000 0 4000); grid; 结果如下:名师资料总结 -
8、- -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - DSP 实验课程设计实验报告可以看到,随机噪声均匀的分布在整个频谱范围内。(5)设计 FIR 和 IIR 数字滤波器在 MATLAB 中,根据频谱特征设计FIR 和 IIR 滤波器。在 Matlab 中,可以利用函数fir1设计 FIR 滤波器,利用函数butter,cheby1 设计 IIR 滤波器,利用Matlab 中的函数freqz 画出各步滤波器的频率响应。低通滤波器的性能指标:fp=10
9、00Hz ,fc=1200Hz ,As=100db ,Ap=1dB 高通滤波器的性能指标:fp=3500Hz ,fc=4000Hz ,As=100dB ,Ap=1dB ;带通滤波器的性能指标:fp1=1200Hz , fp2=3000hZ , fc1=1000Hz , fc2=3200Hz , As=100dB ,Ap=1dB 在 MATLAB 中,利用N,wc=butter(N,wc,Rp,As,s)设计并计算巴特沃斯模拟滤波器的阶数 N 和 3dB 截止频率 wc;B,A=cheby1(N,Rp,wpo,ftypr)设计切比雪夫I 型滤波器。在课程设计中,共设计了六种滤波器对信号进行滤波:
10、FIR 低通,高通,带通滤波器,IIR 低通,高通,带通滤波器。通过对原始信号和加噪信号的频谱进行观察,原始语音信号频谱集中在低频段,而随机噪声接近均匀的分布在整个频谱范围内,因此推测选用低通滤波器去噪性能要好于高通和带通滤波器。(6)对污染信号进行滤波在 MATLAB 中用 FIR 和 IIR 滤波器对加噪信号进行滤波,其中通过利用函数fftfilt用FIR 滤波器滤波,通过利用函数filter 用 IIR 滤波器滤波。(7)回放语音信号在 MA TLAB 中,通过用sound 函数对语音信号进行回放,用以比较各滤波器的滤波效果。各滤波器设计模块的程序和说明如下:(1)IIR 低通滤波器设计
11、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 19 页 - - - - - - - - - DSP 实验课程设计实验报告y,fs,nbits=wavread(OriSound.wav); %语音信号采集n = length (y) ; %计算语音信号长度Noise=0.2*randn(n,1); %产生随机噪声信号Noise s=y+Noise; %将 Noise 添加到原始信号,得到污染信号 s S=fft(s); %快速傅里叶变换Ft=8000; Fp=1000;
12、Fs=1200; wp=2*pi*Fp/Ft; ws=2*pi*Fs/Ft; n11,wn11=buttord(wp,ws,1,50,s); %低通滤波器的阶数和截止频率b11,a11=butter(n11,wn11,s); %S 域频率响应的参数num11,den11=bilinear(b11,a11,0.5); %利用双线性变换实现频率响应S域到 Z 域的变换z11=filter(num11,den11,s); %滤波sound(z11,fs,nbits); %回放滤波后的信号m11=fft(z11); %滤波后的信号频谱figure; subplot(2,2,1); %绘出滤波前的信号频
13、谱plot(abs(S),g); title(滤波前信号的频谱,fontweight,bold); axis( 0 80000 0 4000); grid; subplot(2,2,2); %绘出滤波后的信号频谱plot(abs(m11),r); title(滤波后信号的频谱,fontweight,bold); axis( 0 80000 0 4000); grid; subplot(2,2,3); %绘出滤波前的信号波形plot(s); title(滤波前信号的波形,fontweight,bold); axis(00000 100000 -1 1); grid; subplot(2,2,4)
14、; %绘出滤波后的信号波形plot(z11); title(滤波后的信号波形,fontweight,bold); axis(00000 100000 -1 1); grid; 结果如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - DSP 实验课程设计实验报告可以看出, 滤波后将非低频部分的噪声频率滤掉,但还有一些高于原始语音信号的频率没有被去除。(2)IIR 高通滤波器设计y,fs,nbits=wavread (OriSo
15、und); %语音信号采集n = length (y) ; %计算语音信号的长度Noise=0.2*randn(n,1); %产生随机噪声s=y+Noise; %语音信号加入噪声得到加噪信号S=fft(s); %快速傅里叶变换Fp1=1200; Fs1=1000; Ft=8000; wp1=tan(pi*Fp1/Ft); ws1=tan(pi*Fs1/Ft); wp=1; ws=wp1*wp/ws1; n13,wn13=cheb1ord(wp,ws,1,50,s); %模拟的低通滤波器阶数和截止频率名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
16、 - - - - 名师精心整理 - - - - - - - 第 7 页,共 19 页 - - - - - - - - - DSP 实验课程设计实验报告b13,a13=cheby1(n13,1,wn13,s); %S 域的频率响应的参数num,den=lp2hp(b13,a13,wn13); %S 域低通参数转为高通的num13,den13=bilinear(num,den,0.5); %利用双线性变换实现频率响应S域到 Z 域转换z13=filter(num13,den13,s); %滤波sound(z13,fs,nbits); %回放滤波后的信号m13=fft(z13); %滤波后的信号频谱
17、figure; subplot(2,2,1); %绘出滤波前的信号频谱plot(abs(S),g); title(滤波前信号的频谱,fontweight,bold); axis(0 80000 0 4000); grid; subplot(2,2,2); %绘出滤波后的信号频谱plot(abs(m13),r); title(滤波后信号的频谱,fontweight,bold); axis(0 80000 0 4000); grid; subplot(2,2,3); %绘出滤波前的信号波形plot(s); title(滤波前信号的波形,fontweight,bold); axis(00000 10
18、0000 -1 1); grid; subplot(2,2,4); %绘出滤波后的信号波形plot(z13); title(滤波后的信号波形,fontweight,bold); axis(00000 100000 -1 1); grid; 结果如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - DSP 实验课程设计实验报告可以看出,滤波后将原始信号绝大部分频谱滤掉,剩下噪声信号,不能采用。(3)IIR 带通滤波器设计y,fs
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年基于MATLAB的有噪声的语音信号处理的课程设计 2022 基于 MATLAB 噪声 语音 信号 处理 课程设计
限制150内