我有一维信号阵列。此数组包含有关我要使用public class MySketch extends PApplet{
Thing thing = new Thing(this);
public void draw(){
thing.draw();
}
}
public class Thing{
PApplet mainSketch;
public Thing(PApplet mainSketch){
this.mainSketch = mainSketch;
}
public void draw(){
mainSketch.ellipse(100, 100, 100, 100);
}
}
分析的某些功能的信息。
作为一个例子,我尝试了以下内容:
我的函数应该是简单的正弦波np.fft
,理论上当我通过这个函数放入一个输入数组时,我会得到一个信号数组,当用fft转换时应该告诉我那个主要组件信号是(伪代码)lambda x : sin(x)
。
到目前为止,我无法从这里得到任何答案,所以我提出了这个问题。
现在我的问题:如何从信号中获得“原始”正弦分量权重?
这就是我被困住的地方:
signal = 1* sin(x)
答案 0 :(得分:1)
即使此处显示了您的x
变量,我认为您还没有生成定期函数。这对我来说很好:
import numpy as np
x=np.linspace(0,np.pi*2,100,endpoint=False)
y=np.sin(x)
yf=np.fft.rfft(y)
输出
(-1.5265566588595902e-16+0.0j)
(-1.8485213360008856e-14+-50.0j)
(5.8988036787285649e-15+-3.4015634637549994e-16j)
(-1.0781745022416177e-14+-3.176912458933349e-15j)
(6.9770353907875146e-15+-3.6920723832369405e-15j)
唯一没有虚数的是模式1。