MATLAB语音信号采集与处理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

MATLAB课程设计报告课题:语音信号采集与处理目录一、实践目的...............................................................................................................3二、实践原理:...........................................................................................................3三、课题要求:...........................................................................................................3四、MATLAB仿真.....................................................................................................41、频谱分析:......................................................................................................42、调制与解调:..................................................................................................53、信号变化:......................................................................................................8快放:.............................................................................................................8慢放:.............................................................................................................8倒放:.............................................................................................................8回声:.............................................................................................................8男女变声:.....................................................................................................94、信号加噪........................................................................................................105、用窗函数法设计FIR滤波器.......................................................................11FIR低通滤波器:........................................................................................12FIR高通滤波器:........................................................................................13FIR带通滤波:............................................................................................14一、实践目的本次课程设计的课题为《基于MATLAB的语音信号采集与处理》,学会运用MATLAB的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,并为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础。此次实习课程主要是为了进一步熟悉对matlab软件的使用,以及学会利用matlab对声音信号这种实际问题进行处理,将理论应用于实际,加深对它的理解。二、实践原理:利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。语音信号的“短时谱”对于非平稳信号,它是非周期的,频谱随时间连续变化,因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。如果利用加窗的方法从语音流中取出其中一个短断,再进行傅里叶变换,就可以得到该语音的短时谱。三、课题要求:○1利用windows自带的录音机或者其它录音软件,录制几段语音信号(要有几种不同的声音,要有男声、女声)。○2对录制的语音信号进行频谱分析,确定该段语音的主要频率范围,由此频率范围判断该段语音信号的特点(低沉or尖锐)。○3利用采样定理,对该段语音信号进行采样,观察不同采样频率(过采样、欠采样、临界采样)对信号的影响。○4对采集到的语音信号进行调制与解调,观测调制与解调前后信号的变化。○5实现语音信号的快放、慢放、倒放、回声、男女变声。○6对语音信号加噪,然后进行滤波,分析不同的滤波方式对信号的影响。○7利用MATLABGUI制作语音信号采集与分析演示系统。四、MATLAB仿真1、频谱分析:用WINDOWS下的录音机,用单声道录制一段音乐或声音,时间在5S内。然后MATLAB软件平台下,利用函数WAVREAD对语音信号进行采样,记住采样频率和采样点数。对语音信号进行快速傅立叶变换,在一个窗口同时画出信号的时域波形图和频谱图,分析语音信号的频谱特点程序:fs=22050;Nbits=16;[x,fs,Nbits]=wavread('D:\matlab\22hexian.wav');%读声音文件n=length(x);t=0:1/fs:(length(x)-1)/fs;%求出语音信号的长度y1=fft(x,n);%傅里叶变换y2=fftshift(y1);%对频谱图进行平移f=0:fs/n:fs*(n-1)/n;%得出频点subplot(2,1,1);plot(t/2,x)%做原始语音信号的时域图形title('原始信号时域波形图');subplot(2,1,2);plot(f,abs(y2));title('原始信号频谱图')仿真波形:○1门铃:○2和弦:○3男女声:2、调制与解调:首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在Matlab中可以利用函数fft对信号行快速傅里叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。程序:clear;dt=1/44100;fs=44100;[f1,fs,nbits]=wavread('D:\1huan.wav');figure(1);subplot(1,1,1);N=length(f1);t=0:1/fs:(N-1)/fs;plot(t,f1);title('信息信号的时域波形');fy1=fft(f1);w1=0:fs/(N-1):fs;figure(2);subplot(1,1,1);plot(w1,abs(fy1));title('信息信号的频谱');f2=cos(22000*pi*t);figure(3);subplot(1,1,1);fy2=fft(f2);N2=length(f2);w2=fs/N*[0:N-1];plot(w2,abs(abs(fy2)));title('载波信号的频谱');f1=f1(:,1);f3=f1'.*f2;figure(4);subplot(1,1,1);fy3=fft(f3);plot(w1,abs(abs(fy3)));title('已调信号的频谱');sound(f3,fs,nbits);f4=f3.*f2;figure(5);subplot(1,1,1);fy4=fft(f4);plot(w1,abs(abs(fy4)));title('解调信号的频谱');sound(f4,fs,nbits);fp1=0;fs1=5000;As1=100;wp1=2*pi*fp1/fs;ws1=2*pi*fs1/fs;BF1=ws1-wp1;wc1=(wp1+ws1)/2;M1=ceil((As1-7.95)/(2.286*BF1))+1;N1=M1+1;beta1=0.1102*(As1-8.7);Window=(kaiser(N1,beta1));b1=fir1(M1,wc1/pi,Window);figure(6);subplot(1,1,1);freqz(b1,1,512);title('FIR低通滤波器的频率响应');f4_low=filter(b1,1,f4);plot(t,f4_low);title('滤波后的解调信号时域波形');sound(f4_low,fs,nbits);f5=fft(f4_low);figure(7);subplot(1,1,1);plot(w1,abs(f5));title('滤波后的解调信号频谱');仿真波形:3、信号变化:快放:[x,fs,nbits]=wavread('D:\1huan.wav')w=2;M=w*fs;wavplay(x,M);慢放:[x,fs,nbits]=wavread('D:\1huan.wav')w=0.8M=w*fs;wavplay(x,M);倒放:[x,fs,Nbits]=wavread('D:\1huan.wav');y0=flipud(x);sound(y0,fs);回声:程序:[x,fs,bits]=wavread('D:\3yang.wav',[140000]);%读取语音信号n1=0:2000;b=x(:,1);%产生单声道信号N=3;yy2=filter(1,[1,zeros(1,80000/(N+1)),0.7],[b',zeros(1,40000)]);figure(3)subplot(2,1,1);plot(yy2);%三次回声滤波器时域波形title('三次回声滤波器时域波形');YY2=fft(yy2);%对三次回声信号做FFT变换subplot(2,1,2);plot(n1(1:1000),YY2(1:1000));%三次回声滤波器频谱图title('三次回声滤波器频谱图');figure(4)subplot(2,1,1);plot(abs(YY2));%经傅里叶变换之后的信号的幅值title('幅值');subplot(2,1,2);plot(angle(YY2));%经傅里叶变换之后的信号的相位title('相位');sound(2*yy2,fs,bits);%经三次回声滤波器后的语音信号,乘以2是为了加强信号仿真波形:男女变声:Voice调用函数:functionY=voice(x,f)%更改采样率使基频改变f1降低;f1升高f=round(f*1000);d=resample(x,f,1000);%时长整合使语音文件恢复原来时长W=400;Wov=W/2;Kmax=W*2;Wsim=Wov;xdec

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功