MATLAB画频率响应曲线(幅频特性和相频特性)并将横坐标转换为赫兹hz单位

matlab画频率响应曲线的函数为:

[h,w] = freqz(b,a,n)

b,a:传递函数系数

h:频率响应

w:角频率,0~π

更多参数解释参考官方链接https://ww2.mathworks.cn/help/signal/ref/freqz.html?requesteddomain=true

用freqz画频率响应曲线的一个例子:绘制如下系统的频响曲线: H(z)=(1-0.5z^-1)

B=[1 -0.5]; 
A =[1];
[H,w]=freqz(B,A);
Hf=abs(H);  %取幅度值实部
Hx=angle(H);  %取相位值对应相位角
clf
figure(1)
plot(w,20*log10(Hf))  %幅值变换为分贝单位
title('离散系统幅频特性曲线')
figure(2)
plot(w,Hx)
title('离散系统相频特性曲线')

幅频特性曲线:

此时幅频特性曲线的横坐标为数字角频率w。有时候我们想把横坐标转换为频率f(以赫兹hz为单位):

  • 首先要弄懂各个频率之间的关系:

模拟频率f:每秒经历多少个周期,单位Hz,即1/s;

模拟角频率Ω:每秒经历多少弧度,单位rad/s;

数字角频率w:每个采样点间隔之间的弧度,单位rad。

  • 各频率之间的关系:

Ω=2*π*f;

w =Ω*T;

因为T=1/fs(fs为采样率)

所以w =Ω*T=2*π*f/fs。

因此将数字角频率w转换为模拟频率f的公式为:

f=w*fs/(2*π)

  • 因此,将横坐标转换为以赫兹为单位的代码如下(假设采样率为1000hz):
B=[1 -0.5]; 
A =[1];
[H,w]=freqz(B,A);
Hf=abs(H);  %取幅度值实部
Hx=angle(H);  %取相位值对应相位角
clf
figure(1)
plot(w*fs/(2*pi),20*log10(Hf))  %幅值变换为分贝单位
title('离散系统幅频特性曲线')
figure(2)
plot(w*fs/(2*pi),Hx)
title('离散系统相频特性曲线')

此时幅频特性曲线的横坐标为频率f,单位为hz

ps:

当幅频特性曲线的横坐标为数字角频率w时,其最大值为π,这是因为当采样率为fs时,根据香农定理,能够采样的信号的最高频率为fs/2,fs/2频率对应的数字角频率w即为π。因此通常我们只关心0-π的幅频响应。

从上面最后一张图可以看到,当横坐标转换为频率后,横坐标最大值为fs/2,即500hz。

  • 63
    点赞
  • 482
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值