使用 numpy 平均周期信号的单个周期
Average a single period of a periodic signal with numpy
我在大学做过测量。信号有很多噪声,但是是周期性的。
我知道信号开始的点 (x=36400) 以及频率 (1Hz) 和采样率 (48000) 是多少。所以我可以"cut"单期每48000点。我可以生成这样的数组 [[period1],[period2],...,[period100]]
,其中每个周期都包含测量值。
我现在想对每个周期进行平均以获得噪声较小的信号。我知道如何使用 for 循环来做到这一点,但是有什么快速的方法可以为此使用 numpy 吗?
首先,您需要对数组进行切片以获得有意义的部分
n_periods = 10 # or however man
beginning_idx = 1000 # or whever the good data begins
raw_signal = ... # this is the data you read in
good_signal = raw_signal[beginning_idx:beginning_idx + n_periods * 48000]
periodic = good_signal.reshape(n_periods, 48000)
avg_signal = periodic.mean(axis=0)
我在大学做过测量。信号有很多噪声,但是是周期性的。
我知道信号开始的点 (x=36400) 以及频率 (1Hz) 和采样率 (48000) 是多少。所以我可以"cut"单期每48000点。我可以生成这样的数组 [[period1],[period2],...,[period100]]
,其中每个周期都包含测量值。
我现在想对每个周期进行平均以获得噪声较小的信号。我知道如何使用 for 循环来做到这一点,但是有什么快速的方法可以为此使用 numpy 吗?
首先,您需要对数组进行切片以获得有意义的部分
n_periods = 10 # or however man
beginning_idx = 1000 # or whever the good data begins
raw_signal = ... # this is the data you read in
good_signal = raw_signal[beginning_idx:beginning_idx + n_periods * 48000]
periodic = good_signal.reshape(n_periods, 48000)
avg_signal = periodic.mean(axis=0)