class_docstr: fft tools for arma processes
  
  This class contains several methods that are providing the same or similar
  returns to try out and test different implementations.
  
  Notes
  -----
  TODO:
  check whether we do not want to fix maxlags, and create new instance if
  maxlag changes. usage for different lengths of timeseries ?
  or fix frequency and length for fft
  
  check default frequencies w, terminology norw  n_or_w
  
  some ffts are currently done without padding with zeros
  
  returns for spectral density methods needs checking, is it always the power
  spectrum hw*hw.conj()
  
  normalization of the power spectrum, spectral density: not checked yet, for
  example no variance of underlying process is used
class_docstr_tok: ["fft","tools","for","arma","processes","This","class","contains","several","methods","that","are","providing","the","same","or","similar","returns","to","try","out","and","test","different","implementations",".","Notes","--","--","-","TODO",":","check","whether","we","do","not","want","to","fix","maxlags",",","and","create","new","instance","if","maxlag","changes",".","usage","for","different","lengths","of","timeseries","?","or","fix","frequency","and","length","for","fft","check","default","frequencies","w",",","terminology","norw","n_or_w","some","ffts","are","currently","done","without","padding","with","zeros","returns","for","spectral","density","methods","needs","checking",",","is","it","always","the","power","spectrum","hw","*","hw.conj","(",")","normalization","of","the","power","spectrum",",","spectral","density",":","not","checked","yet",",","for","example","no","variance","of","underlying","process","is","used"]
docstr: spectral density from MA polynomial representation for ARMA process
  
  References
  ----------
  Cochrane, section 8.3.3
docstr_tok: ["spectral","density","from","MA","polynomial","representation","for","ARMA","process","References","--","--","--","--","--","Cochrane",",","section","8.3.3"]
code: def spdpoly(self, w, nma=50):
      """spectral density from MA polynomial representation for ARMA process
  
      References
      ----------
      Cochrane, section 8.3.3
      """
      mpoly = np.polynomial.Polynomial(self.arma2ma(nma))
      hw = mpoly(np.exp(1j * w))
      spd = np.real_if_close(hw * hw.conj() * 0.5 / np.pi)
      return spd, w
  
imports: import numpy
  import numpy.fft
  from scipy import signal
  from statsmodels.tsa.arima_process import ArmaProcess
label_desc: Use image node_id 13 for calling the ArmaFft obj's underlying member method code with example usage: obj.spdpoly(w, nma) and returns: spd,  w