code: def _join_signals(self):
          r
          joined = dict()
          for name in self.signals:
              name_base = name.rsplit('_', 1)[0]
              names = joined.get(name_base, list())
              names.append(name)
              joined[name_base] = names
          for name_base, names in joined.items():
              if len(names) > 1:
                  names = sorted(names)  # ensure dim ordering (_0, _1, etc.)
                  signal_nd = np.stack([self.signals[n] for n in names], axis=1)
                  self.signals[name_base] = signal_nd
                  for name in names:
                      del self.signals[name]
docs: r"""Join N 1D signals into one N-dimensional signal.