我有一个一维信号阵列。这个数组包含一些我想用np.fft
分析的特性的信息。你知道吗
作为一个例子,我尝试了以下方法:
我的函数应该是简单的正弦波lambda x : sin(x)
,理论上,当我把一个输入数组通过这个函数时,我会得到一个信号数组,当用fft变换时,它应该告诉我信号的主要成分是(伪码)signal = 1* sin(x)
。你知道吗
到目前为止,我无法从这里的任何答案得到任何明智的,所以我提出了这个问题。你知道吗
现在我的问题是:如何从信号中获得“原始”正弦分量权重?你知道吗
这就是我被困的地方:
>>> y = f(x)
>>> fqs = np.fft.fft(y)
>>> fqs
array([ 3.07768354+0.00000000e+00j, 3.68364588+8.32272378e-16j,
8.73514635-7.15951776e-15j, -7.34287625+1.04901868e-14j,
-2.15156054+5.10742080e-15j, -1.1755705 +4.87611209e-16j,
-0.78767676+3.40334406e-16j, -0.58990993+4.25167217e-16j,
-0.476018 -3.43242308e-16j, -0.40636656+1.13055751e-15j,
-0.36327126+1.55440604e-16j, -0.33804202-1.07128132e-16j,
-0.32634218+2.76861429e-16j, -0.32634218+8.99298797e-16j,
-0.33804202+5.02435797e-16j, -0.36327126-1.55440604e-16j,
-0.40636656-3.06536611e-16j, -0.476018 -4.57882679e-17j,
-0.58990993+4.31587904e-16j, -0.78767676+9.75500354e-16j,
-1.1755705 -4.87611209e-16j, -2.15156054-1.87113952e-15j,
-7.34287625+1.79193327e-15j, 8.73514635-6.76648711e-15j,
3.68364588-6.60371698e-15j])
>>> np.abs(_)
array([3.07768354, 3.68364588, 8.73514635, 7.34287625, 2.15156054,
1.1755705 , 0.78767676, 0.58990993, 0.476018 , 0.40636656,
0.36327126, 0.33804202, 0.32634218, 0.32634218, 0.33804202,
0.36327126, 0.40636656, 0.476018 , 0.58990993, 0.78767676,
1.1755705 , 2.15156054, 7.34287625, 8.73514635, 3.68364588])
>>> where do I find my 1*sin(x) ?
尽管这里显示了
x
变量,但我认为您并没有生成周期函数。这对我来说很好:输出为
唯一的零虚数是在模式1。你知道吗
相关问题 更多 >
编程相关推荐