arfima.whittle.new<-function(series1)
{
 #
 #   Computes Whittle MLE for ARFIMA(0,d,0) models
 #
 aux <- nlminb(start = 0.25, whittle.loglik.new, lo = 0., up = 0.499, series=series1)$parameters
 return(aux)
}


arfima.whittle.new<-function(series1)
{
 #
 #   Computes Whittle MLE for ARFIMA(0,d,0) models
 #
 aux <- nlminb(start = 0.25, whittle.loglik.new, lo = 0., up = 0.499, series=series1)$parameters
 return(aux)
}

 whittle.loglik.new<-function(x, series)
{
 series <- series - mean(series)
 a <- fft(series)
 a <- Mod(a)^2
 n <- length(series)
 a <- a/(2 * pi * n)
 m <- n/2
 #
 #Fourier frequencies
 # 
 w <- (2 * pi * (1:m))/n
 #
 #Spectral Density:
 #
 b <- fn.density(w, x)
 #
 #  Calculate sigma^2
 #
 sigma2 <- (2 * sum(a[1:m]/b))/n
 #
 #  Whittle Log-likelihood
 #
 loglik <- 2 * pi * (sum(log(b)) + sum(a[1:m]/b)/sigma2)
 return(loglik/n + pi * log(sigma2))
}