【问题标题】:Resample factors are too large重采样因子太大
【发布时间】:2014-12-30 12:59:09
【问题描述】:

我有大量的记录数据向量,需要重新采样。我遇到的问题是在使用resample时,出现如下错误:

???在 82 处使用 ==> upfirdn 时出错 下采样因子的乘积 Q 和上采样因子 P 必须小于 2^31。

现在,我明白为什么会发生这种情况了——我的两个采样率非常接近,所以整数因子需要很大(比如 73999/74000)。不幸的是,这意味着 MATLAB 无法创建适当的过滤器。我也尝试过重新采样,然后再重新采样,但没有足够的内存来处理 100 万个数据样本(我的是 93M)。

我还可以使用哪些其他方法来正确重新采样这些数据?

【问题讨论】:

  • 可以申请resample两次吗?
  • @Kamtal 你将如何应用它两次?使用较小的比率,当连续完成时,等于我想要的?我尝试过最简单的版本,从仅上采样开始,然后再下采样,但我没有足够的内存。
  • 自己写? This paper 很好地描述了如何实现强大的重采样器。
  • 你的数据长度是多少?
  • @Kamtal 大约 9300 万,正如我在问题中所说的那样。

标签: matlab signal-processing resampling


【解决方案1】:

内插多相 FIR 滤波器可用于仅内插新的一组采样点,而无需使用上采样 + 下采样过程。

但如果性能完全不重要,这里是Quick and Dirty windowed-Sinc interpolator in Basic

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-22
    • 2017-04-05
    • 1970-01-01
    • 2022-01-04
    • 2014-12-02
    • 2017-10-16
    • 2015-06-28
    相关资源
    最近更新 更多