傅里叶反变换存在误差的问题

5视图(30天)
我有一个MATLAB代码,我需要进行傅里叶反变换,但它不会产生任何输出。看来某些数据点在频域被跳过,也许这可能是MATLAB的原因不能进行傅里叶反变换到时域。
拜托,谁能帮我解决这个问题。高兴找到以下代码。提前感谢您的回应。
清晰的所有,近所有clc;
%的目标代码;单镜头描述一个给定的太赫兹脉冲即描述利用啁啾脉冲太赫兹脉冲
N = 1024 * 2 ^ 14;
dt = 1 e-14;
t = (0: N / 2 - 1) * dt;
df = 1 / (N * dt);
f = (0: N / 2 - 1) * df; w = 2 *π* f;
d = 500 e-6;
m = (289.27 - (6 * (f * 1 e-12) ^ 2)) / (29.16 - ((f * 1 e-12) ^ 2));
q =实际(sqrt (m));太赫兹辐射指数%阶段
s = 3.2394; c = 3 e8;
T = 0.15 e-12;
first_term = exp (- (w) ^ 2 * t ^ 2/4)。* (sqrt(2) *π* t / (q。^ 2 - s ^ 2));
second_term = 0.5。* (1 + (s / q)。* (exp(我。* w。* q * d / c));
third_term = (0.5 * (1 - (s / q)。* exp(我。*。*。* d / c));
fourth_term = exp(我。*。*。* d / c);
结果= first_term。* (second_term + third_term - fourth_term);
结果= abs(结果)。^ 2;
图(1);情节(f,结果);标题(“频率图”)
图(2);情节(t,传输线(结果));标题(“时间曲线图”)

接受的答案

大卫Goodmanson
大卫Goodmanson 2021年9月6日
你好,
原来变量m是积极的在大部分的范围内,但为数组元素是负的
> > [min(找到(m < 0))马克斯(找到(m < 0)))
ans = 905971 1164920
因为分母表达式的m是消极和积极分子。因为你问定义为
q =实际(sqrt (m)),
q = 0。第二和第三条款包含的s / q,所以第二和第三项是无限的在这一地区,并减去第二和第三条款意味着结果nan。你可以画出结果或结果以来策划忽略nan。但传输线是行不通的。
所以你需要决定问应该做什么当m是负的。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!