两个矢量我有以下问题:把在相同的长度
我有两个数据向量V1(长度N1 = 13812)和V2(长度N2 = 60002021)。我必须使用插值bzw使两个矢量的长度相同N3。下采样,要求:2xN1。
有人可以帮我吗?我的想法是使用:interp,interp1和下采样来解决问题。这是正确的方法吗?
两个矢量我有以下问题:把在相同的长度
我有两个数据向量V1(长度N1 = 13812)和V2(长度N2 = 60002021)。我必须使用插值bzw使两个矢量的长度相同N3。下采样,要求:2xN1。
有人可以帮我吗?我的想法是使用:interp,interp1和下采样来解决问题。这是正确的方法吗?
根据您的信号和采样率,使用interp1
可能不是正确的做法。 有一个resample
功能,您可以使用这样的:其中参数p
,q
取决于你的载体v2
的采样率
v1_resampled = resample(v1, 2, 1);
v2_resampled = resample(v2, p, q);
。
始终检查重新采样向量的开始/结束。检查NaNs,如果您进行非等距采样,请小心。
另一种可能的选择是对高分辨率信号使用移动平均/移动中值滤波器。最好的重采样方法确实取决于信号类型。
'resample'需要信号处理工具箱。 – rayryeng
你只需要'interp1'或'interp2'取决于你的尺寸 –
这里有一个例子说明为什么你不应该使用interp1来下采样信号:t = 1:0.01:30; X = SIN(T); (1:3:30,interp1(t,x,1:3:30),'o-');等一下; plot(t,x);拖延 – serigado