声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1093|回复: 1

[FFT] matlab实现幅频响应

[复制链接]
发表于 2008-6-14 20:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
若h(t)={1-t/Ts 0<t<Ts;
             1+t/Ts -Ts<t<0;
              0         其他
怎么求出它的频域响应啊
用matlab写出了h(t)的程序
dt=0.001;
t=-2:dt:2;
Ts=1;
ht=zeros(size(t));
for i=1:length(t)
if (t(i)>0)&(t(i)<Ts)
    ht(i)=1-t(i)/Ts;
elseif (t(i)>-Ts)&(t(i)<=0)
    ht(i)=1+t(i)/Ts;
else ht(i)=0;
end
end
那怎么画出它的幅频特性图啊?
用abs(fft(ht))吗?
画出来的图形怎么跟书本不一样?
f的区间怎么弄
回复
分享到:

使用道具 举报

发表于 2008-6-15 16:21 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-12 13:08 编辑
原帖由 liumilan 于 2008-6-14 20:31 发表
那怎么画出它的幅频特性图啊?
用abs(fft(ht))吗?
画出来的图形怎么跟书本不一样?
f的区间怎么弄

把程序稍修改,看是否满足楼主要求:
dt=0.001; fs=1/dt;
t=-2:dt:2;
Ts=1;
ht=zeros(size(t));
for i=1:length(t)
if (t(i)>0)&(t(i)<Ts)
    ht(i)=1-t(i)/Ts;
elseif (t(i)>-Ts)&(t(i)<=0)
    ht(i)=1+t(i)/Ts;
else ht(i)=0;
end
end
subplot 211; plot(t,ht); grid;
H=fft(ht);
N=length(ht);
HH=H/max(abs(H));
N2=fix(N/2);
ff=(-N2:N2)*fs/N;
n2=1:N/2+1;
subplot 212; plot(ff,20*log10(abs(fftshift(HH)))); grid;
axis([-10 10 -100 0]);

[ 本帖最后由 songzy41 于 2008-6-15 16:27 编辑 ]
ll2a.jpg

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 06:36 , Processed in 0.059376 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表