• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

【转载】matlab中freqz函数的使用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

freqz函数计算线性系统的频率响应,包括幅频响应和相频响应,基本输入为线性系统的AMMA模型系数向量,一个典型的AMMA模型为

%               jw               -jw              -jmw
%        jw  B(e)    b(1) + b(2)e + .... + b(m+1)e
%     H(e) = ---- = ------------------------------------
%               jw               -jw              -jnw
%            A(e)    a(1) + a(2)e + .... + a(n+1)e

其中,向量A为IIR系统分母向量,对FIR系统为1;向量B为分子向量

函数使用零散傅立叶变换(fft)计算系统响应,计算范围为0~pi,即单位圆的上半部分,因为默认情况下对于实数系数系统响应关于DC对称.计算公式为上式的频域离散化形式.计算完成后在对目标解析度使用算术插值方法进行向量填充,填充形式取决于附加输入参数信息.

 

freqz的基本调用格式为freqz(b,a),此时函数内部默认进行512点算术插值,所以输出是512点的幅度值和对应的0~pi自变量向量,如果需要改变向量长度便于绘图,则可以附加维度信息,例如freqz(b,a,N)则进行N点插值

 

如果系统不是实系数的而是复数系统,则系统响应不再对称,0~pi的范围不足以反映整体特性,此时有两种选择:

1. 绘制整个主值区(-pi~pi),调用格式是增加字串型参数'whole',例如 freqz(b,a,n,'whole');

2. 绘制定制区域,则直接给定范围,该范围为给定自变量向量,例如 freqz(b,a,[-pi:2*pi/n:pi])

使用上述调用格式,输出为-pi~pi范围内的离散傅立叶变换计算结果,如果为绘图方便要标识频率信息,则调用时需要附加采样频率信息,例如freqz(b,a,[-fs/2:(fs/n):fs/2],fs);


freqz的基本使用方法是利用函数返回值进行后续分析处理,此时函数不会自动绘制曲线,如果直接调用而不指定返回接收变量,则函数自动按照通常标准绘制幅频/相频曲线,幅频曲线为对数格式

 

可以使用type freqz分析源代码


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Oracle-PLSQL Developer使用笔记 - 疯狂delphi发布时间:2022-07-18
下一篇:
Delphi与DirectX之DelphiX(9):透明色与是否透明发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap