基于MATLAB的语音信号的频谱分析_第1页
基于MATLAB的语音信号的频谱分析_第2页
基于MATLAB的语音信号的频谱分析_第3页
基于MATLAB的语音信号的频谱分析_第4页
基于MATLAB的语音信号的频谱分析_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、数字信号处理结课报告设计题目:基于MATLAB的语音信号的频谱分析姓 名: 专业班级: 学 号: 成 绩: 指导教师: 日 期: 2013 年 11 月 30 日1.课程设计目的综合运用数学信号处理的理论知识进行语音信号的频谱分析,通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。2.理解设计基本要求1) 熟悉离散信号和系统的时域特性。2) 熟悉线性卷积和相关的计算编程方法。3) 掌握序列傅里叶变换的计算机实现方法,利用序列傅里叶变换对离散信号、系统和系统的响应进行频域分析。4) 学会MATLAB的使用,掌握MATLAB的程序设计方法。

2、5) 利用MATLAB对wav文件进行频谱分析。6) 分别用不同的滤波器对加噪语音信号进行滤波,选择最佳滤波器。3.课程设计内容选择一个wav文件作为分析的对象,或录制一段语音信号,对其进行频谱分析,分别对加噪前后的语音信号进行频谱分析,再通过不同滤波器根据信号的频谱特点重构语音信号,选出最佳滤波方案。4.课程设计实现步骤(1)语音信号的获取选择一个wav文件作为分析的对象,可以利用Windows下的录音机或其他软件,录制一段自己的话音,在MATLAB中,y,fs,bits=wavread('Blip',N1 N2);用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),

3、bits表示采样位数。N1 N2表示读取的值从N1点到N2点的值。sound(y);用于对声音的回放。向量y则就代表了一个信号,也即一个复杂的“函数表达式”,也可以说像处理一个信号的表达式一样处理这个声音信号。下面是语音信号在MATLAB中的语言程序,它实现了语音的读入与打开,并绘出了语音信号时域波形,然后对语音信号进行频谱分析。在MATLAB中,可以利用函数fft对信号进行快速傅里叶变化,得到信号的频谱特性。在频谱特性中分析最大值的位置(可能有几个),它代表的频率和时域的采样时间有关,相邻的两点之间的距离为。其中,N是离散傅里叶变换用的点数,是采样的时间,前面在读取 wav文件时得到了采样频

4、率。既然知道了该声波的频谱,按频率就可以反演它的时域值,利用以上分析的主要峰值来重构声波。由于没有考虑相位和其他的频谱分量,所以波形和原来的波形相差甚大,但大体的频率是没有错的。fs=25600; %语音信号采样频率为25600x,fs,bits=wavread('C:windowssystem32configsystemprofileDesktopmayue.wav'); sound(x,fs,bits); %播放语音信号y1=fft(x,4096); %对信号做2048点FFT变换f=fs*(0:2047)/4096;figure(1)magy1=abs(y1);angy1

5、=angle(y1);subplot(3,1,1),plot(x);title('原始信号波形')subplot(3,1,2),plot(magy1);title('原始信号幅值')subplot(3,1,3),plot(angy1);title('原始信号相位')figure(2)freqz(x) %绘制原始语音信号的频率响应图title('频率响应图')figure(3)plot(f,abs(y1(1:2048);title('原始语音信号频谱')xlabel('Hz');ylabel('

6、;fudu'); axis(0 4500 0 400)图1.1原始信号波形、幅值和相位图图1.2频率响应图图1.3原始语音信号频谱(2) wav语音信号加噪声在MATLAB软件平台下,给原始的语音信号叠加上噪声,噪声类型分为如下几种:1)单频噪色(正弦干扰);2)高斯随机噪声。绘出加噪声后的语音信号时域和频谱图,在视觉上与原始语音信号图形对比,也可通过Windows播放软件从听觉上进行对比,分析并体会含噪语音信号频谱和时域波形的改变。本实验采用正弦干扰。clc;clear;fs=22050; %语音信号采样频率为22050x,fs,bits=wavread('C:windows

7、system32configsystemprofileDesktopmayue.wav'); %读取语音信号的数据,赋给变量xy1=fft(x,4096); %对信号做4096点FFT变换f=fs*(0:511)/4096;t=(0:length(x)-1)/22050;x1=0.05*sin(2*pi*10000*t)'x0=x(:,1);x2=x1+x0;sound(x2,fs,bits);figure(1)subplot(2,1,1)plot(x) %做原始语音信号的时域图形title('原语音信号时域图')subplot(2,1,2)plot(x2) %

8、做原始语音信号的时域图形title('加高斯噪声后语音信号时域图')xlabel('time n');ylabel('fudu');y2=fft(x2,4096);figure(2)subplot(2,1,1)plot(abs(y1)title('原始语音信号频谱');xlabel('Hz');ylabel('fudu');subplot(2,1,2)plot(abs(y2)title('加噪语音信号频谱');xlabel('Hz');ylabel('fudu

9、');axis(0 4500 0 300);wavwrite(x2,fs,'C:windowssystem32configsystemprofileDesktop加噪.wav');图1.4语音信号时域图图1.5语音信号频谱图(3)IIR数字滤波器的设计:分别利用巴特沃斯滤波器、切比雪夫I型和II型滤波器、椭圆滤波器进行滤波,写出详细的分析结果。 巴特沃斯低通滤波对加入高斯随机噪声和正弦噪声的语音信号进行滤波。用双线性变换法设计了巴特沃斯数字低通IIR滤波器对两加噪语音信号进行滤波,并绘制了巴特沃斯低通滤波器的幅度图和两加噪语音信号滤波前后的时域图和频谱图。clear a

10、ll;fb = 1000;fc = 1200;fs = 22050;wp=0.1*pi;ws=0.4*pi;Rp=1;Rs=15;Fs=22050;Ts=1/Fs;wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标ws1=2/Ts*tan(ws/2); N,Wn=buttord(wp1,ws1,Rp,Rs,'s'); %选择滤波器的最小阶数Z,P,K=buttap(N); %创建butterworth模拟滤波器Bap,Aap=zp2tf(Z,P,K);b,a=lp2lp(Bap,Aap,Wn); bd,ad=bilinear(b,a,Fs); %用双线性变换法实

11、现模拟滤波器到数字滤波器的转换h,w=freqz(bd,ad); figure(1)subplot(111);plot(w*fs/(2*pi),abs(h)grid;title('滤波器的性能分析'); pause;figure(2)x,fs,bits=wavread('C:windowssystem32configsystemprofileDesktop加噪.wav');n=length(x);f=fs*(0:(n/2-1)/n;X=fft(x);z=filter(bd,ad,x);subplot(211);plot(x);title('原始信号的波形

12、');subplot(212);plot(z);title('滤波后信号的波形');pause;figure(3)sound(z,fs,bits);subplot(211);plot(f,abs(X(1:n/2);title('原始信号的频谱');xlabel('Hz');Z=fft(z);subplot(212);plot(f,abs(Z(1:n/2); title('滤波后的信号频谱');xlabel('Hz');wavwrite(z,fs,C:windowssystem32configsystempr

13、ofileDesktop巴滤.wav');图1.6滤波器的性能分析图1.7滤波前后信号分析波形图图1.8滤波前后信号频谱图(4)FIR数字滤波器的设计:分别利用矩形窗、三角形窗、汉明窗、哈明窗进行滤波,写出几种滤波器的优缺点,写出详细的分析结果。 汉明窗的FIR低通滤波使用窗函数法,选用海明窗设计了数字FIR低通滤波器对加了正弦噪声的语音信号进行滤波,并绘制了滤波器滤波后的语音信号时域图和频谱图。%FIR滤波fs=22050;x,fs,bits=wavread('C:windowssystem32configsystemprofileDesktop加噪.wav');wp

14、=0.25*pi;ws=0.3*pi;wdelta=ws-wp;N=ceil(6.6*pi/wdelta); %取整t=0:(size(x)-1);wn=(0.2+0.3)*pi/2;b=fir1(N,wn/pi,hamming(N+1); %选择窗函数,并归一化截止频率f1=fftfilt(b,x);figure(1)freqz(b,1,512)h1,w1=freqz(b,1);plot(w1*fs/(2*pi),20*log10(abs(h1);figure(2)subplot(2,1,1)plot(t,x)title('滤波前的时域波形');subplot(2,1,2)p

15、lot(t,f1);title('滤波后的时域波形');sound(f1); %播放滤波后的语音信号F0=fft(f1,1024);f=fs*(0:511)/1024;figure(3)y2=fft(x,1024);subplot(2,1,1);plot(f,abs(y2(1:512); %画出滤波前的频谱图title('滤波前的频谱')xlabel('Hz');ylabel('fuzhi');subplot(2,1,2)F1=plot(f,abs(F0(1:512); %画出滤波后的频谱图title('滤波后的频谱

16、9;)xlabel('Hz');ylabel('fuzhi');wavwrite(f1,fs,'C:windowssystem32configsystemprofileDesktopF滤.wav');图1.9语音信号波形图1.10滤波前后时域波形图1.11滤波前后频谱图5.课程设计心得体会本设计采用了高效快捷的开发工具MATLAB,实现了语音信号的采集,对语音信号加噪声及设计滤波器滤除噪声的一系列工作。从频率响应图中可以看出:巴特沃斯滤波器具有单调下降的幅频特性,通带内是平滑的。海明窗设计的FIR滤波器的频率特性几乎在任何频带上都比巴特沃斯滤波器的频率特性好,过渡带也比较小,只是海明窗设计的滤波器下降斜度较小对语言的过渡失真进行了补偿。经过本次课程设计,让我真正明白了语音信号处理的过程,开始以为这是一个很难的过程,随着设计的进行,发现原来也不是很难。在设计的过程中,由于有很多信号,所以要搞清楚信号有点困难,而且在

温馨提示

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

评论

0/150

提交评论