微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

傅里叶变换将信号分解为多个频率

如何解决傅里叶变换将信号分解为多个频率

我想将一个信号分解成多个离散频率。

enter image description here

^ 这里的顶部波浪由底部的两个离散波浪组成。我的理解是可以使用傅立叶变换将顶部信号分离为多个底层频率。给定下面的一维数组,我想获得那些单独的频率(D294、A440)。


导入数据:我有超过 1575 个时间步长的一维温度读数数组。

import numpy as np

temp_arr_1d = np.array([10.          7.4         7.16666667  8.66666667  6.          7.
  7.          8.85714286 14.         11.         15.71428571 14.
 15.83333333 12.83333333 14.71428571 13.83333333 16.5        13.83333333
 12.5        11.28571429 11.2         9.5        14.         13.83333333
 12.25       12.66666667 12.85714286 14.83333333 14.125      14.71428571
 16.2        16.         16.28571429 18.         17.42857143 16.625
 16.66666667 15.6        14.         15.42857143 15.25       15.875
 15.33333333 16.28571429 17.33333333 19.16666667 14.42857143 13.66666667
 15.6        15.85714286 17.71428571 20.         20.5        17.42857143
 16.85714286 16.875      17.85714286 20.8        19.42857143 17.33333333
 19.         19.33333333 17.6        20.875      20.85714286 23.42857143
 24.16666667 25.42857143 23.14285714 24.         23.5        21.5
 22.33333333 24.16666667 20.33333333 22.66666667 23.42857143 22.5
 29.16666667 23.83333333 25.25       27.375      27.         23.5
 24.14285714 21.         22.42857143 21.25       23.5        23.2
 25.375      25.16666667 26.2        24.6        25.6        25.85714286
 29.14285714 28.71428571 30.16666667 30.         30.         28.85714286
 30.2        28.25       28.25       32.125      29.2        30.28571429
 28.28571429 30.625      27.66666667 27.375      28.625      30.28571429
 31.14285714 29.875      31.14285714 30.57142857 32.125      31.14285714
 31.85714286 29.83333333 28.57142857 32.85714286 32.625      32.75
 32.875      34.5        34.28571429 34.         30.75       29.85714286
 31.71428571 32.28571429 33.         33.         32.83333333 31.4
 35.33333333 36.4        36.         36.75       37.5        38.42857143
 38.71428571 37.8        35.85714286 35.33333333 34.14285714 32.2
 33.625      32.         32.4        35.6        35.85714286 37.16666667
 31.28571429 34.         34.2        36.16666667 36.625      30.16666667
 34.14285714 29.83333333 30.14285714 30.71428571 27.         26.875
 28.4        29.85714286 33.         34.83333333 35.6        35.16666667
 33.14285714 30.57142857 30.66666667 31.42857143 31.5        33.25
 32.83333333 33.85714286 33.14285714 31.57142857 32.375      32.8
 31.         31.16666667 29.83333333 29.         29.75       32.5
 28.875      31.75       30.75       31.75       29.875      31.125
 31.75       30.5        26.83333333 28.2        29.5        31.85714286
 29.71428571 28.33333333 30.         30.14285714 32.28571429 31.
 30.5        28.83333333 30.         31.57142857 32.5        32.5
 29.5        27.16666667 28.375      28.5        27.16666667 29.42857143
 30.         29.5        30.75       29.66666667 27.71428571 26.6
 27.42857143 28.33333333 28.16666667 27.375      28.33333333 29.16666667
 31.28571429 32.         29.         32.         32.14285714 30.14285714
 31.5        29.16666667 29.         30.         31.85714286 32.75
 31.71428571 31.66666667 30.57142857 30.83333333 28.         31.
 29.66666667 30.85714286 31.16666667 31.14285714 30.5        31.625
 29.66666667 29.25       29.14285714 29.8        28.66666667 25.2
 28.33333333 30.28571429 30.75       28.57142857 28.2        29.
 30.         28.14285714 26.85714286 28.28571429 29.2        28.6
 24.83333333 28.5        29.75       29.71428571 29.2        30.83333333
 29.42857143 23.85714286 26.14285714 27.16666667 27.71428571 25.85714286
 26.42857143 26.85714286 26.33333333 24.57142857 24.33333333 24.875
 27.8        25.         23.85714286 22.8        23.         22.875
 22.66666667 23.         22.85714286 23.66666667 23.42857143 21.625
 20.625      21.16666667 18.83333333 20.57142857 20.14285714 18.
 19.85714286 16.83333333 18.85714286 16.57142857 17.75       17.625
 17.         16.625      15.57142857 18.5        17.875      18.25
 17.875      17.625      18.14285714 19.125      21.25       21.25
 19.125      18.625      17.75       17.875      18.         17.25
 17.5        17.14285714 17.14285714 16.125      16.         16.5
 16.125      15.5        16.625      17.75       17.14285714 16.14285714
 15.5        15.25       14.75       14.875      16.125      15.375
 14.75       15.25       14.25       13.5        13.66666667 12.125
 11.875      10.875      10.57142857 12.375      14.5        13.375
 11.         12.5        12.875      12.375      11.42857143 12.14285714
 11.875      12.83333333 12.375      12.125      12.875      14.
 14.875      12.         12.28571429 12.         12.5        14.5
 14.625      13.57142857 15.25       15.625      13.875      11.75
 14.375      16.625      16.625      14.875      14.5        14.75
 14.         15.25       18.42857143 18.85714286 17.         18.5
 19.625      13.625      12.875      12.625      13.375      13.25
 15.25       13.         12.375      13.5        15.125      15.25
 15.125      16.125      17.125      16.625      16.5        16.375
 18.125      18.75       18.625      15.625      16.14285714 16.125
 17.875      18.75       18.875      18.375      18.5        19.875
 22.         20.         20.71428571 20.         19.         19.625
 21.625      23.125      26.25       24.85714286 21.75       21.5
 22.5        25.         22.75       22.375      24.625      25.125
 23.5        24.42857143 25.875      24.125      24.125      24.875
 26.75       25.         25.85714286 27.375      30.125      27.25
 25.75       25.75       26.375      28.14285714 29.125      26.875
 27.625      29.         27.125      26.375      24.25       25.625
 27.         28.         29.375      29.125      29.375      30.625
 31.5        30.625      31.5        32.125      33.25       34.875
 34.375      31.75       31.875      29.75       29.57142857 31.75
 31.375      30.5        30.         29.625      28.         25.25
 26.875      29.5        31.125      29.875      31.5        32.375
 31.125      33.         33.25       34.625      31.5        31.5
 30.125      31.875      33.625      35.25       33.125      34.625
 32.75       32.75       34.875      35.25       36.875      37.5
 38.5        37.625      37.875      37.25       37.625      32.875
 30.25       30.5        33.875      36.375      36.875      33.875
 35.75       38.         36.875      34.5        32.125      33.
 32.25       32.5        34.75       34.875      33.         32.
 31.375      29.5        28.875      31.38888889 34.70588235 30.625
 34.         35.         36.         36.125      36.625      35.875
 31.625      32.375      33.125      32.625      30.75       27.25
 29.875      30.875      32.125      31.625      30.625      30.5
 30.75       32.5        31.71428571 30.         30.25       31.875
 32.5        33.25       30.125      31.5        30.5        29.75
 32.125      31.125      31.         29.23529412 28.5        31.125
 32.125      32.125      30.375      31.125      30.42857143 31.375
 31.875      33.         33.25       32.5        33.         33.125
 33.125      33.875      34.125      33.85714286 29.625      30.375
 28.625      27.625      29.42857143 29.25       28.625      27.875
 26.5        28.5        31.         31.25       31.         28.75
 26.57142857 28.5        29.375      29.125      29.625      30.625
 30.625      30.5        31.         31.125      30.5        30.625
 31.         29.625      30.         30.         30.5        30.25
 30.5        30.625      30.42857143 30.375      30.5        31.
 30.625      30.625      31.         28.75       27.625      27.125
 25.71428571 26.         27.625      24.5        24.5        23.
 25.         24.         23.75       24.75       25.625      25.75
 25.25       25.5        25.25       25.125      24.875      25.125
 24.75       23.875      23.375      22.5        22.875      23.375
 23.625      22.75       23.         24.         23.875      24.125
 21.375      19.25       19.625      18.5        18.375      18.625
 18.25       17.75       17.625      17.5        20.375      18.25
 19.875      17.125      16.875      16.5        19.625      18.125
 19.375      20.25       19.75       20.         21.375      25.
 21.25       17.75       18.25       17.25       17.         15.28571429
 21.5        19.625      17.5        16.         16.875      16.625
 17.75       12.875      11.75       11.75       11.25        9.5
  9.375       9.625       9.875       9.25       10.75       10.375
  9.         11.125      11.625      12.375      14.75       14.875
 15.125      14.125      14.         12.          9.625      10.
 10.625      11.125      11.         10.625      12.25       12.
 12.375      13.         13.5        13.         13.75       13.375
 13.25       12.625      14.625      12.375      13.25       13.75
 13.25       11.71428571 11.5        12.75       13.75       15.
 17.375      16.75       14.625      14.625      15.125      15.875
 16.625      16.875      15.75       16.         15.5        17.25
 19.375      18.875      20.625      21.14285714 21.25       22.75
 22.75       21.875      22.14285714 21.5        22.875      23.125
 20.         19.25       21.25       17.375      17.5        16.25
 16.75       18.75       20.         18.375      19.5        18.125
 17.75       18.25       20.5        21.375      21.5        17.625
 19.85714286 20.875      20.25       21.125      22.5        24.875
 25.125      24.75       25.75       26.625      28.5        27.375
 27.         25.         23.5        25.25       26.42857143 28.71428571
 24.5        21.         23.57142857 25.         23.75       25.625
 26.         27.125      28.25       24.375      24.75       26.25
 27.625      25.25       28.125      30.125      32.125      32.875
 31.75       30.75       30.75       31.125      30.5        28.75
 30.125      31.         31.25       32.625      31.25       30.125
 31.         30.875      32.125      34.125      35.42857143 34.125
 35.125      35.125      34.         33.125      27.75       29.625
 28.5        30.         33.25       35.375      31.5        33.125
 35.625      36.25       37.375      36.         37.75       35.25
 33.75       34.75       35.125      32.25       34.25       29.375
 31.625      28.625      31.875      32.625      33.375      35.
 36.5        37.625      36.625      35.625      35.875      31.125
 27.         31.         32.375      33.875      35.125      35.875
 33.125      30.375      32.125      31.5        37.25       26.625
 31.125      32.625      34.25       31.125      30.875      32.
 33.75       33.         34.125      35.71428571 27.875      28.125
 31.25       29.625      26.625      25.5        25.5        29.875
 30.875      33.375      31.75       30.75       29.5        30.125
 29.125      31.375      32.25       32.125      32.         30.85714286
 30.         29.625      29.5        28.5        29.         29.
 28.25       29.625      31.5        29.42857143 29.59375    29.5
 29.25       28.875      27.375      30.375      28.375      30.75
 32.         30.875      28.5        28.625      30.75       29.125
 31.25       30.75       29.375      30.25       29.875      30.75
 32.         32.         32.5        32.         32.25       32.625
 31.85714286 32.125      31.875      31.625      32.         30.875
 31.25       31.5        31.625      31.         31.25       30.75
 32.14285714 32.125      31.875      33.         32.375      31.375
 31.         30.625      29.14285714 30.125      30.25       28.625
 28.25       28.5        29.25       28.71428571 28.25       29.
 29.         28.125      28.28571429 30.         29.         28.875
 28.375      28.625      28.375      28.5        28.5        28.57142857
 29.25       29.5        28.125      27.5        27.875      28.
 26.85714286 28.14285714 27.71428571 26.5        24.75       24.
 24.875      26.375      25.625      24.75       20.875      22.125
 22.375      22.375      22.875      23.375      24.         23.75
 22.125      22.875      21.875      21.875      21.75       22.75
 21.875      21.875      22.375      22.375      22.5        21.875
 19.875      18.5        18.5        18.5        18.75       18.625
 17.         18.5        19.375      20.         18.5        18.75
 18.125      19.5        19.25       18.125      17.625      17.625
 17.5        17.125      17.625      18.42857143 18.375      19.
 17.25       13.25       12.875      13.25       13.125      13.
 12.25       12.875      12.375      11.75       12.625      12.
 12.5        11.25       11.5        12.75       15.375      17.125
 16.375      15.5        15.         14.71428571 14.         14.375
 15.75       15.83333333 17.375      17.125      15.5        15.85714286
 15.625      15.75       18.         18.26666667 15.5625     13.
 13.6        14.         13.26666667 12.35714286 12.06666667 12.1875
 11.73333333 14.4375     11.1875     11.66666667 14.5625     17.58333333
 16.85714286 19.5625     20.14285714 17.375      15.84615385 15.26666667
 13.125      16.36363636 12.66666667 15.33333333 15.625      17.09090909
 17.76923077 18.13333333 19.6875     19.2        17.06666667 17.64285714
 17.6        18.21428571 18.71428571 19.46666667 23.15384615 23.625
 21.         21.         21.42857143 21.6875     22.5625     22.8
 22.8        23.         23.875      24.91666667 24.93333333 26.
 27.3125     23.93333333 22.8125     23.71428571 23.42857143 24.
 25.5625     25.06666667 24.5625     24.25       22.375      24.06666667
 23.9375     26.3125     26.1875     26.78571429 27.13333333 26.625
 25.0625     26.2        28.13333333 29.875      24.66666667 26.25
 25.93333333 27.125      29.57142857 30.         30.57142857 32.3125
 33.3125     32.8125     32.3125     31.375      29.93333333 29.26666667
 30.73333333 32.25       29.8        30.2        31.75       33.125
 33.625      35.6875     34.66666667 34.625      34.         34.0625
 34.         33.25       31.91666667 31.3125     31.75       33.4375
 33.125      34.15384615 34.07142857 33.0625     34.6875     38.
 35.5        33.71428571 30.6        31.4375     33.3125     35.13333333
 33.53333333 34.         32.5        35.375      37.29411765 36.5625
 37.25       37.21428571 37.5        37.75       37.375      37.4
 36.13333333 36.8        32.21428571 31.52631579 33.2173913  35.26923077
 38.27272727 36.0625     31.5        26.8125     32.64285714 36.
 37.5625     37.5625     38.2        36.16666667 35.42857143 34.625
 36.07142857 35.73333333 36.13333333 33.4375     35.5        36.
 32.625      34.73333333 33.5        34.1875     35.85714286 35.625
 30.9375     32.875      33.125      33.84615385 36.4375     35.42857143
 34.86666667 34.3125     30.78571429 35.375      35.46666667 32.125
 28.4        29.5625     30.6875     33.25       33.26666667 33.5
 30.8        33.25       32.5625     31.5        30.5        31.25
 30.4375     31.         27.125      28.125      27.66666667 32.3125
 34.1875     34.13333333 34.125      31.875      31.4375     31.9375
 30.3125     28.3125     29.53333333 27.375      27.33333333 29.26666667
 29.125      30.6875     32.5625     33.11111111 33.8        30.06666667
 33.11764706 33.80952381 31.61538462 32.         28.10714286 29.03571429
 30.32142857 28.93333333 31.67857143 31.33333333 29.92857143 29.88888889
 32.07142857 33.18518519 31.59259259 32.18518519 31.48       30.17857143
 31.52       31.22222222 31.78571429 33.4        29.57142857 30.04
 27.25925926 27.96       30.73913043 30.89473684 31.69230769 31.07692308
 30.375      31.1        31.91666667 30.55555556 31.23076923 31.
 31.64285714 32.53333333 30.85714286 31.72727273 31.4        32.30769231
 32.25       32.375      33.44444444 33.36       30.03703704 31.
 31.24       31.13043478 31.48       32.18518519 32.44       32.22727273
 32.21428571 32.54166667 32.81481481 33.26923077 30.55555556 28.83333333
 30.7037037  30.96       30.6        30.92       29.77777778 29.66666667
 29.57142857 29.96296296 29.75       27.74074074 28.42857143 28.6
 28.5        28.92592593 29.07692308 28.40909091 29.33333333 27.5
 28.5        28.04       27.57692308 26.55555556 25.51851852 25.81481481
 24.82608696 24.53846154 24.38461538 23.72727273 25.64       24.81481481
 23.11538462 22.92592593 24.54545455 23.73076923 23.         23.51851852
 23.92       23.53846154 24.2962963  23.34615385 22.24       21.76923077
 21.73076923 21.73076923 20.66666667 22.25       21.53846154 22.57894737
 22.82608696 21.42105263 23.6        24.29411765 23.63636364 22.45454545
 21.61111111 19.86956522 19.75       19.20833333 21.20833333 18.9
 18.63636364 18.53846154 18.25       16.9        19.41666667 16.44444444
 20.04166667 19.90909091 19.05       18.55555556 18.16666667 15.83333333
 17.5        16.08333333 17.85714286 19.8        18.05       17.28571429
 15.55       17.31818182 14.         17.14285714 16.85       17.2173913
 15.23809524 14.0952381  15.05263158 15.91304348 18.5        17.11111111
 18.7        18.38888889 19.31818182 14.70833333 15.68421053 14.57142857
 12.11111111 11.         11.78947368 13.23529412 13.2        16.43478261
 14.65       11.72222222 13.04166667 14.61904762 15.26315789 15.39130435
 18.44       18.11764706 18.34782609 21.         16.17857143 16.5
 14.86363636 15.66666667 16.44444444 16.125      15.25       17.09090909
 15.63636364 18.7        18.63157895 16.88888889 15.125      15.7
 15.375      14.66666667 15.625      16.25       16.33333333 16.875
 17.57142857 20.25       21.3        21.125      22.36363636 23.375
 21.83333333 19.125      18.625      19.125      19.         18.75
 19.875      23.33333333 24.46153846 23.75       20.5        19.125
 19.75       20.         22.625      21.54545455 20.78571429 19.9375
 18.53333333 17.375      17.44444444 18.         19.875      24.
 20.9        24.69230769 24.66666667 23.33333333 25.         27.25
 28.         28.91666667 26.5        29.1        29.5        29.88888889
 31.         29.28571429 30.625      31.375      29.75       30.5
 30.93333333 29.23076923 31.22222222 27.         25.625      27.125
 27.85714286 29.25       29.25       29.66666667 30.5        31.22222222
 31.         32.55555556 34.         33.5        34.5        34.25
 32.9        32.875      32.        ])

temp_arr_1d.shape
(1575,)

运行转换

https://numpy.org/doc/stable/reference/routines.fft.html

>>> np.fft.fft(temp_arr_1d).shape
(1575,)

我该怎么做?

解决方法

FFT 为您提供频谱 + 相位数据。 获取光谱的代码:

import numpy as np
import matplotlib.pyplot as plt
temp_arr_1d = np.array(...)
# transfrom and shift to get contiguous data
transform = np.fft.fftshift(np.fft.fft(temp_arr_1d))
# squared modulus is the spectral power
spectral_power = np.abs(transform)**2
# plotting routines
plt.figure(figsize=(10,10))
plt.plot(spectral_power)
plt.xlim(770,810)
plt.show()

您的信号包含一个非常强的频率 + 两个边带。见下图。 the central frequency

你想达到什么目的?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。