- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
练习35滤波器(二)-Read
练习35 滤波器(二)
知识背景
滤波作为信号处理的重要组成部分,在信号处理中占有很重要的地位,滤波的数学基础是卷积.
主要内容
本练习考查知识点
信号处理工具箱中有很多工具函数对模拟和数字滤波器进行频率域分析,其中函数freqz和freqs分别返回数字和模拟滤波器的复频率响应.
练习过程
函数freqz使用基于FFT的酸法计算数字滤波器的频率响应,使用命令方法:
[p,q]=fredz(b,a,n)
fredz包含滤波器系数向量b和a,整数n是频率响应的点数,fredz返回复频率响应p和频率点q。fredz能包含一些参数,可以半喊采样频率和任意的采样频率,以下对12阶切比雪夫人I型滤波器求其256点频率响应,采样频率F为1000Hz:
[m,n]=cheby1(12,0.5,200/500);
[h,f]=freqz(m,n,256,1000);
运行所得结果为:(略)
由于参数表包括采样频率,故freqz在计算频率响应时,需存在一个包含在0到F/2之内有256个频率点的响亮f。若调用fredz函数而不加输出说明,则自动画出滤波器的副频响应。设一个截止频率为400Hz,采样频率2000Hz的9Butterwoth低通滤波器,对此滤波器设计其256点复频率响应,画出其幅值图与相位图,如图35-1所示,
[p,q]=butter(9,400/1000);
freqz(p,q,256,2000)
所得结果如图35-1所示。
图35-1 幅值图与相位图
freqz还能处理任意频率点的频率响应,如:
w=linespace(o,pi);
h=freqz(p,q,w)
所得结果为:(略)
计算由向量p,q定义的滤波器在由w指定的频率点的复频率响应。频率点的范围可以从0-2*pi,为了指定范围从0到采样频率的频率向量,在参数表中要包括频率和采样频率值和相位响应。
(3)在MATLAB中提供了从频率响应向量h中提取幅值和相位的函数,函数abs返回响应的幅值,函数angle返回响应的相位,单位rad。例Butterworth 滤波器中提取并画出幅值与相位图:
[p,q]=butter(6,300/500);[h,w]=freqz(p,q,512,1000);
m=abs(h);r=angle(h);
semilogy(w,m);
plot(w,m);
plot9(w,r*180/pi)
得到的结果如图35-2和图35-3所示。
图35-2 Butterworth 滤波器幅值图
图35-3 Butterworth 滤波器相位图
在通信的频率分析中,函数unwrap是一个很有用的函数,其通过加上360度的倍数来展开相角使之穿越180度边界线连续。例设计一个25阶低通滤波器,用freqz得到其频率响应,画出其相位图(相位单位为度),采用unwrap消除360度跳跃:
h=fir1(25,0.4);
[H,f]=freqz(h,1,512,2);
plot(f,angle(H)*180/pi);grid
plot(f,unwrap(angle(H))*180/pi);
grid
所得结果如图35-4和35-5所示。
图35-4低通滤波器相位图
图35-5经函数unwrap处理后的相位图
(4)在MATLAB中设计群延迟:
[u,v]grapdelay(b,a,n)
函数所返回有b和a定义的滤波器的n点群延迟。在图中画出系统的群延迟和相位延迟:
[b,a]=butter(10,200/1000);
u=grpdelay(b,a,128);
[h,f]=freqz(b,a,128,2000);
pd=-unwrap(angle(h))*(2000/(2*pi));
plot(f,u, f,pd)
经过运行得到结果如图35-6所示。
图35-6 ?群延迟和相位延迟图
练习小结
本练习主要模拟和数字滤波器进行频率域分析,通过运用实例来说明函数freqz和freqs返回数字和模拟滤波器的复频率响应。
思考题
复习本练习介绍的两个主要函数freqz和freqs的相关概念和用法。
解答:
作为基本的MATLAB的两个基本的函数,freqz 和 freqs是经常使用的.为方便应用,则必须先从概念入手,逐步掌握其应用.
freqz函数: 基于FFT的算法计算数字滤波器的频率响应,使用命令也较简单,就是:
使用命令:
[p,q]=fredz(b,a,n);
其中,a b 分别是滤波器的向量系数,整数n是频率响应的点数,函数会返回复频率响应p和q频率点.具体应用如上面的图35-1.
2. freqs 函数: 基于FFT计算模
文档评论(0)