我正在尝试将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中指定的均匀采样率重新采样信号。
答案 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))