我不确定我的问题的正确标题是什么
那么问题来了
假设我有 N 个样本,例如:
1
2
3
4
.
.
.
N
现在我想通过从 N 个样本中转储 (N-M) 数据来将样本的大小从 N“减少”到 M。
我希望倾销尽可能“分散”,
因此,如果我有 100 个样本并想将其压缩为 50 个样本,我会丢弃所有其他样本。另一个例子,假设数据是 100 个样本,我想将其压缩为 25 个样本。我会在每组 100/25 个样本中丢弃 1 个样本,这意味着我会遍历每个样本并进行计数,每次计数达到 4 时,我都会丢弃样本并重新开始计数。
问题是,如果上面的 4 是 2.333,我该怎么做。我如何对待小数点以分布式丢弃样本?
非常感谢..
最佳答案
您正在寻找的条款是 resampling , downsampling和 decimation .请注意,在一般情况下,您不能在不冒风险的情况下丢掉一部分数据aliasing .您需要low pass filter在抽取之前,首先您的数据,以便在您的新 Nyquist rate 之上没有信息这将是别名。
当您想按非整数值进行下采样时,例如2.333 根据你上面的例子,你通常会通过一个整数因子 M 上采样,然后用一个不同的整数因子 N 下采样来做到这一点,其中分数 M/N
为您提供所需的重采样因子。在您的示例中 M = 3
和 N = 7
,因此您将上采样 3 倍,然后下采样 7 倍。
关于java - 分布式 "dumping"/"compressing"数据样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8905890/