语音信号滤波实验.doc

上传人:桔**** 文档编号:562128857 上传时间:2023-06-21 格式:DOC 页数:8 大小:375.50KB
返回 下载 相关 举报
语音信号滤波实验.doc_第1页
第1页 / 共8页
语音信号滤波实验.doc_第2页
第2页 / 共8页
语音信号滤波实验.doc_第3页
第3页 / 共8页
语音信号滤波实验.doc_第4页
第4页 / 共8页
语音信号滤波实验.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《语音信号滤波实验.doc》由会员分享,可在线阅读,更多相关《语音信号滤波实验.doc(8页珍藏版)》请在金锄头文库上搜索。

1、南昌航空大学实验报告课程名称: _数 字 信 号 处 理_实验名称: _语音信号滤波实验_班 级 : _ 100422_ _ 学 号 : _ 10042203_ 姓 名 : _胡丹_ _成 绩 : _ _一、 实验目的(1) 进行啸叫声消除。(2) 回声消除。二、 实验内容(一)单频噪声作为典型的啸叫声,消除方法有:1. 频域消噪方法(1)对x(n)作FFT分析,得其频谱X(k),画幅频谱|X(k)|或功率谱PSD(k),检测音乐信号和啸叫噪声的频带范围。(2)利用“置0法”,对频谱进行修正,去除噪声频段。(3)将修正后的频谱X1(k)经IFFT重构原音乐信号并播放。2.FIR、IIR滤波器滤

2、波法(1)同1(1)(2)根据信号和噪声所在频段的特点选用适当类型和参数的选频型滤波器(FIR/IIR滤波器均可)对含噪信号x(n)进行滤波,保留信号,去除噪声。注:技术指标中,Rp=1dB,As=30dB。(二)回声消除x(n)为原始数字语音序列,则含有回声的信号可表示为:y(n)=x(n)+ax(n-d),(d延迟时间;a-衰减因子,0a1)回声消除典型方法有同态滤波法,同态滤波基于倒谱分析。三、 实验原理倒谱(时谱)分析 时谱分析(Cepstrumanalysis)是一种非线性信号处理技术,它在语言、图像、和噪声处理领域中都有广泛的应用。时谱可分为两类:复时谱和功率时谱。MATLAB信号

3、处理工具箱提供复时谱分析的工具函数。复时谱(Complexcepstrum)的定义为: 由上式可见,复时谱实际上是序列x(n)的Fourier变换取自然对数,再取Fourier逆变换,得到的复时谱仍然是一个序列。也就是说,复时谱是x(n)从时间域至频率域、频率域至频率域、频率域至时间域的三次变换。 MATLAB信号处理工具箱函数cceps用于估计一个序列x的复时谱,调用格式为:xhat=cceps(x)式中,x为输入序列(实序列);xhat为复时谱(复序列)。 MATLAB信号处理工具箱还提供了序列实时(倒)谱的计算程序rceps,调用格式为Y=rceps(x),其中x为实序列;y为实时谱,执

4、行的操作为:-由此可知,我们不能从序列x的实时谱重构原始序列,因为实时谱是根据序列Fourier变换的幅值计算的,丢失了相位方面的信息。但如果需要,可采用最小相位模式估计原始序列。 由于复时谱从复频谱计算得到,不损失相位信息,因此复时谱是可逆的,实时谱过程是不可逆的。时谱分析技术广泛地应用于语言信号分析、同态滤波技术中。这里举一个说明复时谱在具有回声信号测量中的应用。四、实验代码(1)啸叫声消除代码:clc clear allclose all x,Fs,Nbits=wavread(newout.wav); t=0:1/Fs:(size(x)-1)/Fs;A = max(x);c1=0.1*A

5、*sin(2*pi*1500*t); x1=x+c1; sound(x1,Fs); y=fft(x,Fs);y1=fft(x1,Fs);figure(1);f=0:Fs-1;plot(f,abs(y);figure(2);plot(f,abs(y1); f0=2*pi*1500/Fs; fc=2*pi*100/Fs;wp=(f0-0.5*fc)/pi (f0+0.5*fc)/pi;ws=(f0-fc)/pi (f0+fc)/pi;rp=1;rs=30;N,wc=buttord(wp,ws,rp,rs);b,a=butter(N,wc,stop);h,w=freqz(b,a,Fs);x2=fil

6、ter(b,a,x1); figure(3);plot(w/pi,abs(h); y2=fft(x2,Fs);figure(4);plot(f,abs(y2);sound(x2,Fs);figure(6);plot(t,abs(x1);figure(7);stem(t,abs(x2);wavwrite(x1,Fs,Nbits,newout.wav);其实验结果如下: 原始带噪声信号频谱 带阻滤波器的幅频特性曲线 滤波后的信号频谱通过实验可知,原来带啸叫声的信号经滤波器后,啸叫声被消除,达到实验目的。(3) 回声消除代码:t=0:0.01:1.49; sig=0.9.(100*t); echo1

7、=0.5*zeros(1,20),sig(1:length(t)-20); echo2=0.3*zeros(1,70),sig(1:length(t)-70); sigecho=sig+echo1 sound(sigecho,100); c,nd,c1 =cceps(sigecho); subplot(4,1,1),plot(t,sigecho); xlabel(时间/s);axis(0 1.5 -1 1);grid on;title(时间域信号) subplot(4,1,2),plot(t,c); xlabel(时间/s);axis(0 1.5 -1 1);grid on;title(倒谱域

8、信号)cnew = c;cnew(18:22)=zeros(1,5);cnew(38:42)=zeros(1,5);cnew(58:62)=zeros(1,5);yy = icceps(cnew,nd); subplot(4,1,3),plot(t,yy); xlabel(时间/s);axis(0 1.5 -1 1);grid on;title(倒谱域信号) 通过同态滤波和倒谱分析法,均可把信号里的回声消除,达到实验目的。五、 实验总结本次实验中,在老师的指导下,我学会运用数字信号处理的相关知识来解决相关的问题,通过这个过程,我对语音信号的滤波处理有了一定的了解,也对数字信号处理的应用更加了解.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号