



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文基于听觉特性的小波包语音增强算法Matlab实现程序如下:说明:1.“D:EXPERI”为实验中纯净语音素材和生成的带噪语音以及增强后的语音在PC中的存放路径。2.可以通过改变SNR的具体值根据需要将生成的带噪语音信号的信噪比设为任意合理值。3.实验中我们将Matlab的wthresh.m文件中的库函数wthresh(x,sorh,t)就行了修改,sorh增加了一种类型n,该类型代表论文中提出的新的阈值函数类型。a)生成混杂白噪声的带噪语音部分%读入纯净语音并显示x=wavread(D:EXPERIclean.wav);subplot(3,1,1);plot(x);axis(0 55521-0.5 0.5);x1=length(x);%给定信噪比SNR=5;%利用信噪比和语音能量求得要添加的白噪声clean_energy=sum(x.*x);addnoise_energy=clean_energy*(10-(SNR/10);noise=normrnd(0,1,x1,1);noise_energy=sum(noise.*noise);q=addnoise_energy/noise_energy;noise_new=sqrt(q)*noise;%在纯净语音中加入白噪声y=x+noise_new;%将数据写入语音文件并显示wavwrite(y,8000,D:EXPERIWN_clean.wav);subplot(3,1,2);plot(y);axis(0 55521-0.5 0.5);b)基于听觉特性的小波包语音增强算法实现部分%Bark小波包分解x=wavread(D:EXPERIWN_clean.wav);wptree=wpdec(x,7,db5);%把Bark小波分解包中的第五层的叶结点合并for k=47:62wptree=wpjoin(wptree,k);end%把Bark小波分解包中的第六层的叶结点合并for k=79:86wptree=wpjoin(wptree,k);endfor k=91:94wptree=wpjoin(wptree,k);end%plot(wptree);%将各节点按相应阈值进行处理sorh=n;%所选阈值函数%-%处理7层节点%-for i=0:31c70(:,i+1)=wpcoef(wptree,7 i);q70=median(abs(c70(:,i+1);arr70(i+1)=(q70/0.6745).*sqrt(2*log(442);if(i0)c70(:,i+1)=wthresh(c70(:,i+1),sorh,arr70(i+1);wptree=write(wptree,data,7 i,c70(:,i+1);%修改节点系数值endendfor i=48:55c71(:,i-47)=wpcoef(wptree,7 i);q71=median(abs(c71(:,i-47);arr71(i-47)=(q71/0.6745).*sqrt(2*log(442);c71(:,i-47)=wthresh(c71(:,i-47),sorh,arr71(i-47);wptree=write(wptree,data,7 i,c71(:,i-47);%修改节点系数值end%-%处理6层节点%-for j=16:23c60(:,j-15)=wpcoef(wptree,6 j);q60=median(abs(c60(:,j-15);arr60(j-15)=(q60/0.6745).*sqrt(2*log(876);c60(:,j-15)=wthresh(c60(:,j-15),sorh,arr60(j-15);wptree=write(wptree,data,6 j,c60(:,j-15);%修改节点系数值endfor j=28:31c61(:,j-27)=wpcoef(wptree,6 j);q61=median(abs(c61(:,j-27);arr61(j-27)=(q61/0.6745).*sqrt(2*log(876);c61(:,j-27)=wthresh(c61(:,j-27),sorh,arr61(j-27);wptree=write(wptree,data,6 j,c61(:,j-27);%修改节点系数值end%-%处理5层节点%-for k=16:31c5(:,k-15)=wpcoef(wptree,5 k);q5=median(abs(c5(:,k-15);arr5(k-15)=(q5/0.6745).*sqrt(2*log(1743);c5(:,k-15)=wthresh(c5(:,k-15),sorh,arr5(k-15);wptree=write(wptree,data,5 k,c5(:,k-15);%修改节点系数值end%重建信号y=wprec(wptree);subplot(3,1,3);plot(y);axis(0 55521-0.5 0.5);wavwrite(y,8000,D:EXPERIWtDeSpeech.wav);c)修改后的wthresh.m文件function y=wthresh(x,sorh,t)%WTHRESH Perform soft、hard and new thresholding.switch sorhcasestmp=(abs(x)-t);tmp=(tmp+abs(tmp)/2;y=sign(x).*tmp;casehy=x.*(abs(x)t);casentmp=(sign(x).*(t/(exp(4.*t)-exp(2.*t).*(exp(4.*abs(x)-exp(2.*t);y=tmp.*(abs(x)(t/2)&(abs(x)t);otherwiseerror(Invalid argument value.)MATLAB的Wavelet Toolbox中有着丰富的有关小波包的m文件。但是,随着MATLAB版本的变化,这些m文件也不断的变化(包括名称和调用格式)。在MATLAB6.5中,有关小波包的m文件共有16个,大体可以分为三部分,其名称和功能分别是:1.用于小波包分解的m文件wpdec一维小波包分解,返回小波包分解wpdec2二维小波包分解,返回对应数据阵的分解树wpsplt对小波包分解树的某个节点再分解,返回新的分解树wpcoef提取分解树中某一个节点处的小波包系数wpfun对给定的小波名字wname,生成相应的小波包wp2wtree从小波包分解树中提取小波树wenergy分别计算小波包分解后概貌和细节的能量百分比2.用于小波包重构的m文件wprcoef小波包系数重构,即计算小波包分解树某一节点处的重构系数wprec一维小波包重构,即返回对应小波包分解树的重建向量wprec2二维小波包重构3.用于小波包分解结构操作的m文件wpcutree剪切小波包分解树wpjoin重新组合小波包bestlevt计算完整的最佳小波包树besttree计算最佳的小波包分解树wentropy计算小波包的熵entrupd更新小波包的熵值本论文的工作是在我的导师郭继昌教授的指导下完成的。在我课题研究期间,郭老师在学术方面给予我悉心的指导,从而使得课题的研究可以顺利完成。郭老师渊博的学识、严谨的治学态度和高度的敬业精神都使我受益匪浅。在此我还要衷心地感谢郭老师这两年半在生活上对我的关怀和帮助。课题进行期间,实验室的董健博士、陈敏俊硕士、赖焰根硕士等同学都给予了很大的帮助和支持。尤其要感谢的是董健博士,董师兄在课题研究期间的指导和建议是课题顺利完成的重要保障。我还要感谢在华为3com实习期间的领导和同事,项目经理汪勇
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 键销滚动轴承课件
- 锦鲤生物知识培训课件
- 2025汽车交易合同
- 中山市澳多电子科技有限公司审计报告
- 焦作万方:拟购买资产最近三年及一期审计报告
- 2025建筑工程材料采购合同
- 书籍装帧期末试卷及答案
- 脊柱骨折脊髓损伤课件
- 深度解读:2025年智慧物流运输智能化升级下的智能包装报告
- 电信工程预结算方案模板(3篇)
- 质性数据分析方法与分析工具简介课件
- 应急管理专题讲座(二)
- 质量分析工具-5W1H分析法课件
- QES三体系内审检查表 含审核记录
- 公共政策分析陈庆云
- 螺杆式冷水机组招标技术要求
- 小区道路维修施工方案(全面完整版)
- 心包积液以及心包填塞
- 商业银行内部审计技术与方法
- 机电传动控制-电力电子技术1
- 化粪池土方开挖施工方案
评论
0/150
提交评论