|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
大家好
附件是我的数据文件,包括2个文件,文件1(激励信号)--- inp_fz.txt,文件2(响应信号))--- out_uz.txt。先要处理一下,修改文件名 inp_fz.txt->inp_fz.rar, out_uz.txt->out_uz.rar
它们都是时域的,时间在文件2中有
现在我想求频率响应曲线---响应信号/激励信号,即 out_uz(j*w) / inp_fz(j*w)
下面是我的代码,但是结果不对,希望谁能帮我,谢谢!
clear; close all; clc;
% input file
fid1 = fopen('inp_fz.txt','rt');
cc1 = textscan(fid1,'%f',200001,'headerlines',1);
input = cc1{1,1};
fclose(fid1);
% output file
fid2 = fopen('out_uz.txt','rt'); %% Open in read mode as text.
cc2 = textscan(fid2,'%f %f',200001,'headerlines',1);
tt = cc2{1,1}; %采样时间
output = cc2{1,2};
fclose(fid2);
% matlab code to do FFT calculation
Fs=1e6; %采样频率
N=1024*8;
w1=abs(fft(input,N));
w2=abs(fft(output,N)); %对输出信号 频谱分析
w=w2./w1;
freq = Fs*(0:(N/2))/N;
% plot(freq,w(1:(N/2+1)))
semilogx(freq,w(1:(N/2+1)))
grid on; |
|