- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
语音信号的低通滤波和短时分析综合实验
语音信号处理实验报告一实验名称语音信号的低通滤波和短时分析综合实验学院通信工程学院教师姓名实验地点6505实验日期2015-03-28学生姓名学号班级一、实验内容1、根据已有语音信号,设计一个低通滤波器,带宽为采样频率的四分之一,求输出信号;2、辨别原始语音信号与滤波器输出信号有何区别,说明原因;3、改变滤波器带宽,重复滤波实验,辨别语音信号的变化,说明原因;4、利用矩形窗和汉明窗对语音信号进行短时傅立叶分析,绘制语谱图并估计基音周期,分析两种窗函数对基音估计的影响;5、改变窗口长度,重复上一步,说明窗口长度对基音估计的影响。二、实验目的1、读取’.wav’音频文件数据2、巴特沃斯低通滤波器3、给语音信号加窗4、做语音信号短时傅里叶变换5、做语音信号语谱图三、涉及实验的相关情况介绍(包含使用软件或实验设备等情况)计算机一台(装有Matlab)四、实验试做记录(含程序、数据记录及分析)结果:读取’.wav’音频文件数据[s,Fs,bit]=wavread(‘D:\语音信号处理\sigal.wav’);%wavread函数读取声音% soundview(s,Fs);% sound(s,Fs);y=s(:,1);x=(1:length(y))/Fs;%语音信号时间figure(1);subplot(311);plot(x,y,b)%滤波前信号图形xlabel(时间);ylabel(幅度);title(原始信号(我到北京去));f_N=Fs;%采样率f_p=f_N/4; f_s=0.4*f_N; R_p=6; R_s=60; %设计要求指标(f_p通带频率、 f_s阻带频率、R_p通带衰减、R_s阻带衰减)Ws=f_s/(f_N/2); Wp=f_p/(f_N/2);%计算归一化角频率[n, Wn]=buttord(Wp,Ws,R_p,R_s);%计算阶数和截止频率[b,a]=butter(n, Wn);%计算H(z)% freqz(b,a, 1000, 8000) %作出H(z)的幅频相频图,freqz(b,a, 计算点数, 采样率)% subplot(2,1,1); axis([0 4000 -30 3]);ym=filter(b,a,y);%低通滤波器滤波subplot(312);plot(x,ym,r);%滤波后信号图形xlabel(时间);ylabel(幅度);title(滤波信号(我到北京去));subplot(313);plot(x,y,b);hold on;%将两个图形做在一个坐标中plot(x,ym,r);legend(原始声音,滤波声音);xlabel(时间);ylabel(幅度);title(原始与滤波后图形对比);N = 256;I=s(6001:6000+N,1);%取出其中N个点w1 = window(@rectwin,N);%N个点的矩形窗w2 = window(@hamming,N);%N个点的汉明窗I1=I.*w1;%对N点信号加矩形窗I2=I.*w2;%对N点信号加汉明窗figure(2);subplot(3,1,1),plot(I);title(原始波形图);subplot(3,1,2),plot(I1);title(添加矩形窗波形);subplot(3,1,3),plot(I2);title(添加海明窗波形);sigLength=length(s);%信号长度d=N/2;%重叠的点数是N/2L=N;%每帧长短k=L-d;%延时系数kt=fix(sigLength/k)-1;%将整个信号分成t段frame_length=N;%加窗长度r=(hanning(frame_length));%信号加长度为frame_length窗for a=1:t n1=(L-d)*(a-1)+1;%需进行傅里叶变换的信号起始点 n2=(L-d)*(a-1)+frame_length;%需进行傅里叶变换的信号结束点 y=s(n1:n2);sf=fft(y.*r,N);%对信号进行傅里叶变换 X1(n1:n2)=sf(1:frame_length);%将全部变换后的值装进一个数组endX=(1:length(X1))*Fs/(N*2);%将横轴用频率表示Y=20*log10(abs(X1));%将纵轴转换成dB表示figure(3),plot(X,Y);xlabel(频率(Hz));ylabel(幅度(dB));title(短时傅里叶变换);M=N/2;nfft = min(N,length(s));figure(4);subplot(211);specgram(s,nfft,Fs,hanning(M));subplot(212);specgram(s,nfft,Fs,linspace(1
文档评论(0)