R 傅里叶变换定理在复信号中的应用

R 傅里叶变换定理在复信号中的应用,r,time,signal-processing,fft,phase,R,Time,Signal Processing,Fft,Phase,我试着把这个方法应用到R中的一个复杂信号上。然而,只有我的信号的幅度会像我预期的那样移动。我认为应该可以将这个定理应用于复杂信号,所以我可能在某个地方出错。我猜我计算的频率轴有一个误差 如何正确地将傅里叶移位定理应用于复杂信号(使用R) 正如你所看到的,信号的幅度发生了很好的偏移,但是相位被扰乱了。我想负频率就是我的错误所在,但我看不到 我做错了什么 关于傅里叶相移定理,我可以找到以下问题: 但这些并不是复杂的信号。答案 正如Steve在评论中所建议的,我检查了第6元素的阶段 >

我试着把这个方法应用到R中的一个复杂信号上。然而,只有我的信号的幅度会像我预期的那样移动。我认为应该可以将这个定理应用于复杂信号,所以我可能在某个地方出错。我猜我计算的频率轴有一个误差

如何正确地将傅里叶移位定理应用于复杂信号(使用R)

正如你所看到的,信号的幅度发生了很好的偏移,但是相位被扰乱了。我想负频率就是我的错误所在,但我看不到

我做错了什么


关于傅里叶相移定理,我可以找到以下问题:


但这些并不是复杂的信号。

答案

正如Steve在评论中所建议的,我检查了第6元素的阶段

> Arg(t.out)[6]
[1] 0.7853982
> Arg(t.in)[1]
[1] 0.7853982
因此,唯一一个具有幅值(至少比
EPS
高一个数量级)的元素确实具有我预期的相位

TL;DR问题的原始方法的结果已经是正确的,我们看到吉布斯现象正在逐渐消失


只需丢弃低量级元素?


如果有任何时候,元素的相位应该为零将是一个问题,我可以运行
t.out[Mod(t.out),如果幅值为零(机器精度)然后相位不会告诉你太多。第六学期的相位正确吗?@Steve没有看到这一点,你是对的!你认为我可以按原样使用移位信号,还是应该将其设置为0,其中
Mod(t.out)<.Machine$double.eps
?另外,请注意回答这个问题,或者我应该删除这个问题吗?可能是标记为重复而不是删除这个问题的一个很好的候选者?不,这不是关于相移定理,而是关于重新排列fft元素以供某些函数使用。有一些类似的问题,但没有关于复杂的信号.等等.我会给这篇文章添加一些链接.请随意把你的研究放在一起作为答案。
> Arg(t.out)[6]
[1] 0.7853982
> Arg(t.in)[1]
[1] 0.7853982