| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-09-12 
				
				年龄: 41 
				
					帖子: 6
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			要求设计一个巴特沃斯低通IIR滤波器,然后对语音进行处理。我编的程序如下: 
		
		
		
		
		
		
		
	sound=wavread('ee.wav');plot(sound) [n,Wn]=buttord(0.2,0.3,1,25); [b,a]=butter(n,Wn); freqz(b,a,512,1); fjh=freqz(sound);plot(fjh); 我想让它显示,语音在处理之前的时域图和频谱图,以及处理之后的时域图和频谱图,但是运行之后只有一个图。大家看看会不 会改呀。大家有没有好的实现的方法,可以告诉我,本人初学Matlab的信号处理。  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 普通会员 
			
			
			
			注册日期: 2008-04-05 
				
				年龄: 83 
				
					帖子: 37
				 
				
				
				声望力: 18 ![]()  | 
	
	
	
		
		
			
			 
			
			fjh=freqz(sound);语句的输出fjh是一个复数,要看幅值响应,应取模值。
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2008-10-21 
				
				年龄: 40 
				
					帖子: 198
				 
				
				
				声望力: 23 ![]() ![]()  | 
	
	
	
		
		
			
			 
			
			对!!!!!!! 
		
		
		
		
		
		
			一般要看幅度都必须加上abs的!!!!!!! 
				__________________ 
		
		
		
		
	matlab太高深了!!!!!!!:ft:  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-09-12 
				
				年龄: 41 
				
					帖子: 6
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			不明白,还请详细解答。谢谢!
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#5 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2008-10-21 
				
				年龄: 40 
				
					帖子: 198
				 
				
				
				声望力: 23 ![]() ![]()  | 
	
	
	
		
		
			
			 
			
			fjh=abs(freqz(sound));
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	matlab太高深了!!!!!!!:ft:  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#6 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-11-12 
				
				年龄: 40 
				
					帖子: 8
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			因为你使用了两次plot后面的那个会把前面的覆盖掉。 
		
		
		
		
		
		
			
		
		
		
		
	你在第二个plot(fjh)前面加上 figure;%新建一个图形窗 或者使用subplot 具体看help subplot. 另外,频响图是要加abs的 plot(abs(fjh));  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#7 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-11-12 
				
				年龄: 40 
				
					帖子: 8
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			因为你使用了两次plot后面的那个会把前面的覆盖掉。 
		
		
		
		
		
		
			
		
		
		
		
	你在第二个plot(fjh)前面加上 figure;%新建一个图形窗 或者使用subplot 具体看help subplot. 另外,频响图是要加abs的 plot(abs(fjh));  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#8 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-11-11 
				
				年龄: 48 
				
					帖子: 21
				 
				
				
				声望力: 17 ![]()  | 
	
	
	
		
		
			
			 
			
			或者你在一个图片上创建多个绘图区域也可以,如subplot(2,1,1);plot(abs(freqz(sound));subplot(2,1,2);plot(  )
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
![]()  | 
	
	
| 主题工具 | |
| 显示模式 | |
		
  | 
	
		 | 
			 
			相似的主题
		 | 
	||||
| 主题 | 主题作者 | 版面 | 回复 | 最后发表 | 
| [分享]偏微分方程的数值解法的程序 | wa2003 | MATLAB论坛 | 15 | 2013-01-18 12:59 | 
| [分享]给新手的建议 | guofeng0108 | MATLAB论坛 | 0 | 2008-12-16 09:51 | 
| 有哪位做过BEESSEL法数字下变频? | yqgame365 | MATLAB论坛 | 0 | 2008-12-07 23:53 | 
| GM(1,1) | lvlianggan | MATLAB论坛 | 2 | 2008-11-07 22:52 | 
| Studying the World's Most Complex Dynamic Systems | TechnicalArticles | MATLAB技术文章 | 0 | 2008-08-29 00:40 |