code: def fft_signal(self, data_frame):
          
          signal_length = len(data_frame.filtered_signal.values)
          ll = int(signal_length / 2 - self.window / 2)
          rr = int(signal_length / 2 + self.window / 2)
          msa = data_frame.filtered_signal[ll:rr].values
          hann_window = signal.hann(self.window)
  
          msa_window = (msa * hann_window)
          transformed_signal = fft(msa_window)
  
          data = {'filtered_signal': msa_window, 'transformed_signal': transformed_signal,
                  'dt': data_frame.td[ll:rr].values}
  
          data_frame_fft = pd.DataFrame(data, index=data_frame.index[ll:rr],
                                        columns=['filtered_signal', 'transformed_signal', 'dt'])
          logging.debug("fft signal")
          return data_frame_fft
docs: This method perform Fast Fourier Transform on the data frame using a \
              `hanning window <https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.signal.hann.html>`_
  
              :param data_frame: the data frame
              :type data_frame: pandas.DataFrame
              :return: data frame with a 'filtered_singal', 'transformed_signal' and 'dt' columns
              :rtype: pandas.DataFrame