【发布时间】:2020-03-24 02:38:42
【问题描述】:
我有一组包含任意形状的向量,例如具有单个最大值的三角形脉冲。 我需要通过整数因子对这些向量进行下采样。 最大值相对于向量长度的位置应保持不变。
下面的代码显示,当我这样做时,下采样步骤引入了一个bias=-0.0085,平均应该为零。
根据向量的数量,偏差似乎没有太大变化(尝试在 200 到 800 个向量之间) .
我还尝试了不同的重采样函数,例如 downsample 和 decimate,得到了相同的结果。
datapoints = zeros(1000,800);
for ii = 1:size(datapoints,2)
datapoints(ii:ii+18,ii) = [1:10,9:-1:1];
end
%downsample each column of the data
datapoints_downsampled = datapoints(1:10:end,:);
[~,maxinds_downsampled] = max(datapoints_downsampled);
[~,maxinds] = max(datapoints);
%bias needs to be zero
bias = mean(maxinds/size(datapoints,1)-maxinds_downsampled/size(datapoints_downsampled,1))
此图显示,存在不依赖于向量数量的系统偏差
如何消除这种偏见?有没有办法只给一个向量来确定它的大小?
它来自哪里?
【问题讨论】:
-
你是如何得出这个分布的?分布的均值不等于偏差吗?
标签: matlab resampling downsampling