【发布时间】:2017-08-01 16:52:58
【问题描述】:
请假设我们有以下测试信号:
import numpy as np
fs = 10000
f1 = 60
duration = 10
samples = int(fs*duration)
t = np.arange(samples) / fs
signal = 15 * t * np.sin(2.0*np.pi*f1*t)
使用卷积计算 RMS 值如下:
def calculate_rms(signal, N):
sig2 = np.power(signal,2)
window = np.ones(N)/float(N)
return np.sqrt(np.convolve(sig2, window, 'valid'))
N = (1.0 / f1) * fs
RMS = calculate_rms(signal,N)
然而,在卷积之后,RMS 的数据点当然比t 和signal 少,我不知道如何对t 和signal 进行后处理,以便能够将它们与RMS 与 signal=f(t) 和 RMS=f(t) 在同一情节中,但不会扭曲时间维度。
【问题讨论】:
标签: python python-2.7 numpy signal-processing