Ciao a tutti,
chiedo scusa se mi intrometto, mi hanno segnalato questa discussione e vorrei portare un minimo di chiarezza, se posso. Purtroppo è difficile decidere da dove partire a dipanare la matassa di "lievi imprecisioni" che è stata aggrovigliata nella discussione segnalata nel primo messaggio della presente. Per non perdere troppo tempo, mi limito alla base essenziale.
Ho preso il caso di riferimento (singola riflessione a 5 ms, di ampiezza ignota, ma, come si vedrà, ampiezza e ritardo sono irrilevanti) e ho costruito l'inverso ideale. Trovate il risultato nell'immagine allegata, che presenta nella parte superiore la risposta all'impulso oggetto della discussione e nella parte inferiore la relativa inversa, troncata ad una lunghezza ragionevole per rendere leggibili i grafici.
Come si può vedere l'inversa non ha alcuna componente acausale, nessun "pre-echo" come si usa dire. La cosa è piuttosto ovvia, visto che il caso di una singola riflessione implica, come arcinoto a chiunque abbia almeno le basi minime di teoria dei sistemi, una funzione di trasferimento a fase minima, e quindi anche l'inversa è a fase minima. L'inversa è anche unica, come altrettanto arcinoto, quindi qualunque altra inversa, che preveda eventualmente componenti acausali, ossia dei "pre-echo", è semplicemente sbagliata.
In quella discussione quindi ci si prodiga per creare una inversa sbagliata, sprecando poi pagine e pagine per dimostrare, con grande dispendio di tecnologia, che è sbagliata. Intento nobile, per carità, però che da una premessa sbagliata si possa dimostrare la qualunque, ossia che di fatto non si possa dimostrare nulla, lo si sa almeno dai tempi di Aristotele. Nella stessa discussione si arriva alla conclusione che una inversa a fase minima, cioè quella che si può ottenere approsimativamente anche con un parametrico, ossia quella giusta alla luce di quanto sopra, è effettivamente quella giusta, completando così la parabola logica con una bella tautologia, ossia un'altro predicato che non dimostra nulla. Gli anglosassoni chiamano questo tipo di esercizio retorico "straw-man", ed è un esercizio non privo di una sua utilità, più che altro per qualificare le persone con cui ci si trova a che fare.
Per chi si vuole divertire riporto in calce lo script Octave che consente di riprodurre i risultati. Tenete presente che tre quarti delle istruzioni presenti servono per rendere leggibili i grafici. L'essenza dello script sono poche righe. Anzi, esercitando il dono della sintesi, direi una sola.
Saluti,
Denis Sbragion
Script Octave:
n = 4 * 44100;
n2 = n/2 - 1;
ir = zeros(n,1);
ir(n2) = 1;
ir(n2 + floor(5/1000 * 44100)) = 0.75;
ix = (0:(n - 1))' / 44100 - n / (2 * 44100);
subplot(2,1,1)
plot(ix,ir);
axis([ -20/1000, +50/1000, -1, 1 ]);
grid('on');
df = real(ifft(1./fft(ir)));
subplot(2,1,2)
plot(ix,df);
axis([ -20/1000, +50/1000, -1, 1 ]);
grid('on');