R:当反转频率范围时,产生具有可变频率的正弦波并不像我期望的那样工作

R:当反转频率范围时,产生具有可变频率的正弦波并不像我期望的那样工作,r,signal-processing,trigonometry,R,Signal Processing,Trigonometry,这个问题是一个延伸,但差异很大,我认为它构成了它自己的帖子 我正在生成频率可变的正弦波,但是我对我的结果有点困惑。第一个像我预期的那样工作,给我一个频率越来越高的波 x <- 1:5e+3 f <- x/1e+6 y <- cos(2*pi*f*x) plot(x, y, type='l', col='darkblue') 这不是我所期望的。我本以为反转频率向量会给我一个与前一个完全相反的图。当我在计算中反转x(rev(x))时,我得到了我想要的图,但我真的不明白发生了什么

这个问题是一个延伸,但差异很大,我认为它构成了它自己的帖子

我正在生成频率可变的正弦波,但是我对我的结果有点困惑。第一个像我预期的那样工作,给我一个频率越来越高的波

x <- 1:5e+3
f <- x/1e+6
y <- cos(2*pi*f*x)
plot(x, y, type='l', col='darkblue')

这不是我所期望的。我本以为反转频率向量会给我一个与前一个完全相反的图。当我在计算中反转x(
rev(x)
)时,我得到了我想要的图,但我真的不明白发生了什么。为什么它从快到慢再到快,为什么我们在中心只有一半的振幅


我确信我的理解是错误的,而不是代码

初始绘图等于
cos(x^2*常数)

要在1和5000之间反转,需要
cos((5000-x)^2*常量)
。使用
rev(f)
有效地将其中一个x项替换为
(5000-x)
,但仍有一个x项未反转,因此您的公式有效地显示了
cos((5000-x)*x*常数)

比较这些公式,以了解为什么该公式会在余弦频率中产生与预期不同的模式:

你从什么开始:

仅反转一个
x
术语:

正确的反转:


您的初始绘图等于
cos(x^2*常数)

要在1和5000之间反转,需要
cos((5000-x)^2*常量)
。使用
rev(f)
有效地将其中一个x项替换为
(5000-x)
,但仍有一个x项未反转,因此您的公式有效地显示了
cos((5000-x)*x*常数)

比较这些公式,以了解为什么该公式会在余弦频率中产生与预期不同的模式:

你从什么开始:

仅反转一个
x
术语:

正确的反转:


非常感谢@Jon!这一点非常清楚。如果你有时间,你能把你的答案扩展到同样的原则,但稍微复杂一点吗?我仍然有点不明白该怎么做。否则我会看看自己能不能应付。非常感谢你@Jon!这一点非常清楚。如果你有时间,你能把你的答案扩展到同样的原则,但稍微复杂一点吗?我仍然有点不明白该怎么做。否则我会看看自己是否能应付。
y <- cos(2*pi*rev(f)*x)
plot(x, y, type='l', col='darkblue')