| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-09-07 
				
				年龄: 38 
				
					帖子: 1
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			语音信号FFT频谱分析与显示 
		
		
		
		
		
		
		
	================= function spgram(swavefilenam,winsiz,shift,base,coltype); swavefilenam='voice.wav' [signl,fs]=wavread(swavefilenam); nseg=floor((length(signl)-winsiz)/shift)+1; a=zeros(winsiz/2+1,nseg); for i=1:nseg n1=(i-1)*shift+1;n2=n1+(winsiz-1); xx=signl(n1:n2);xx=xx.*hamming(winsiz); y=fft(xx);y=y(1:winsiz/2+1); y=y.*conj(y);y=10*log10(y);a(:,i)=y; end l1=(a>base);l0=(a<base);b=a.*l1+base*l0; c=(b-base)./(max(max(b))-base); y=[0:winsiz/2]*fs/winsiz;x=[0:nseg-1]*shift; if coltype==1 colormap(hot); else mycoltype=gray;mycoltype=mycoltype(64:-1:1,  ;colormap(mycoltype); end imagesc(x,y.c);axis xy; ================= 在MATLAB程序提示符下运行: >>spgram(voice,256,64,0,0); 生成声音文件后还是错误 在c=(b-base)./(max(max(b))-base);这句里的./上 可能是矩阵什么的错误 本人不才 大家多多帮忙  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |