数字信号处理_第1页
数字信号处理_第2页
数字信号处理_第3页
数字信号处理_第4页
数字信号处理_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数字信号处理课程设计课题名称:基于matlab的语音信号滤波处理专 业: 电子信息工程 班 级:B13073011 学 号:132207100113 姓 名: 宋定国 指导教师: 任先平 目录一、设计内容及设计指标11.设计内容11.1首先录制好一段自己的语音。11.2用Matlab分别设计好3种类型的滤波器(指标自己确定):低通型、高通型、带通型。11.3用Matlab将语音信号进行采样,并分别将其通过所设计的3种滤波器。11.4用Matlab自带的语音返回函数收听滤波后的语音信号,分析并比较其与原语音信号的差异12.设计指标12.1低通滤波器设计指标:截止频率4000,阻带衰减20dB,过

2、渡带宽0.112.2高通滤波器设计指标:截止频率4000,阻带衰减40dB,过渡带宽0.112.3带通滤波器设计指标:下截止频率4000,上截止频率8000,阻带衰减20dB,过渡带宽度0.11二、设计原理1三、设计过程21.实验程序源代码21.1低通滤波器21.2高通滤波器21.3带通滤波器31.4语音的信号回放(分别执行)42.调试结果描述4四、整理总结91.遇到的问题92.结果分析10五、体验与收获11摘要:语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对

3、其的研究更显得尤为重要。Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。这为我们的本次设计提供了强大并良好的环境!本设计要求自己录制一段自己的语音后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图。再在Matlab中分别设计不同形式的FIR数字滤波器。之后对采集的语音信号经过不同的滤波器(低通、高通、带通)后,观察不同的波形,并进行时域和频谱的分析。对比处理前后的时域图和频谱图,分析各种滤波器对于语音信号的影响。最后分别收听进行滤波后的语音信号效果,做到了解在怎么样的情况

4、下该用怎么样的滤波器。一、 设计内容及设计指标1.设计内容1.1首先录制好一段自己的语音。  1.2用Matlab分别设计好3种类型的滤波器(指标自己确定):低通型、高通型、带通型。  1.3用Matlab将语音信号进行采样,并分别将其通过所设计的3种滤波器。 1.4用Matlab自带的语音返回函数收听滤波后的语音信号,分析并比较其与原语音信号的差异2.设计指标2.1低通滤波器设计指标:截止频率4000,阻带衰减20dB,过渡带宽0.12.2高通滤波器设计指标:截止频率4000,阻带衰减40dB,过渡带宽0.12.3带通滤波器设计指标:下截止频率4000,上截止频

5、率8000,阻带衰减20dB,过渡带宽度0.1二、 设计原理语音信号时一种非平稳的时变信号,它带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中含的各种信息。语音信号分析的目的就在于方便有效的提取并表示语音信号所携带的信息。语音信号处理可以分为时域和变换域等处理方法,其中时域分析是最简单的方法,直接对语音信号的时域波形进行分析,崎岖的特征参数主要有语音的短时能量,短时平均过零率,短时自相关函数等。三、 设计过程1.实验程序源代码1.1低通滤波器x1,fs,bits=wavread('C:Users安阳光Desktop数字实验');%soun

6、d(x1,fs,bits);figure(1);plot(x1);%做原始语音信号的时域图形 title('原始语音信号'); xlabel('时间 t');ylabel('音量 n');figure(2);y1=fft(x1);%做length(x1)点的FFTy1=fftshift(y1);%平移,是频率中心为0 derta_fs = fs/length(x1);%设置频谱的间隔,分辨率 plot(-fs/2:derta_fs: fs/2-derta_fs,abs(y1);%画出原始语音信号的频谱图 title('原始语音信号的频谱&

7、#39;); grid on;1.2高通滤波器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); figure(3); freqz(b1,1,512); title('低通滤波器的频率响应'); x1_low = filter(b1,1,x1);%对信号进行低通滤波 figure(4); plot(x1_low); title('信号经过低通滤

8、波器(时域)'); figure(5); plot(-fs/2:derta_fs:fs/2-derta_fs,abs(fftshift(fft(x1_low); title('信号经过低通滤波器(频域)');1.3带通滤波器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

9、); b3=fir1(N3,w/pi,'stop',Window);%带通滤波器 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(

10、'信号经过带通滤波器(频域)');1.4语音的信号回放(分别执行)sound(x1,fs,bits);%原始信号 sound(x1_low,fs,bits);%经过低通滤 sound(x1_high,fs,bits); %经过高通滤波 sound(x1_daitong,fs,bits);%经过带通滤波2.调试结果描述原始语音信号的时域图像:原始语音信号频谱:低通滤波器的频率响应:信号经过低通滤波后的时域波形:信号经过高通滤波后的频域波形:高通滤波器的频率响应:信号经过高通滤波后的时域波形:信号经过高通滤波后的频域波形:带通滤波器的频率响应:信号经过带通滤波后的时域波形:信号经过

11、带通滤波后的频域波形:四、 整理总结1. 遇到的问题在高通与带通滤波器的设计时老是报错,但同样的用法在低通滤波器中就可以实现  b2=fir1(N2,wc2/pi,'high',Window); ? Error using => fir1  The window length must be the same as the filter length. 其要求在fir函数中所选用的窗长要和滤波器

12、长度一致。但在参考书上指出,滤波器阶数必须为窗长加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   改为了:  N2=N2+mod(N2,2);   和:   B=0.1*pi;(B为过渡带宽) N3=ceil(2*0.9*pi/B); N3=N3+mod(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论