Python中进行逆傅里叶变换后如何获取对应的时间轴?
IFFT转换后时间轴计算方法
你需要先确认两个基础参数:频域数据的采样点数、频域的频率间隔Δf(单位Hz),之后按以下步骤计算即可:
步骤1:提取/计算基础参数
- 频域点数直接从输入序列获取:
N = len(func_w) - 频率间隔Δf的两种获取方式:
- 如果你已有标定好的频域轴
f:delta_f = f[1] - f[0] - 如果你仅知道频域测量范围是[-f_max, f_max]:
delta_f = 2 * f_max / (N - 1)
- 如果你已有标定好的频域轴
步骤2:计算时域基础参数
- 时域采样间隔:
delta_t = 1 / (N * delta_f),Δf单位为Hz时,delta_t的单位为秒 - 时域总时长:
total_t = 1 / delta_f
步骤3:生成匹配ifft(ifftshift(func_w))输出的时间轴
由于你调用了ifftshift将零频从序列中心移到序列首位再做IFFT,生成以0为中心的对称时间轴最匹配脉冲类信号的展示,代码如下:
import numpy as np t = np.linspace(-N/2 * delta_t, (N/2 - 1) * delta_t, N)
补充说明
如果你需要从0开始的时间轴,可以直接生成:
t = np.linspace(0, (N-1)*delta_t, N)
但注意此时绘制的脉冲信号会出现半个总时长的相位偏移,不符合常规脉冲信号的观测习惯,仅适合需要绝对时间起点的场景。
内容的提问来源于stack exchange,提问作者Rana M.Al-Marshedy
相关产品推荐
相关产品推荐

