code: def _bss_decomp_mtifilt(reference_sources, estimated_source, j, flen):
      
      nsampl = estimated_source.size
      # decomposition
      # true source image
      s_true = np.hstack((reference_sources[j], np.zeros(flen - 1)))
      # spatial (or filtering) distortion
      e_spat = _project(reference_sources[j, np.newaxis, :], estimated_source,
                        flen) - s_true
      # interference
      e_interf = _project(reference_sources,
                          estimated_source, flen) - s_true - e_spat
      # artifacts
      e_artif = -s_true - e_spat - e_interf
      e_artif[:nsampl] += estimated_source
      return (s_true, e_spat, e_interf, e_artif)
docs: Decomposition of an estimated source image into four components
      representing respectively the true source image, spatial (or filtering)
      distortion, interference and artifacts, derived from the true source
      images using multichannel time-invariant filters.