作者jackie5229 (水晶)
看板MATLAB
标题[讨论] 频域讯号转换至时域讯号
时间Fri Jul 19 18:27:47 2013
最近在写频域讯号转换到时域讯号的程式
结果不如预期,想请教一下大家
我用hfss模拟传输线的特性
x轴为频率讯号2GHz~20GHz共901点,y轴为复数形式
我利用ifft想把它转换成时域形式,但结果与hfss的时域图相差甚远
以下是我的程式码
%读取excel中的起始频率(sf)、截止频率(stf)、资料点数(M)、参考阻抗(TDR)
%计算频宽(bw)、频率变动量(df)、时间变动量(dt)、频率901点(F)
%资料点实数部分(ra)、资料点虚数部分(ia)
clear,clc
fs11 = importdata('fs11.xls');
sf = fs11.data(1,1);
stf = fs11.data(2,1);
M = fs11.data(3,1);
bw = stf-sf;
df = (bw)/M;
dt = 1/(2*(bw));
Ref = fs11.data(4,1);
F = (fs11.data(2:902,4))*10^9;
ra = fs11.data(2:902,5);
ia = fs11.data(2:902,6);
%频域计算部分
Mag = 10*log(sqrt(ra.^2+ia.^2));
%转换时域部分
t = linspace (0,dt*M,M);
s11 = ra+(ia*1j);
c = real(ifft(s11));
%TDR计算部分
TDR=Ref*((1+c)/(1-c));
%绘图部分
subplot(311)
plot(F,Mag);
title('sdd11 (Frequency Domain)')
xlabel('Frequency')
ylabel('dB')
subplot(312)
plot(t,c);
title('sdd11 (Time Domain)')
xlabel('Time')
ylabel('none')
subplot(313)
plot(t,TDR);
title('TDR')
xlabel('Time')
ylabel('Ohm')
最後附上我惨烈的比较图:
http://ppt.cc/WbW0
麻烦大家了 !!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 120.96.45.66
※ 编辑: jackie5229 来自: 120.96.45.66 (07/19 18:30)
1F:→ profyang:印象中用FFT去做CFT的近似好像要平移过= =有点忘了 07/19 22:40
2F:→ qeagle:IFFT的输入每点频率差要相同,你的没有DC到IF的频率,一定错 08/07 21:34
3F:→ qeagle:也就是没有DC-2G的频率,我想一般RF软体计算都有用技巧去处 08/07 21:35
4F:→ qeagle:理,类似上变频下变 频之类的...直接给中间一段不能直接IFFT 08/07 21:35