资源描述:
《matlab课设(打印)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、可编辑版Matlab与信息处理课程设计课题:语音信号采集与处理姓名:学号:指导老师:2016.7.5Word完美格式可编辑版目录一、实践目的2二、课题要求:2三、MATLAB仿真21、录音及频谱分析22、语音信号时域分析33、傅里叶变换性质6尺度变换:6抽取:7插值:8调制与解调:9四、信号加噪及滤波13低通滤波器14高通滤波器16带通滤波器18五、总结20六、参考文献21Word完美格式可编辑版一、实践目的本次课程设计的课题为《语音信号采集与处理》,学会运用MATLAB的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,
2、并为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础。此次实习课程主要是为了进一步熟悉对matlab软件的使用,以及学会利用matlab对声音信号这种实际问题进行处理,将理论应用于实际,加深对它的理解。二、课题要求1、利用windows自带的录音机或者其它录音软件,录制几段语音信号(要有几种不同的声音)。2、对录制的语音信号进行频谱分析。3、对采集到的语音信号进行时域的尺度变换,抽取与插值,调制与解调,观测前后信号的变化。4、实现语音信号的音量变大变小、快放、慢放、倒放、混音、回声、男女变声等效果。5、对语音信号加噪,然后进行滤波,分析不同的滤波方式对信号的影响。6、利用
3、MATLABGUI制作语音信号采集与分析演示系统。三、MATLAB仿真1、录音及频谱分析用WINDOWS下的录音机,用单声道录制一段音乐或声音,时间在5S内。然后MATLAB软件平台下,利用函数WAVREAD对语音信号进行采样,记住采样频率和采样点数。对语音信号进行快速傅立叶变换,在一个窗口同时画出信号的时域波形图和频谱图,分析语音信号的频谱特点[y,fs]=audioread('I:zjk.wav');%读声音文件Word完美格式可编辑版N=length(y);t=0:1/fs:(length(y)-1)/fs;%求出语音信号的长度Y=fft(y,N);%快速傅里叶变换AM=
4、abs(Y)/(N/2);AM(1,:)=AM(1,:)/2;ff=(0:N-1)/N*fs;subplot(2,1,1);plot(t,y);%语音信号时域图subplot(2,1,2);plot(ff,AM)%语音信号频谱图;运行如下:图(1)时域、频谱图2、语音信号时域分析(1)语音信号音量放大[f1,fs]=audioread('I:zjk.wav');sound(2*f1,fs)%“2”>1,所以放大(2)语音信号音量变小[f1,fs]=audioread('I:zjk.wav');sound(0.5*f1,fs)%0.5<1,所以变小Word完美格式可编辑版(3)
5、语音信号倒放[x,fs]=audioread('I:zjk.wav');y0=flipud(x);&flipud实现矩阵上下翻转,从而实现语音倒放sound(y0,fs);(4)混音音效[Y1,fs1]=audioread('I:xqq.wav');[Y2,fs2]=audioread('I:zjk.wav');%读取两段不同的音频y1=Y1(:,1);y2=Y2(:,1);%取单声道T=0.1;iflength(y1)length(y2
6、)y2=[y2;zeros((length(y1)-length(y2)),1)];%比较两段音频的长度,使两个音频长度相等endy1=[zeros(T*fs2,1);y1];y2=[y2;zeros(T*fs2,1)];y3=y1+y2;%声音合成sound(y3,fs2);(5)回音效果[x,fs]=audioread('I:zjk.wav');n1=0:2000;b=x(:,1);%产生单声道信号N=3;yy2=filter(1,[1,zeros(1,80000/(N+1)),0.7],[b',zeros(1,40000)]);%三次回声滤波器sound(yy2,fs);
7、(6)男女变声定义voice函数功能:functionY=voice(x,f)%更改采样率使基频改变f>1降低;f<1升高f=round(f*1000);Word完美格式可编辑版d=resample(x,f,1000);%时长整合使语音文件恢复原来时长W=400;Wov=W/2;Kmax=W*2;Wsim=Wov;xdecim=8;kdecim=2;X=d';F=f/1000;Ss=W-Wov;xpts=size(X,2);ypts=round(xpts/F);Y=zeros(1