语音信号滤波实验.pdfVIP

语音信号滤波实验.pdf

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

南昌航空大学实验报告

课程名称:___数字信号处理__

实验名称:___语音信号滤波实验___

班级:____100422____

学号:____

姓名:___胡丹_____

成绩:______________

一、实验目的

(1)进行啸叫声消除。

(2)回声消除。

二、实验内容

(一)单频噪声作为典型的啸叫声,消除方法有:

1.频域消噪方法

(1)对x(n)作FFT分析,得其频谱X(k),画幅频谱|X(k)|[或功率谱PSD(k)],检测

音乐信号和啸叫噪声的频带范围。

(2)利用“置0法”,对频谱进行修正,去除噪声频段。

(3)将修正后的频谱X1(k)经IFFT重构原音乐信号并播放。

2.FIR、IIR滤波器滤波法

(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信号处理工具箱提供复时谱分

析的工具函数。

复时谱(Complexcepstrum)的定义为:

由上式可见,复时谱实际上是序列x(n)的Fourier变换取自然对数,再取Fourier

逆变换,得到的复时谱仍然是一个序列。也就是说,复时谱是x(n)从时间域至频

率域、频率域至频率域、频率域至时间域的三次变换。

MATLAB信号处理工具箱函数cceps用于估计一个序列x的复时谱,调用格式为:

xhat=cceps(x)

式中,x为输入序列(实序列);xhat为复时谱(复序列)。

MATLAB信号处理工具箱还提供了序列实时(倒)谱的计算程序rceps,调用格

式为

Y=rceps(x),

其中x为实序列;y为实时谱,执行的操作为:

由此可知,我们不能从序列x的实时谱重构原始序列,因为实时谱是根据序列

Fourier变换的幅值计算的,丢失了相位方面的信息。但如果需要,可采用最小

相位模式估计原始序列。

由于复时谱从复频谱计算得到,不损失相位信息,因此复时谱是可逆的,实时谱

过程是不可逆的。时谱分析技术广泛地应用于语言信号分析、同态滤波技术中。

这里举一个说明复时谱在具有回声信号测量中的应用。

四、实验代码

(1)啸叫声消除代码:

clc

clearall

closeall

[x,Fs,Nbits]=wavread(newout.wav);

t=0:1/Fs:(size(x)-1)/Fs;

A=max(x);

c1=0.1*A*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

文档评论(0)

153****9248 + 关注
实名认证
文档贡献者

专注于中小学教案的个性定制:修改,审批等。本人已有6年教写相关工作经验,具有基本的教案定制,修改,审批等能力。可承接教案,读后感,检讨书,工作计划书等多方面的工作。欢迎大家咨询^

1亿VIP精品文档

相关文档