语音信号处置和滤波_第1页
语音信号处置和滤波_第2页
语音信号处置和滤波_第3页
语音信号处置和滤波_第4页
语音信号处置和滤波_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

语音信号解决与滤波班级:xxxxxx学号:xxxxx姓名:xxx指导老师:xxx成绩:二○一五年五月二十七目录TOC\o"1-3"\h\u语音信号解决与滤波 1一、设计规定 1二、设计环节 12.1理论根据 12.2信号采集 12.3构造受干扰信号并对其进行FFT频谱分析 12.4数字滤波器设计 12.5信号解决 2三、课程设计实现 23.1语音信号的采集 23.2语音信号的FFT频谱分析 2图3.2 53.3构造受干扰信号并对其进行FFT频谱分析 53.4设计数字滤波器 73.5用滤波器对加噪语音信号进行滤波 93.6比较滤波前后语音信号的波形及频谱 10四、心得体会 12五、源程序代码 13六、参考文献 18一、设计规定本次课程设计规定运用MATLAB对语音信号进行数字信号解决和分析,规定采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计适宜的滤波器滤除噪声,恢复原信号。二、设计环节2.1理论根据根据设计规定分析系统功效,掌握设计中所需理论(采样频率、采样位数的概念,采样定理;

时域信号的FFT分析;数字滤波器设计原理和办法,多个不同类型滤波器的性能比较),阐明设计原理。2.2信号采集采集语音信号,并对其进行FFT频谱分析,画出信号时域波形图和频谱图。2.3构造受干扰信号并对其进行FFT频谱分析对所采集的语音信号加入干扰噪声,对语音信号进行回放,感觉加噪前后声音的变化,分析因素,得出结论。并对其进行FFT频谱分析,比较加噪前后语音信号的波形及频谱,对所得成果进行分析,阐明因素,得出结论。2.4数字滤波器设计根据待解决信号特点,设计适宜数字滤波器,绘制所设计滤波器的幅频和相频特性。2.5信号解决用所设计的滤波器对含噪语音信号进行滤波。对滤波后的语音信号进行FFT频谱分析。画出解决过程中所得多个波形及频谱图。对语音信号进行回放,感觉滤波前后声音的变化。比较滤波前后语音信号的波形及频谱,对所得成果和滤波器性能进行频谱分析,阐明因素,得出结论。三、课程设计实现3.1语音信号的采集运用PC机上的声卡和WINDOWS操作系统能够进行数字信号的采集。将话筒输入计算机的语音输入插口上,启动录音机。按下录音按钮,接着对话筒说话,说完后停止录音,屏幕左侧将显示所录声音的长度。点击放音按钮,能够实现所录音的重现。以文献名“1.wav”保存入E:\中,将文献以‘wav’格式保存。3.2语音信号的FFT频谱分析通过用windows录音之后,将录音的文献导入到MATLAB中,运用wavread函数对语音信号进行采样,并使用MATLAB绘出采样后的语音信号的时域波形和频谱图。Wavread函数调用格式y=wavread(file)%读取file所规定的wav文献,返回采样值放在向量y中。[y,fs,nbits]=wavread(file)%采样值放在向量y中,fs表达采样频率(hz),nbits表达采样位数。y=wavread(file,N)%读取钱N点的采样值放在向量y中。y=wavread(file,[N1,N2])%读取从N1到N2点的采样值放在向量y中。对语音信号speech.wav进行采样其程序以下:[y,fs,nbits]=wavered('speech');%把语音信号进行加载入Matlab仿真软件平台中fs=8000nbits=8然后画出语音信号的时域波形,然后对语音信号进行频谱分析。在matlab中运用fft对信号进行快速傅里叶变换,得到信号的频谱特性。其程序以下:fs=8000,bits=8,T=1,Ts=1/fs;N=T/Ts;[x,fs,bits]=wavread('E:\1.wav');x=x(:,1);subplot(321);plot(x);sound(x,fs,bits);title('时域波形图')y=fft(x,1024);n=(fs/1024)*[1:1024];subplot(322);plot(n(1:512),abs(y(1:512)));title('频谱图');程序成果如图3.2:图3.23.3构造受干扰信号并对其进行FFT频谱分析在MATLAB软件平台下,给原始的语音信号叠加上噪声。噪声类型分为以下几个:(1)白噪声;(2)单频噪声(正弦干扰);(3)多频噪声(多正弦干扰);(4)其它干扰,可设立为低频、高频、带限噪声,或Chirp干扰、冲激干扰。这里我们叠加单频正弦干扰噪声。其程序以下:dt=0.01*sin(2*pi*7000*(1:size(x))/fs);%dt1=fft(dt,1024);%plot(n(1:512),abs(dt1(1:512)));x1=x+dt';%sound(x1,fs,bits);y1=fft(x1,1024);subplot(223);plot(x1);title('污染信号波形');subplot(224);plot(n(1:1024),abs(y1(1:1024)));axis([0,1,0,0.4]);title('污染信号频谱');程序成果如图3.3:图3.2之后对语音信号进行回放,感觉加噪前后声音的变化,并对其进行FFT频谱分析,比较加噪前后语音信号的波形及频谱,并对所得成果进行分析。3.4设计数字滤波器在设计一种数字滤波器之前,必须首先根据实际的需要来拟定滤波器的技术指标,设计适宜的数字滤波器,并画出滤波器的幅频特性。这里我们设计了一种切比雪夫滤波器。其程序以下:wp=1000*2*pi;ws=1200*2*pi;fs=2500;Rp=0.3;Rs=40;[N,Wn]=cheb1ord(wp,ws,Rp,Rs,'s');[z,p,k]=cheb1ap(N,Rp);[A,B,C,D]=zp2ss(z,p,k);[AT,BT,CT,DT]=lp2lp(A,B,C,D,Wn);[b,a]=ss2tf(AT,BT,CT,DT);[bz,az]=impinvar(b,a,fs);[H,W]=freqz(bz,az);plot(W*fs/(2*pi),abs(H));grid;title('切比雪夫滤波器幅频特性')xlabel('frequency/Hz');ylabel('magnitude');%切比雪夫滤波器切比雪夫滤波器的幅频特性如图3.4:图3.43.5用滤波器对加噪语音信号进行滤波用自己设计的切比雪夫滤波器对加噪的语音信号进行滤波,在Matlab中,IIR滤波器运用函数filter对信号进行滤波。切比雪夫滤波器:X=filter(bz,az,x)3.6比较滤波前后语音信号的波形及频谱运用切比雪夫滤波器,程序以下:程序成果如图3.6wp=1000*2*pi;ws=1200*2*pi;Rp=0.3;Rs=40;[N,Wn]=cheb1ord(wp,ws,Rp,Rs,'s');[z,p,k]=cheb1ap(N,Rp);[A,B,C,D]=zp2ss(z,p,k);[AT,BT,CT,DT]=lp2lp(A,B,C,D,Wn);[b,a]=ss2tf(AT,BT,CT,DT);[bz,az]=impinvar(b,a,fs);[H,W]=freqz(bz,az);X=filter(bz,az,x)%sound(X,fs,bits);figure(2)X1=fft(X,1024)subplot(221);plot(X);title('解决后的信号波形');subplot(222);plot(n(1:512),abs(X1(1:512)));title('解决后的信号频谱');图3.6四、心得体会在本次课程设计的过程中,重要碰到的问题是原始语音信号的采集。有些语音信号在MATLAB中运行时不能达成抱负中的状态,后来通过多次实验和对比,发现,一、录音时声音要足够的大,才干采集好的语音信号;二、要将录音后的文献后缀‘wma’转换成‘wav’的格式。另首先就是在滤波器参数的选用上,开始时不清晰怎么选用,后来通过查找课本有关知识和与同窗讨论才有效的解决这个问题。因此学习的过程是互相讨论共同进步的,多多讨论课题中碰到的问题,能够巩固我们的知识掌握能力,增加纯熟运用度。从本次课程设计的中心来看,课题是但愿将数字信号解决技术应用于某一实际领域,这里就是指对语音信号的解决。作为存储于计算机中的语音信号,其本身就是离散化了的向量,我们只需将这些离散的量提取出来,就能够对其进行解决了。在这里,用到了解决数字信号的强有力工具MATLAB,通过MATLAB里几个命令函数的调用,很容易的在实际化语音与数字信号的理论之间搭起了一座桥梁。课题的特色在于它将采集到的语音看作了一种向量,于是语音数字化了,则能够完全运用数字信号解决的知识来解决。我们能够像给普通信号做频谱分析同样,来给语音信号做频谱分析,也能够较容易的用数字滤波器来对语音进行滤波解决。同时变化有关参数,理论结合实际,能够分析出各参数对图形的影响,从而加深对各个参数的理解。在完毕这次课程设计过程中我学到了许多东西,进一步理解了滤波器设计的办法和各参数意义,通过分析信号时域和频域的关系等,加深了对滤波性能的理解,并且学会了使用Matlab某些基本函数,增加了进一步学习Matlab软件的爱好。同时,通过本次课程设计,使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才干真正学有所用,从而立锻炼了我的动手能力,和提高了我分析问题,解决问题的能力。五、源程序代码fs=8000,bits=8,T=1,Ts=1/fs;N=T/Ts;[x,fs,bits]=wavread('E:\1.wav');x=x(:,1);figure(1)subplot(221);plot(x);%sound(x,fs,bits);title('时域波形图')y=fft(x,1024);n=(fs/1024)*[1:1024];subplot(222);plot(n(1:512),abs(y(1:512)));title('频谱图');dt=0.01*sin(2*pi*7000*(1:size(x))/fs);%dt1=fft(dt,1024);%plot(n(1:512),abs(dt1(1:512)));x1=x+dt';%sound(x1,fs,bits);y1=fft(x1,1024);subplot(223);plot(x1);title('污染信号波形');subplot(224);plot(n(1:1024),abs(y1(1:1024)));axis([0,1,0,0.4]);title('污染信号频谱');wp=1000*2*pi;ws=1200*2*pi;Rp=0.3;Rs=40;[N,Wn]=cheb1ord(wp,ws,Rp,Rs,'s');[z,p,k]=cheb1ap(N,Rp);[A,B,C,D]=zp2ss(z,p,k);[AT,BT,CT,DT]=lp2lp(A,B,C,D,Wn);[b,a]=ss2tf(AT,BT,CT,DT);[bz,az]=impinvar(b,a,fs);[H,W]=freqz(bz,az);X=filter(bz,az,x)%sound(X,fs,bits);figure(2)X1=fft(X,1024)subplot(221);plot(X);title('解决后的信号波形');subplot(222);plot(n(1:512),abs(X1(1:512)));title('解决后的信号频谱');%主程序wp=1000*2*pi;ws=1200*2*pi;fs=2500;Rp=0.3;Rs=40;[N,Wn]=cheb1ord(wp,ws,Rp,Rs,'s');[z,p,k]=cheb1ap(N,Rp);[A,B,C,D]=zp2ss(z,p,k);[AT,BT,CT,DT]=lp2lp(A,B,C,D,Wn);[b,

温馨提示

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

最新文档

评论

0/150

提交评论