#--------------------------------------------------------
#  Somma di due onde sinusoidali fasate 
#  Per sentire l'effetto
#   - aprire https://www.szynalski.com/tone-generator/
#     su due tab del browser;
#   - settare alla STESSA frequenze dei due generatori 
#     (usando le freccie ai lati del valore di frequenza
#      si possono cambiare le frequenze a passi di 1Hz,
#      anche mentre il generatore è attivo);
#   - cliccare su PLAY del un generatore
#   - cliccare su PLAY del secondo generatore,
#     aspettare alcuni secondi, quindi fare STOP e PLAY
#     -> il secondo generatore si attività con
#        FASE RANDOMICA, quindi a volte il suono sarà
#        più intenso, altre volte meno inteso (-> quasi nullo)
#
#   GdA gen 2022
# --------------------------------------------------------


A1  <- 1    
A2  <- 1
nu <- 200      # Hz
d.phi <- pi/4  # sfasamento: cambiare il valore per vedere l'effetto 
               #            o, pi/2, pi   
# d.phi <- pi

om <- 2*pi*nu
T  <- 1/nu

t.max <- 3*T
ylim <- c(-1,1) * (A1+A2)

old.mar = par("mar")
par(mar=c(4.0,4.0,3.0,0.1))   # margini ottimizzati

curve(A1*cos(om*t), 0, t.max, xname='t', n=1001, col='blue', lwd=2,
      ylim=ylim, xlab=' t  (s)', ylab='f(t)',
      main=sprintf("nu = %.0f Hz;   Delta phi = %.0f°", nu, d.phi*180/pi))
grid()
Sys.sleep(0.5)
curve(A2*cos(om*t + d.phi), xname='t', n=1001, col='green', lwd=2, add=TRUE)
Sys.sleep(0.5)
curve(A1*cos(om*t)+A2*cos(om*t + d.phi), xname='t', n=1001, col='red',
      lwd=2, add=TRUE)

par(mar=old.mar)
