《语音信号处理与滤波.docx》由会员分享,可在线阅读,更多相关《语音信号处理与滤波.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、语音信号处理与滤波班级:XXXXXX学号:XXXXX姓 名:XXX指导老师:XXX成绩:O 一五年五月二十七3.6比较滤波先后语音信号的波形及频谱利用切比雪夫滤波器,程序如下:程序结果如图3.6wp=1000*2*pi;ws=1200*2*pi;Rp=0.3;Rs=40;N,Wn=cheb 1 ord(wp,ws,Rp,Rs/ s );z,p,kj=cheb 1 ap(N,Rp);A,B,C,D=zp2ss(z,p,k);AT,BT,CT,DT=lp21p(A,B,C,D,Wn);b,a=ss2tf(AT,BT,CT,DT);bz,az=impinvar(b,a,fs);H, W=freqz(
2、bz,az);X=filter(bz,az,x)%sound(X,fs,bits);figure(2)Xl=fft(XJ024)subplot(221);pk)t(X) 处理后的信号波形上subplot(222);plot(n( 1:512),abs(X 1(1:512); titleo 处理后的信号频谱);处理后的佰号渡形处理后的循号频谱42302468x 10图3. 6四、心得体味在本次课程设计的过程中,主要遇到的问题是原始语音信号的采集。有 些语音信号在MATLAB中运行时不能达到理想中的状态,后来经过多次实验 和对照,发现,一、录音时声音要足够的大,才干采集好的语音信号;二、 要将录音
3、后的文件后缀wma转换成wav的格式。其次就是在滤波器参数 的选取上,开始时不清晰怎么选取,后来通过查找书本相关知识和与同学讨 论才有效的解决这个问题。因此学习的过程是相互讨论共同进步的,多多讨论课题中遇到的问题, 可以巩固我们的知识掌握能力,增加熟练运用度。从本次课程设计的中心来看,课题是希翼将数字信号处理技术应用于某 一实际领域,这里就是指对语音信号的处理。作为存储于计算机中的语音信 号,其本身就是离散化了的向量,我们只需将这些离散的量提取出来,就可 以对其进行处理了。在这里,用到了处理数字信号的强有力工具MATLAB,通过MATLAB里几 个命令函数的调用,很轻易的在实际化语音与数字信号
4、的理论之间搭起了一 座桥梁。课题的特色在于它将采集到的语音看做了 一个向量,于是语音数 字化了,则可以彻底利用数字信号处理的知识来解决。我们可以像给普通信 号做频谱分析一样,来给语音信号做频谱分析,也可以较容易的用数字滤波 器来对语音进行滤波处理。同时改变相关参数,理论结合实际,可以分析出 各参数对图形的影响,从而加深对各个参数的理解。在完成这次课程设计过程中我学到了许多东西,进一步理 解了滤波器设计的方法和各参数意义,通过分析信号时域和频 域的关系等, 加深了对滤波性能的理解,而且学会了使用Matlab一些基本函数,增加了进 一步学习Matlab软件的兴趣。同时,通过本 次课程设计,使我懂得
5、了理论 与实际相结合是很重要的,惟独理论知识是远远不够的,惟独把所学的理论 知识与实践相结合起来,从理论中得出结论,才干真正学有所用,从而立锻 炼了我的动手能力,和提高了我分析问题,解决问题的能力。五、源程序代码fs=8000,bits=8,T= l,Ts= 1 /fs;N=T/Ts;x=x(:,l);figure( 1)subplot(22 l);plot(x);%sound(x,fs,bits);titleo时域波形图)y=fft(x,1024);n=(fs/1024)*l: 1024;subplot(222);plot(n(l :512),abs(y(l :512);title o频谱图
6、);dt=0.01 *sin(2*pi*7000*(l :size(x)/fs);%dtl=fft(dt,1024);%plot(n(l:512),abs(dtl(l:512);xl=x+dt;%sound(xl,fs,bits);yl=fft(xl,1024);subplot(223);plot(xl);titleo污染信号波形);subplot(224);plot(n(l: 1024),abs(y 1 (1:1024);axis(0,12000,0,0.4J);titleo污染信号频谱);wp= 1000*2*pi;ws= 1200*2*pi;Rp=0.3;Rs=40;N,Wn=chebl
7、ord(wp,ws,Rp,Rs,s);z,p9k=cheb 1 ap(N,Rp);A,B,C,D=zp2ss(z,p,k);AT,BT,CT,DT=lp21p(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)Xl=fft(X,1024)subplot(221);plot(X);title(,处理后的信号波形);subplot(222);plot(n(l:512),abs(Xl(l:512); titled
8、处理后的信号频谱);主程序 wp= 1000*2*pi;ws= 1200*2*pi;fs=2500;Rp=0.3;Rs=40;N,WnJ=cheb 1 ord(wp,ws,Rp,Rs/ s );z,p,k=cheblap(N,Rp);A,B,C,D=zp2ss(z,p,k);AT,BT,CT,DT=lp21P(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; titleo切比雪夫滤波器幅频特性)xlabelCTrequency/Hz1)
9、;ylabel(magnitude);%切比雪夫滤波器六、参考文献1 .张建生等.数字信号处理原理与应用.东南大学出版社.2022.2 .胡航.语音信号处理.哈尔滨工业大学出版社.2022.3 .张威.MATLAB基础与编程入门.西安电子科技大学出版社.2022.目录一、设计要求1二、设计步骤12. 1理论依据12. 2信号采集12. 3构造受干扰信号并对其进行FFT频谱分析12. 4数字滤波器设计12. 5信号处理2三、课程设计实现23. 1语音信号的采集23. 2语音信号的FFT频谱分析23. 3构造受干扰信号并对其进行FFT频谱分析43. 4设计数字滤波器63. 5用滤波器对加噪语音信号
10、进行滤波73. 6比较滤波先后语音信号的波形及频谱7四、心得体味9五、参考文献错误!未定义书签。六、源程序代码11一、设计要求本次课程设计要求利用MATLAB对语音信号进行数字信号处理和分析, 要求采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音 信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除 噪声,恢复原信号。二、设计步骤1.1 理论依据根据设计要求分析系统功能,掌握设计中所需理论(采样频率、采样位 数的概念,采样定理;时域信号的FFT分析;数字滤波器设 计原理和方法, 各种不同类型滤波器的性能比较),阐明设计原理。1.2 信号采集采集语音信号,并对
11、其进行FFT频谱分析,画出信号时域波形图和频谱图。1.3 构造受干扰信号并对其进行FFT频谱分析对所采集的语音信号加入干扰噪声,对语音信号进行回放,感觉加噪先 后声音的变化,分析原因,得出结论。并对其进行FFT频谱 分析,比较加噪 先后语音信号的波形及频谱,对所得结果进行分析,阐明原因,得出结论。1.4 数字滤波器设计根据待处理信号特点,设计合适数字滤波器,绘制所设计滤波器的幅频 和相频特性。2. 5信号处理用所设计的滤波器对含噪语音信号进行滤波。对滤波后的语音信号进行 FFT频谱分析。画出处理过程中所得各种波形及频谱图。对语音信号进行回放,感觉滤波先后声音的变化。比较滤波先后语音信 号的波形
12、及频谱,对所得结果和滤波器性能进行频谱分析,阐明原因,得出结 论。三、课程设计实现3. 1语音信号的采集利用PC机上的声卡和WINDOWS操作系统可以进行数字信号的 采集。将 话筒输入计算机的语音输入插口上,启动录音机。按下录音按钮,接着对话筒 说话,说完后住手录音,屏幕左侧将显示所录声音的长度。点击放音按钮,可 以实现所录音的重现。以文件名“12022.wav”保存入中,将文件以wav, 格式保存。3.1 语音信号的FFT频谱分析通过用windows录音之后 将录音的文件导入到MATLAB中,利用wavread 函数对语音信号进行采样,并使用MATLAB绘出采样后的语音信号的时域波形 和频谱
13、图。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( speech1);%巴语音信号进行加载入Mat lab仿真软件平台中fs =8000 nbits =
14、8然后画出语音信号的时域波形,然后对语音信号进行频谱分析。在matlab中利用ff对信号进行快速傅里叶变换,得到信号的频谱特性。其程序如下:fs=8000,bits=8,T = 1 ,Ts= 1 /fs;N=T/Ts;x=x(:,l);subplot(32 l);plot(x);sound(x,fs,bits);titl时域波形图,)y=fft(x,1024);n=(fs/1024)*l:1024;subplot(322);plot(n(l:512),abs(y(l:512);titl频憎图,);程序结果如图3.2:附辘腿加豳图3.23.2 构造受干扰信号并对其进行FFT频谱分析在MATLAB
15、软件平台下,给原始的语音信号叠加之噪声。噪声类型分为 如下几种:(1)白噪声;(2)单频噪声(正弦干扰);(3)多频噪声(多正弦干 扰);(4)其它干扰,可设置为低频、高频、带限噪声,或者Chirp干扰、冲 激干扰。这里我们叠加单频正弦干扰噪声。其程序如下:dt=0.01 *sin(2*pi*7000*( 1 :size(x)/fs);%dtl=fft(dt,1024);%plot(n(l:512),abs(dt 1(1:512);xl二x+dt;%sound (xl, f s, bi ts);yl=fft(xl, 1024); subplot (223);plot (xl);titleo 污
16、染信号波形,);subplot (224);plot (n(l: 1024), abs (yl(l: 1024);axis (0, 12000, 0, 0. 4); titleo污染信号频谱,);程序结果如图3. 3:之后对语音信号进行回放,感觉加噪先后声音的变化,并对其进行FFT 频谱分析,比较加噪先后语音信号的波形及频谱,并对所得结果进行分析。3.3 设计数字滤波器在设计一个数字滤波器之前,必须首先根据实际的需要来确定滤波器的 技术指标,设计合适的数字滤波器,并画出滤波器的幅频特性。这里我们设计 了一个切比雪夫滤波器。其程序如下: wp= 1000*2*pi; ws=1200*2*pi;f
17、s=2500;Rp=0.3;Rs=40;N,Wn=cheblord(wp,ws,Rp,Rs/sf);z,p,k=cheblap(N,Rp);A,B,C,D=zp2ss(z,p,k);AT,BT,CT,DT=lp21p(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; titleC切比雪夫滤波器幅频特性,) xlabeKTrequency/Hz*);ylabel(magnitude);%切比雪夫滤波器切比雪夫滤波器的幅频特性如图3. 4:1.41.20.40.20图3.43.4 用滤波器对加噪语音信号进行滤波用自己设计的切比雪夫滤波器对加噪的语音信号进行滤波,在Mat lab中,HR滤波器利用函数filt对信号进行滤波。切比雪夫滤波器:X=filter(bz,az,x)