Example #1
0
  /** Inizializza il segnale con valori randomici */
  public void generateRandomSignal() {
    for (int i = 0; i < this.getLength(); i++) {
      double v = Math.random();
      if (v < 0.5) super.addParteReale(i, 1 / Math.sqrt(2));
      else super.addParteReale(i, -1 / Math.sqrt(2));

      double p = Math.random();
      if (p < 0.5) super.addParteImmaginaria(i, 1 / Math.sqrt(2));
      else super.addParteImmaginaria(i, -1 / Math.sqrt(2));
    }
  }
Example #2
0
  /**
   * Metodo che aggiunge rumore al segnale
   *
   * @param snr (Signal to Noise Ratio)
   * @return segnale utile s[n] piĆ¹ segnale rumore w[n]
   */
  public GenericSignal aggiungiRumore(double snr) {
    GenericSignal noise = new Noise(snr, this.getLength());

    GenericSignal signal_noise = new Signal(this.getLength());
    for (int i = 0; i < this.getLength(); i++) {
      double sommaReale = this.getParteReale(i) + noise.getParteReale(i);
      signal_noise.addParteReale(i, sommaReale);
      double sommaImmaginaria = this.getParteImmaginaria(i) + noise.getParteImmaginaria(i);
      signal_noise.addParteImmaginaria(i, sommaImmaginaria);
    }
    return signal_noise;
  }