diff options
author | Suraj Yerramilli | 2015-06-07 23:32:57 +0530 |
---|---|---|
committer | Suraj Yerramilli | 2015-06-07 23:32:57 +0530 |
commit | 187aa8ef794638fd840c02a76e294485c5c85f2e (patch) | |
tree | 6609b5a988ae5552ecda9edb53da9a6397cbf75e /R | |
parent | 09f4e59316031f8d9334df3e9d9f635bcf096f57 (diff) | |
download | SysID-R-code-187aa8ef794638fd840c02a76e294485c5c85f2e.tar.gz SysID-R-code-187aa8ef794638fd840c02a76e294485c5c85f2e.tar.bz2 SysID-R-code-187aa8ef794638fd840c02a76e294485c5c85f2e.zip |
Added sim routine for univariate idoply models
Diffstat (limited to 'R')
-rw-r--r-- | R/sim.R | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -47,4 +47,24 @@ sim.arx <- function(model,input,sigma=0){ y[i] <- reg%*%coef + rnorm(1,sd = sigma) } return(y[n+1:length(input)]) +} + +#' @export +sim.idpoly <- function(model,input,sigma=1){ + require(signal) + + n <- length(input)[1] + ek <- rnorm(n,sd=sigma) + filt1 <- signal::Arma(b=model$C,a=model$D) + vk <- filter(filt1,ek) + + B <- c(rep(0,model$ioDelay),model$B) + filt2 <- signal::Arma(b=model$B,a=model$F1) + ufk <- filter(filt2,input) + + ypfk <- ufk + vk; + filt3 <- signal::Arma(b=1,a=model$A) + yk <- filter(filt3,ypfk) + + return(as.numeric(yk)) }
\ No newline at end of file |