我们如何将我们的长时域信号分成相等的部分然后应用小波变换?
How can we divide our long-time domain signal into equal segments and then apply Wavelet transform?
我有一个时域信号,样本大小为 80000。我想将这些样本分成大小相等的片段,并对其应用小波变换。
我该怎么做这一步。请指导我。
谢谢
分割原始数据的一种方法是简单地使用 numpy 的 reshape 函数。
假设您想将数据重塑为 2000 个样本长段:
import numpy as np
original_time_series = np.random.random(80000)
window_size = 2000
reshaped_time_series = original_time_series.reshape((window_size,-1))
当然,您需要确保时间序列中的样本总数是 window_size
的倍数。否则,您可以 trim 您输入的时间序列来满足此要求。
然后您可以将小波变换应用于重塑数组中的每个段。
之前的答案假定您需要非重叠片段。根据您想要实现的目标,您可能更喜欢使用跨步或滑动 window( 例如 有 50% 的重叠)。这个问题已经详细讨论了here。
我有一个时域信号,样本大小为 80000。我想将这些样本分成大小相等的片段,并对其应用小波变换。 我该怎么做这一步。请指导我。 谢谢
分割原始数据的一种方法是简单地使用 numpy 的 reshape 函数。 假设您想将数据重塑为 2000 个样本长段:
import numpy as np
original_time_series = np.random.random(80000)
window_size = 2000
reshaped_time_series = original_time_series.reshape((window_size,-1))
当然,您需要确保时间序列中的样本总数是 window_size
的倍数。否则,您可以 trim 您输入的时间序列来满足此要求。
然后您可以将小波变换应用于重塑数组中的每个段。
之前的答案假定您需要非重叠片段。根据您想要实现的目标,您可能更喜欢使用跨步或滑动 window( 例如 有 50% 的重叠)。这个问题已经详细讨论了here。