【问题标题】:R equivalent of MATLAB's filter functionR 等效于 MATLAB 的 filter 函数
【发布时间】:2012-02-21 07:51:01
【问题描述】:

我正在使 MATLAB 代码适应 R 并尝试使用 ARMA 公式生成波形。 MATLAB 的filter 是否有一个简单的 R 等效函数来获取 AR/MA 系数来构建波形?

npts = 100;
a = [1 0.6]; % AR coeffs
b = [1 0.25 3]; % MA coeffs
e = randn(npts,1); % generate gaussian white noise
waveform = filter(b,a,e); % generate waveform

【问题讨论】:

    标签: r matlab signal-processing waveform


    【解决方案1】:

    是的,您可以使用arima.sim 执行此操作,例如

    arima.sim(npts, model=list(ar=a, ma=b), rand.gen=rnorm)
    

    请注意,已检查模型的平稳性,并且您上面的模型不是平稳的。如果您想要集成某些东西,您可以在模型中指定集成顺序。

    【讨论】:

    • 这个模型的合适顺序是什么?
    • 如果他使用非合成数据怎么办?
    【解决方案2】:

    嗯,你不能用 signal 包中的 filter 函数来实现吗?

    require(signal)
    a = c(1,0.6)
    b = c(1,0.25,3)
    e = rnorm(100)
    waveform = filter(b,a,e)
    

    【讨论】:

    • 谢谢。我也用过这个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-19
    相关资源
    最近更新 更多