滤波器语音信号去噪要点_第1页
滤波器语音信号去噪要点_第2页
滤波器语音信号去噪要点_第3页
滤波器语音信号去噪要点_第4页
滤波器语音信号去噪要点_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、实践教学计算机与通信学院2013 年春季学期信号处理课程设计题 目 : 基于MATLAB的 FIR 滤波器语音信号去噪专业班级:通信工程(1)班姓 名 :王兴栋学 号 :10250114指导教师:陈海燕成绩: FFT的 MATLAB实现:在 MATLAB的信号处理工具箱中函数FFT和 IFFT用于快速傅立叶变换和逆变换。下面介绍这些函数。函数FFT用于序列快速傅立叶变换。函数的一种调用格式为y=fft(x)其中, x是序列, y是序列的FFT, x 可以为一向量或矩阵,若x 为一向量,y是x 的 FFT。 且和 x 相同长度。若 x 为一矩阵,则 y 是对矩阵的每一列向量进行FFT。如果 x

2、长度是 2 的幂次方,函数fft 执行高速基2FFT算法;否则fft 执行一种混合基的离散傅立叶变换算法,计算速度较慢。函数FFT的另一种调用格式为y=fft(x,N)式中,x, y 意义同前,N为正整数。函数执行N点的FFT。若x为向量且长度小于N,则函数将x 补零至长度N。若向量x 的长度大于N,则函数截短x 使之长度为N。若x 为矩阵,按相同方法对x 进行处理。经函数 fft 求得的序列y 一般是复序列,通常要求其幅值和相位。MATLAB提供求复数的幅值和相位函数:abs, angle,这些函数一般和FFT同时使用。函数 abs(x) 用于计算复向量x 的幅值,函数angle(x) 用于

3、计算复向量的相角,介于 和 之间,以弧度表示。函数unwrap(p) 用于展开弧度相位角p , 当相位角绝对变化超过时,函数把它扩展至。用 MATLAB工具箱函数fft 进行频谱分析时需注意:( 1)函数fft 返回值 y 的数据结构对称性一般而言,对于N 点的x(n) 序列的FFT是 N点的复数序列,其点n=N/2+1对应 Nyquist 频率,作频谱分析时仅取序列X(k) 的前一半,即前N/2 点即可。X(k) 的后一半序列和前一半序列时对称的。( 2)频率计算若 N点序列 x( n)(n=0,1,N-1) 是在采样频率下获得的。它的FFT也是N点序列,即X(k)(k=0,1,2,N-1)

4、 ,则第 k点所对应实际频率值为f=k*f /N.( 3)作FFT分析时,幅值大小与FFT选择点数有关,但不影响分析结果。以下为语音信号的时域图和频谱图:图 2 原始信号时域频谱3、原始信号采样及加噪( 1)原始信号采样用傅里叶变换到频域:y_p=fft(y,n); 通过函数f=fs*(0:n/2-1)/n; 计算出对应点的频率,然后绘制出对原始语音信号采样的时域波形和频谱图。源程序见附录(3)。图形如下:图 3 原始语音信号采样后时域波形和频谱图( 2)信号加噪matlab 函数 randn:产生正态分布的随机数或矩阵的函数产生均值为0,方差 2 = 1 ,标准差 = 1 的正态分布的随机数

5、或矩阵的函数。用法:Y = randn(n)返回一个n*n 的随机项的矩阵。如果n 不是个数量,将返回错误信息。Y = randn(m,n) 或 Y = randn(m n)返回一个m*n的随机项矩阵。Y = randn(m,n,p,.)或 Y = randn(m n p.)产生随机数组。Y = randn(size(A)A有同样维数大小的随机数组。 randn下面一段程序实现了利用randn 函数把一段随机噪音信号加入原始语音信号6语句 L=length(y) noise=0.1*randn(L,2) y_z=y+noise;sound(y_z,fs) 加噪语音信号时域波形和频谱图如下图所示

6、:图 4 加噪语音信号时域波形和频谱图通过对两张图片的对比,很明显可以看加噪后的语音信号时域波形比原始语在时间轴上可以明显看出0 0.5S 的幅值增大了;通过对原5000Hz以后的频率幅值发生了明显的增加。再通过对原始语音信号的回放效果与加噪后的语音信号回放的效果的对比, 人耳可以明显辨别出两种语音信号不一样了,加噪后的语音信号在听觉上比原始语音信号要浑浊很多,而且还有吱吱嘎嘎的混杂音。FIR 滤波器去噪及仿真通过对上一节中加噪语音信号和原始语音信号频谱图对比可以知道,噪音大部分是Hz大于 5000的部分, 故设计低通滤波器进行滤波处理。然后用设计的FIR 低通滤波器对上一节中加噪语音信号进行

7、滤波处理。用 FIR 数字低通滤波器对加噪的语音信号进行滤波时,在Matlab 中, FIR滤波器利用函数fftfilt 对信号进行滤波。函数 fftfilt 用的是重叠相加法实现线性卷积的计算。调用格式为:y=fftfilter(h,x,M) 。其中, h 是系统单位冲击响应向量;x 是输入序列向量;y 是系统的输出序列向量;M是有用户选择的输入序列的分段长度,缺省时,默认的输入向量的重长度M=512。FIR数字低通滤波器对加噪语音信号的源程序见附录(4) 。FIR 数字低通滤波器对加噪语音信号的滤波结果图如下:5 FIR 滤波前和滤波后波形及频谱分析: 从以上四图可以很明显和直观的看出原始

8、语音信号和加噪语音信号时域波形和频谱图的区别。加噪后的语音信号的时域波形比原始语音信号要模糊得多,频谱图则是在频率5000Hz以后出现了明显的变化。再通过滤波前的信号波形和频谱图的对比,可以明显看出滤波后的波形开始变得清晰了,有点接近原始信号的波形图了。滤波后信号的频谱图也在5000Hz以后开始逐渐接近原始语音信号的频谱图。再从对语音信号的回放,人耳可以明显辨别出加噪后的语音信号比较浑浊,还有很明显嘎吱嘎吱的杂音在里面。滤波后, 语音信号较加噪后的信号有了明显的改善, 基本可以听清楚了,而且杂音也没有那么强烈,但是声音依然没有原始语音信号那么清晰脆耳。三、总语音信号处理是语音学与数字信号处理技

9、术相结合的交叉学科,课程设计在这里不讨论语音学,而是将语音当做一种特殊的信号,即一种“复杂向量”来看待。也就是说,课程设计更多的还是体现了数字信号处理技术。从课题的中心来看,课程设计“基于MATLAB的 FIR 滤波器语音信号去噪”是希望将数字信号处理技术应用于某一实际领域,这里就是指对语音及加噪处理。 作为存储于计算机中的语音信号,其本身就是离散化了的向量,只需将这些离散的量提取出来,就可以对其进行处理了。这一过程的实现,用到了处理数字信号的强有力工具MATLA。通过BMATLAB里几个命令函数的调用,很轻易的在实际语音与数字信号的理论之间搭了一座桥。课程设计的特色在于它将语音信号看作一个向

10、量,于是就把语音数字化了。那么, 就可以完全利用数字信号处理的知识来解决语音及加噪处理问题。我们可以像给一般信号做频谱分析一样,来对语音信号做频谱分析,也可以较容易的用数字滤波器来对语音进行滤波处理。通过比较加噪前后,语音的频谱和语音回放,能明显的感觉到加入噪声后回放的声音与原始的语音信号有很大的不同, 前者随较尖锐的干扰啸叫声。从含噪语音信号的频谱图中可以看出含噪声的语音信号频谱 , 在整个频域范围内分是布均匀。由此可见,语音信号主要分布在低频段,而噪声主要分布在高频段。在此次课程训练当中我们系统的学习了信号的知识,通过本次综合训练让我了解了 FIR 器的知识,这次综合训练对将来从事这一工作

11、的同学尤为重要,这等于让我们提前对这方面的知识有了进一步的认识。在这次综合训练过程中也当遇到了很多实际问题,比如说对有些关于嵌入式知识的缺乏,不过在老师的进一步讲解之后,我们逐步认识和理解了其中的关键,而且又对所学的理论知识有了升华。同时通过此次训练,加深了我对所学过的各种理论数据的认识和理解,并在一定程度上掌握并会运用。我还学会了把学到的知识用于解决实际问题,培养、加强锻炼了我的动手实践能力。更为难得的是,在这次训练过程中,屡屡碰见一些问题, 在解决这些问题的过程中,不断加强了我对嵌入式系统的理解。对于一些自己不清楚,不明白但平时又很难发现的知识点有了一次全面的巩固与复习。在大学阶段,理论的

12、学习和实践是密不可分的。离开了实践的理论是没有任何意义可言的。与此同时,理论是需要伴随着实践才能完善。同时,在与同学共同在解决一些问题的过程中,提高了我们的团队协作精神。致谢通过此次课程设计,我们都学到了许多东西,体会到了从书本学习与实际应用中的不同,这种感同身受必将对我们今后的学习与生活带来很大的帮助。在三周的时间中,我们的指导老师时时在我们的身旁引导我们,帮助我们,倾注他们所有的才华,用心血让我们学会从理论走向实际这一目标十分艰辛,对我们来说是飞跃的过程。不会忘记他们为了我们紧缩的眉头,焦急的眼神,疲倦的笑容,忙碌的身影!谢谢我们的指导老师对我们的帮助!参考文献丁玉美 . 数字信号处理M.

13、 西安电子科技大学出版社,2003, 3.朱冰莲 . 数字信号处理M. 电子工业出版社,2003, 7.胡航,语音信号处理,哈尔滨工业大学出版社,2000 年 5 月皇甫堪 , 陈建文 , 楼生强 . 现代数字信号处理M. 北京 : 电子工业出版社,2003.吴红卫 , 吴镇扬 , 赵力 . 基于多窗谱的心理声学语音增强J. 声学学报 ,2007,32(3):275-281. TOC o 1-5 h z 潘欣裕,童兴法,赵鹤鸣,基于谱能比例加权的谱减法语音增强研究J.中 国电子学会第十五届信息论学术年会暨第一届全国网络编码学术年会论文集程正 , 赵鹤鸣 . 基于多频带谱减法的语音增强算法的研究

14、J.002-8331(2007)36-0040-03.曹瑜镠 , 方元 , 吕勇 . 基于最小统计及谱减法的语音增强J. 语音技术.002-8684(2006)12-0043-049 白文雅,黄健群,陈智伶. 基于维纳滤波语音增强算法的改进实现J. 电声技术, 2007,31 ( 1): 44-46.10 蔡斌 . 一种改进型MMSE语音增强方法J. 信号处理,2004,20( 1) : 70-74.11 陈俊, 孙洪, 董航 . 基于MMSE先验信噪比估计的语音增强J. 武汉大学学理学版,2005, 51( 5): 638-642.12 樊昌信,曹丽娜. 通信原理M. 北京:国防工业出版社,

15、2008.13姚天任.数字语音处理M. 武汉:华中科技大学出版社,2005.程序1;Ft=8000; Fp=1000; Fs=1200; wp=2*Fp/Ft; ws=2*Fs/Ft; rp=1; rs=50;p=1-10.(-rp/20);%通带阻带波纹s=10.(-rs/20); fpts=wp ws; mag=1 0; dev=p s;n21,wn21,beta,ftype=kaiserord(fpts,mag,dev);%kaiserord求阶数截止频率 b21=fir1(n21,wn21,Kaiser(n21+1,beta); % 由 fir1 设计滤波器 h,w=freqz(b21

16、,1);%得到频率响应plot(w/pi,abs(h); title(FIR 低通滤波器);程序2;y,Fs,nbits=wavread( E:123.wav );%载入波形 N=length(y)% 计算输入波形长度 Y=fft(y,N);% 进行快速傅里叶变换 sound(y);% 播放声音 figure(4); subplot(211);plot(0:15/(N-1):15;0:15/(N-1):15,y);title(原始信号时域图)%时域图NFFT = 2nextpow2(N); % Next power of 2 from length of y Y = fft(y,NFFT)/N

17、;f = Fs/2*linspace(0,1,NFFT/2+1);subplot(212);plot(f,2*abs(Y(1:NFFT/2+1);title(滤波前频谱图)%滤波前频谱图程序3;y,fs,bits=wavread( E:123.wav ); sound(y,fs) n=length(y) y_p=fft(y,n); f=fs*(0:n/2-1)/n; figure(1) subplot(2,1,1); plot(0:15/(N-1):15;0:15/(N-1):15,y); TOC o 1-5 h z title( 原始语音信号采样后的时域波形);xlabel( 时间轴 ) y

18、label( 幅值A)subplot(2,1,2); plot(f,abs(y_p(1:n/2); title( 原始语音信号采样后的频谱图);xlabel( 频率 Hz); ylabel( 频率幅值);L=length(y) noise=0.1*randn(L,2); y_z=y+noise; sound(y_z,fs) n=length(y); y_zp=fft(y_z,n); f=fs*(0:n/2-1)/n; figure(2) subplot(2,1,1);plot(0:15/(N-1):15;0:15/(N-1):15, y_z); TOC o 1-5 h z title( 加噪语

19、音信号时域波形);xlabel( 时间轴 ) ylabel( 幅值A)subplot(2,1,2);plot(f,abs(y_zp(1:n/2);title( 加噪语音信号频谱图);xlabel( 频率 Hz); ylabel( 频率幅值);程序 4; y,fs,bits=wavread( E:123.wav ); sound(y,fs) n=length(y) y_p=fft(y,n);f=fs*(0:n/2-1)/n;figure(1)subplot(2,1,1);plot(0:15/(N-1):15;0:15/(N-1):15,y); TOC o 1-5 h z title( 原始语音信

20、号采样后的时域波形);xlabel(时间轴 )ylabel(幅值A)subplot(2,1,2); plot(f,abs(y_p(1:n/2); title( 原始语音信号采样后的频谱图);xlabel( 频率 Hz); ylabel( 频率幅值);L=length(y) noise=0.1*randn(L,2); y_z=y+noise;sound(y_z,fs)n=length(y);y_zp=fft(y_z,n);f=fs*(0:n/2-1)/n;figure(2)subplot(2,1,1);plot(0:15/(N-1):15;0:15/(N-1):15,y); TOC o 1-5 h z title( 加噪语音信号时域波形)

温馨提示

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

评论

0/150

提交评论