找回密码
 注册
Simdroid-非首页
查看: 65|回复: 1

怎样预处理才能让传递函数与输入输出信号的频率接近

[复制链接]
发表于 2016-5-17 10:42:52 | 显示全部楼层 |阅读模式 来自 山西太原
我有输入信号x和输出信号y。我的目的是想分别对二者做fft后点除获取其传递函数。
但从下图可以看到,x的频谱和y的频谱都能清晰看到两个周期。而求取的传递函数却不能明显看到这两个主要周期成分。
我想问是不是需要怎样的预处理才能得到准确的传递函数。

代码和图片如下
===========================
load x.mat

N = length(x);
dt=1;
x=x*10;
xx = fft(x);
n = 0:N-1;
f = n/(dt*N);   %频率序列
magx= abs(xx);
% subplot(2,1,2);
plot(1./(f(1:N/2)),magx(1:N/2)*2/N); %绘制Nyquist频率前的振幅
xlabel('频率/HZ');ylabel('振幅');
title('原始信号的快速Fourier变换');

load y.mat

N = length(y);
dt=1;
yy = fft(y);
n = 0:N-1;
f = n/(dt*N);   %频率序列
mag = abs(yy);
% subplot(2,1,2);
plot(1./(f(1:N/2)),mag(1:N/2)*2/N); %绘制Nyquist频率前的振幅
xlabel('频率/HZ');ylabel('振幅');
title('原始信号的快速Fourier变换');
%xlim([0 0.5]);

H=yy./xx;%传递函数

a=abs(H);
b=angle(H);phasedeg = b*180/pi;
figure;
plot(1./f,a)





谢谢大家
2015-12-28_013527.jpg (154.93 KB, 下载次数: 0)


tfphase.jpg (100.09 KB, 下载次数: 0)




发表于 2018-9-25 22:44:28 | 显示全部楼层 来自 黑龙江
Simdroid开发平台
咋没人回复你呢
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-20 08:08 , Processed in 0.030672 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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