Octave的重采样功能?

时间:2015-10-14 22:52:53

标签: matlab octave

我正在尝试将MATLAB脚本转换为Octave文件。我正在使用Octave 4.0。

在MATLAB脚本中,我遇到了格式为resample(X,tx,fx)的行。 Octave中是否存在此重采样函数的等效函数?

我不是在寻找函数resample(X,p,q)。

根据Mathworks网站: y = resample(x,p,q)以原始采样率的p / q倍重新采样输入序列x。 y = resample(x,tx,fs)使用多相抗混叠滤波器以fs中指定的均匀采样率重新采样信号。

3 个答案:

答案 0 :(得分:1)

请输入Octave:

 >>  help resample

答案是(在我的电脑中我之前安装过这个包):

  

错误:帮助:'重新采样'函数属于信号包   来自Octave Forge,你已安装但未加载。加载   包,运行`pkg load signal'从八度提示。

您必须安装并加载信号包。请参阅root Octave目录中的README.html文件中的说明(Windows分发中的示例):

  
      
  • 运行脚本build_packages.m以构建和安装软件包。   安装是一次性程序。安装包后必须   仍然加载以便与pkg加载PACKAGENAME一起使用它们   命令。
  •   

答案 1 :(得分:0)

在文档here中,它说有一个。您应该能够像文档一样使用它。

[y, h] = resample (x, p, q)

答案 2 :(得分:0)

对于那些需要Matlab的resample()提供非均匀统一采样但Octave的resample()不需要的人,可以改用interp1()

 y = resample(X, tx, fs)

可以转换为

 samplecount = (max(tx) - min(tx)) * fs
 y = interp1(tx, X, linspace(min(tx), max(tx), samplecount))