欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    基于matlab的语音信号滤波处理数字信号处理课程设计.docx

    • 资源ID:3385091       资源大小:40.60KB        全文页数:10页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于matlab的语音信号滤波处理数字信号处理课程设计.docx

    基于matlab的语音信号滤波处理数字信号处理课程设计数字信号处理课程设计 题目: 学院: 专业: 班级: 学号: 姓名: 指导教师: 基于matlab的语音信号滤波处理 物理与电子信息学院电子信息工程 摘要: 语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。 Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。这为我们的本次设计提供了强大并良好的环境! 本设计要求自己录制一段自己的语音后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图。再在Matlab中分别设计不同形式的FIR数字滤波器。之后对采集的语音信号经过不同的滤波器后,观察不同的波形,并进行时域和频谱的分析。对比处理前后的时域图和频谱图,分析各种滤波器对于语音信号的影响。最后分别收听进行滤波后的语音信号效果,做到了解在怎么样的情况下该用怎么样的滤波器。 2 目录 1.设计内容4 2.设计原理4 2.1语音信号的时域分析4 2.2语音信号的频域分析5 3.设计过程5 3.1实验程序源代码6 3.1.1原语音信号时域、频域图6 3.1.2低通滤波器的设计6 3.1.3高通滤波器的设计7 3.1.4带通滤波器的设计8 3.1.5语音信号的回放9 3.2调试结果描述10 3.3所遇问题及结果分析15 3.3.1所遇主要问题16 3.3.2结果分析16 4.体会与收获17 5.参考文献17 3 1.设计内容: 1首先录制好一段自己的语音。 2用Matlab分别设计好3种类型的滤波器:低通型、高通型、带通型。 3用Matlab将语音信号进行采样,并分别将其通过所设计的3种滤波器。 4用Matlab自带的语音返回函数收听滤波后的语音信号,分析并比较其与原语音信号的差异。 2.设计原理: 语音信号时一种非平稳的时变信号,它带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在于方便有效的提取并表示语音信号所携带的信息。语音信号处理可以分为时域和变换域等处理方法,其中时域分析是最简单的方法,直接对语音信号的时域波形进行分析,崎岖的特征参数主要有语音的短时能量,短时平均过零率,短时自相关函数等。 2.1语音信号的时域分析 信号提取:通过图形用户界面上的菜单功能按键采集电脑上的一段音频信号,完成音频信号的频率,幅度等信息的提取,并得到该语音信号的波形图。 信号调整:在设计的用户图形界面下对输入的音频信号进行各种变化,如变化幅度、改变频率等操作,以实现对语音信号的调整。 4 2.2语音信号的频域分析 信号的傅里叶表示在信号的分析和处理中起着重要的作用。因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅里叶分析方法能完善地解决许多信号分析和处理问题。另外,傅里叶表示使信号的某些特性变得更明显,因此,它能更深入地说明信号的各项红物理现象。 由于语音信号时随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。输出频谱是声道系统频率响应与激励源频谱的乘积。身份到系统的频率响应及激励源都是随时间变化的,因此一般标准的傅里叶表示虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。 1.信号变换:在用户图形界面西啊对采集的语音信号进行Fourier等变换,并画出变换前后的频谱图和倒谱图。 2.信号滤波:滤除语音信号中的噪音部分,可以采用抵用滤波、高通滤波、带通滤波,并比较各种滤波后的效果。 3设计过程: 3.1实验程序源代码: 3.1.1原语音信号的时域、频域图 x1,fs,bits=wavread('e:txwz.wav'); %sound(x1,fs,bits); figure(1); 5 plot(x1);%做原始语音信号的时域图形 title('原始语音信号'); xlabel('时间 t'); ylabel('音量 n'); figure(2); y1=fft(x1);%做length(x1)点的FFT y1=fftshift(y1); %平移,是频率中心为0 derta_fs = fs/length(x1); %设置频谱的间隔,分辨率 plot(-fs/2:derta_fs: fs/2-derta_fs,abs(y1);%画出原始语音信号的频谱图 title('原始语音信号的频谱'); grid on; 3.1.2低通滤波器的设计 %低通滤波:截止频率4000,阻带衰减20dB,过渡带宽0.1 fc1=4000; N1=2*pi*0.9/(0.1*pi) wc1=2*pi*fc1/fs; if rem(N1,2)=0 N1=N1+1; end Window= boxcar (N1+1); %长度为N1的矩形窗Window b1=fir1(N1,wc1/pi,Window); 6 figure(3); freqz(b1,1,512); title('低通滤波器的频率响应'); x1_low = filter(b1,1,x1);%对信号进行低通滤波 figure(4); plot(x1_low); title('信号经过低通滤波器(时域)'); figure(5); plot(-fs/2:derta_fs:fs/2-derta_fs,abs(fftshift(fft(x1_low); title('信号经过低通滤波器'); 3.1.3高通滤波器的设计 %高通滤波:截止频率4000,阻带衰减40dB,过渡带宽0.1 fc2=4000; N2=2*pi*3.1/(0.1*pi) wc2=2*pi*fc1/fs; N2=N2+mod(N2,2); Window=hanning(N2+1); b2=fir1(N2,wc2/pi,'high',Window); figure(6); freqz(b2,1,512);%数字滤波器频率响应 title('高通滤波器的频率响应'); 7 x1_high = filter(b2,1,x1);%对信号进行高通滤波 figure(7); plot(x1_high); title('信号经过高通滤波器(时域)'); figure(8); plot(-fs/2:derta_fs:fs/2-derta_fs,abs(fftshift(fft(x1_high); title('信号经过高通滤波器') 3.1.4带通滤波器的设计 %带通滤波:下截止频率4000,上截止频率8000,阻带衰减20dB,过渡带宽度0.1 f1=4000;f2=8000; %带通滤波器的通带范围 w1=2*pi*f1/fs; w3=w1+0.1*pi; w2=2*pi*f2/fs; w4=w2-0.1*pi; w=(w1+w3)/2,(w2+w4)/2; B=0.1*pi; N3=ceil(2*0.9*pi/B); N3=N3+mod(N3,2); Window=boxcar(N3+1); b3=fir1(N3,w/pi,'stop',Window);%带通滤波器 8 figure(9); freqz(b3,1,512);%数字滤波器频率响应 title('带通滤波器的频率响应'); x1_daitong = filter(b3,1,x1);%对信号进行带通滤波 figure(10); plot(x1_daitong); title('信号经过带通滤波器(时域)'); figure(11); plot(-fs/2:derta_fs:fs/2-derta_fs,abs(fftshift(fft(x1_daitong); title('信号经过带通滤波器'); 3.1.5语音信号的回放 sound(x1,fs,bits);%原始信号 sound(x1_low,fs,bits);%经过低通滤 sound(x1_high,fs,bits); %经过高通滤波 sound(x1_daitong,fs,bits);%经过带通滤波 3.2调试结果描述 9 原始语音信号的时域图形: 原始语音信号频谱: 10 低通滤波器的频率响应: 信号经过低通滤波后的时域波形:11 信号经过低通滤波后的频域波形 高通滤波器的频率响应: 12 信号经过高通滤波后的时域波形: 13 信号经过高通滤波后的频域波形: 带通滤波器的频率响应:14 信号经过带通滤波后的时域波形: 信号经过带通滤波后的频域波形:3.3所遇问题及结果分析 15 3.3.1所遇主要问题 1在高通与带通滤波器的设计时老是报错,但同样的用法在低通滤波器中就可以实现 b2=fir1(N2,wc2/pi,'high',Window); ? Error using => fir1 The window length must be the same as the filter length. 其要求在fir函数中所选用的窗长要和滤波器长度一致。但在参考书上指出,滤波器阶数必须为窗长加1。经上网查询后,原来高通、带阻滤波器的阶数应该控制为奇数,因为如果阶数为偶数,则在点必有一零点,这对于高通带阻来说是不允许的,故取阶数为奇数,而你FIR1滤波器阶数为M+1阶,所以你的M必须为偶数,所以可以将程序中去窗长算法由原程序的: N2=2*pi*0.9/(0.1*pi); if rem(N2,2)=0 N2=N2+1; End 和: N3=2*pi*0.9/(0.1*pi); if rem(N3,2)=0 N3=N3+1; End 改为了: 16 N2=N2+mod(N2,2); 和: B=0.1*pi; N3=ceil(2*0.9*pi/B); N3=N3+mod(N3,2); 2.在设计高通滤波器时先是使用的矩形窗,用矩形窗验证出来的结果中低频语音分量依旧很强,不能将其全部抑制在0,之后换窗,选着了最小衰减可以到达53dB的海明窗,再次试验,非常成功! 3.3.2结果分析 经过回放三个不同类型滤波器输出的语音信号,并与原语音信号对比得到了如下结论。 语音高频成分音质非常尖锐,齿音中,声音有些暗淡。 语音低频成分音质沉稳,空间感觉强,语音浑厚。 语音中频成分音质有力度,有通透感。 4体会与收获 以往都是通过课本来感性的认知语音信号,通过本次的课程设计,让我对语音信号有了一个较为实际的认识。于此同时,让我再次把数字信号处理及数字滤波器的设计方法重新进行了复习和学习。而对于Matlab,也再次让我感受到了其功能的强大。最为重要的是,本次课 17 程设计让我重新审视了学习的过程:只去做实验是不行的,首先还是要思考,遇到了问题查书籍,百度搜索也只是一种手段,更加重要的是想,再理解,只有这样才能真正的做好实验。5.参考文献 数字信号处理钱同惠、百度文库 18

    注意事项

    本文(基于matlab的语音信号滤波处理数字信号处理课程设计.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开