我试图在一些实验数据上使用 MATLAB 中的 ifft 函数,但我没有得到预期的结果。
我有对数正弦扫描激励的频率数据,因此我知道幅度 [g's]、频率 [Hz] 和相位(这是 0,因为该点是一个引导点)。
我试图将它直接提供给 ifft 函数,但结果是我得到了一个复数(我期待一个真实的结果,因为它是一个时间信号)。我认为问题可能是信号不对称,因此我以这种方式计算了对称部分(在“for”循环中)
x(i) = conj(x(mod(N-i+1,N)+1))
我将它添加到幅度矢量的末尾。
new_amp = [amplitude x];
这样,新的幅度向量是对称的,但现在我也将该向量的维度加倍,这意味着我也必须将频率向量的维度加倍。
无论如何,我将新的幅度矢量输入到 ifft,但我仍然没有得到对数正弦扫描,尽管这次输出如预期的那样是真实的。
为了计算绘图的时间 [s],我使用了以下公式:
t = 60*3.33*log10(f/f(1))/(sweep rate)
我究竟做错了什么?先感谢您