24小时热门版块排行榜    

查看: 1282  |  回复: 4

朱十三

铁杆木虫 (正式写手)

[求助] matlab做fft和ifft的问题 已有1人参与

帮我看一下程序,我的程序写得是通过公式算得频域信号(E_THz2),然后给所得频域信号做傅立叶逆变换得到时域信号(E_t)
我程序如下:

clear all;
clc;

n_g=3.24;                                % optical index
tao_F=100*10^(-15);              % full width at half maximum
tao=tao_F/(2*(log(2))^(1/2));  % full width at 1/e maximum
c=3*10^8;                               % light velocity

omega=00.01*10^12*2*pi)10*10^12*2*pi);         % angular frequency
eps=6+((3.92*((5.32*2*pi*10^12)^2)))./((5.32*2*pi*10^12)^2-(omega).^2+(2*i*2*pi*10^12).*omega); % dielecreic function at THz range

freq=omega./(2*pi*10^12);                                   % frequency

kai=eps-1;                                                              % second susceptibility

%%%%%%%
%n_THz=sqrt(eps);
n_THz=real(sqrt(eps))+imag(sqrt(eps));                 % index of ZnTe at THz range
%%%%%%
z=500*10^(-6);                                                     % crystal thickness

E_THz=sqrt(2)*pi.*kai./(n_THz.^2-n_g^2)*tao.*exp((-1/4).*omega.^2.*tao^2).*...
(0.5.*(1+n_g./n_THz).* exp(i.*omega.*n_THz.*z./c)+0.5.*(1-n_g./n_THz).*exp(-i.*omega.*n_THz.*z./c)-exp(i*omega.*n_g*z./c));
% THz electric field

E_THz2=abs(E_THz).^2; % THz complex electric field modular

E=[freq', E_THz2'];
save('E_THz(omega).dat','E','-ascii');

figure(1)
plot(freq,E_THz2);
xlabel('frequency (THz)');
ylabel('E_T_H_z (arb.u.)');

E_t=ifft(E_THz2); %inverse fourier transform
figure(2)
plot(E_t);
我的问题:
1. 为什么程序里n_THz=sqrt(eps) 和n_THz=real(sqrt(eps))+imag(sqrt(eps))算出来的n_THz结果不一样?eps是复数的时候两种写法应该一样才对
2. 我对傅立叶变换和逆变换不懂,请帮我改一下逆变换的程序

matlab做fft和ifft的问题
2.png


matlab做fft和ifft的问题-1
1.png
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

话说,以前穷人是不取名的,以出生日期命名,如此算来本来该叫廿三。无奈竟忘记还有廿字,遂减去十,故称十三
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wake_up

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
朱十三: 金币+5, 有帮助 2015-11-10 21:23:56
eps在matlab里面是不是保留字啊?你拿来当变量用了?

发自小木虫Android客户端
扫地扫地扫心地,心地不扫空扫地,人人都把心地扫,世上无处不净地.
2楼2015-11-08 23:27:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

朱十三

铁杆木虫 (正式写手)

引用回帖:
2楼: Originally posted by wake_up at 2015-11-08 23:27:54
eps在matlab里面是不是保留字啊?你拿来当变量用了?

应该没有问题,之前也用它,麻烦问一下,我有频域数据,用ifft做傅立叶变换后,频率怎么换算成时间?
话说,以前穷人是不取名的,以出生日期命名,如此算来本来该叫廿三。无奈竟忘记还有廿字,遂减去十,故称十三
3楼2015-11-10 21:26:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wake_up

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
朱十三: 金币+15, ★★★很有帮助 2015-11-11 21:00:22
1.傅立叶的原理就注定了它没有时间定位的能力(小波可以做到时间定位)。
2. fft在一维的情况下, 你给它一个时间序列(离散数值序列),它给你算出一个频谱。
3. ifft,你给它一个频谱, 它能给你还原一段序列。

因为作FFT时你就没办法给时间信息,只能给序列信息。 所以还原出来的序列,你也只能拿你当给的时间参数算。反变换后的序列应该和你原时间序列一致。
扫地扫地扫心地,心地不扫空扫地,人人都把心地扫,世上无处不净地.
4楼2015-11-11 16:51:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

骆驼小枣

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by wake_up at 2015-11-11 16:51:26
1.傅立叶的原理就注定了它没有时间定位的能力(小波可以做到时间定位)。
2. fft在一维的情况下, 你给它一个时间序列(离散数值序列),它给你算出一个频谱。
3. ifft,你给它一个频谱, 它能给你还原一段序列。

...

你好!我将用FFT分析信号,能不能教教我怎磨用软件进行FFT变换 谢谢!可以有偿
5楼2016-03-25 09:20:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 朱十三 的主题更新
信息提示
请填处理意见