一个计算Cepstrum的matlab源代码!

源代码在线查看: matlab求倒谱问题.m

软件大小: 2 K
上传用户: add505
关键词: Cepstrum matlab 计算 源代码
下载地址: 免注册下载 普通下载 VIP

相关代码

				matlab求倒谱问题
				读入一个语音文件wav
				
				加窗,窗长256,对窗内的信号进行倒谱计算
				
				使用matlab带的cceps,求出的图像在附件里所示
				
				但是我在书上看到,“由周期激励信号在复倒谱中形成的分量只出现在各冲激之间间隔的整数倍各点上,则可以预期在基本周期的整数倍各点上,复倒谱中能够发现冲激”
				
				为何在我的图像上看不到周期激励信号产生的周期分量呢,只看到间隔为窗信号长度的峰值?
				
				
				
				 以下是matlab程序
				
				y= readwav('d:\1.wav');
				
				length_y = length(y);
				
				plot([1:length(y)],y);
				
				title('语音信号');
				
				%加窗
				
				ceps_frame_len =500;
				
				window = (hamming(ceps_frame_len)); % Window type
				
				n_frame = round(length_y/ceps_frame_len);
				
				y_result_m =zeros(n_frame*ceps_frame_len,1);
				
				for ifrm=1:n_frame %n_frame为帧数,frame_shift为每次滑动的点数
				
				n1 = ceps_frame_len*(ifrm-1)+1;
				
				n2 = ceps_frame_len*(ifrm-1)+ceps_frame_len;
				
				y(n1:n2) = window.*y(n1:n2);
				
				y_result_m(n1:n2) = cceps(y(n1:n2));
				
				end 
				
				figure;
				
				plot([1:length(y)],y);
				
				title('加窗'); 
				
				figure;
				
				plot([1:length(y_result_m)],y_result_m);
				
				title('倒谱); 
				
							

相关资源