Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

4
voti

Ma che cos'è la convoluzione? Parte seconda

Indice

Introduzione

In questa seconda parte vediamo la convoluzione riferita al tempo, in cui l’indice delle successioni numeriche è un indice temporale, così come la variabile indipendente delle funzioni coinvolte. Al solito, mi sono servito di materiale pubblico presente sul web.

Consideriamo solo sistemi lineari, che siano però anche tempo invarianti o (LTI = Linear Time Invariant), cioè che non cambino le loro caratteristiche strutturali nel tempo.

In particolare ci concentriamo su quei sistemi LTI che prevedono una funzione di input x(t) e una funzione di output y(t) legate tra loro dalla cosiddetta funzione di trasferimento = funzione di output / funzione di input. In linea di principio la funzione di trasferimento può essere espressa in vari modi.

La funzione di trasferimento per funzioni del tempo viene definita come risposta all’impulso (RI), scritta in genere h(t) = output prodotto da input x(t) = impulso unitario. La risposta generica y(t), cioè l’output, risulta essere la convoluzione tra input e RI, scritta come y(t) = x(t)*h(t).

Strane Pasticcerie

Come dimostrazione in termini semplici e intuitivi, prendiamo in considerazione un esempio un po’ bizzarro, trovato nel web (https://www.youtube.com/watch?v=aEGboJxmq-w). Ammettiamo di conoscere una pasticceria (bakery) che vende dolcetti (cookies) in un modo tutto suo e cioè: se in un giorno le si dà un dollaro, lei ti consegna un cooky il giorno dopo, e poi un altro cooky il giorno dopo ancora. In altre parole la pasticceria segue una propria procedura (schedule) :che potrebbe essere la seguente:

In realtà questa procedura non è legata ai particolari giorni della settimana come sembrerebbe dalla figura ma è generale. Disponiamola allora su un asse temporale, in cui si evidenziano tre successioni in funzione del tempo che scatta di giorno in giorno, su un arco, per esempio, di 10 giorni:

d(t) [dollars] input giornaliero in dollari

c(t) [cookies] output giornaliero in numero di cookies

b(t) [bakery] legame tra input e output, tipico di ogni pasticceria, quando l’input è = 1 e che possiamo chiamare “risposta all’impulso”: inizialmente quindi, c(t) = b(t).

Ma non solo inizialmente, perchè ogni volta che d(t) = 1 la risposta c(t) è sempre = b(t)


Se ipotizziamo che la pasticceria non cambi “politica” (policy) nel tempo, ci troviamo nella situazione LTI

Di conseguenza se in input ho i dollari indicati nelle due figure, in output i cookies saranno anch’essi quelli indicati, perché semplicemente si sommano.

Un'altra pasticceria

Ora decidiamo di andare in un’altra pasticceria, che ha una policy diversa, descritta dalla sua RI ossia dalla sua b(t). Nelle figure si vedono 3 situazioni di output corrispondenti ad altrettante situazioni di input, determinate solo dalla b(t).

Un po' di matematica è inevitabile

Qual è il legame matematico tra input e output in casi come questi? Visto che si tratta di operazioni lineari nel tempo, si potrebbero tradurre in sistemi di equazioni lineari in “t”, equazioni costituite da polinomi il cui grado cresce ad ogni successivo giorno, con tante equazioni e tante incognite quanti sono i giorni che vengono considerati.

Un’impostazione più generale e più utile si ha però utilizzando vettori e matrici. Al solito, qui trattiamo i concetti matematici senza il rigore matematico che richiederebbero, perché ci interessa l’aspetto intuitivo dell'argomento.

La 3 successioni, c(t), b(t), d(t) possono essere rappresentate con vettori. Nell’esempio che segue, c(t) e d(t) si estendono per 7 giorni, cioè sono vettori a 7 componenti.

La risposta all’impulso è un vettore a 4 componenti e ciò implica che le componenti rimanenti abbiano valore = 0.

Per chiarire il legame cercato, procediamo per gradi.

Se d(t) è un “impulso unitario”, cioè 1 dollaro solo il primo giorno, c(t) risponde con b(t) seguito da tanti zeri quanti ne servono per riempire le componenti del vettore b(t).

Se il dollaro isolato viene spostato nel secondo giorno, lo stesso accade per i cookies; c(t) contiene b(t), ma traslata di un giorno, quindi il suo vettore ha due zeri iniziali e due zeri finali e va ad affiancare il vettore b(t) precedente iniziando a riempire quella che diventerà una matrice.

Lo stesso accade se il dollaro isolato viene spostato ogni giorno.

A un certo punto e si raggiunge la situazione finale, in cui si riempie la matrice che semplicemente moltiplicherà il vettore d(t) (bisognerà ricordarsi come si moltiplicano le matrici...):

Guardando la matrice si vede come le successive risposte all’impulso b(t), che occupano le colonne della matrice, compaiono traslate verso il basso man mano che il tempo scorre, da sinistra a destra. Ma si vede anche che la stessa cosa accade per le righe della matrice:

Si nota anche come le successioni b(t) compaiano “invertite” nella matrice, rispetto alla risposta all’impulso b(t) definito all'inizio.

Volendo generalizzare, conviene riportare nei vettori e nella matrice i valori disposti secondo l’indice temporale:

In effetti quello che è rappresentato in figura è un prodotto di matrici (la seconda matrice è composta solo da una sola colonna, cioè è un vettore), una modalità correntemente usata anche per rappresentare un sistema di equazioni lineari.

Il prodotto di matrici richiede che la prima matrice abbia un numero di colonne uguale a quello delle righe della seconda (che in questo caso ha una sola colonna). Il risultato è una matrice in cui ogni termine di riga i e colonna j è il prodotto scalare (dot product) di ogni riga i per ogni colonna j (qui c’è solo j=1).

Nel caso in esame, il tempo nelle matrici scorre da sinistra a destra e dall’alto verso il basso, ma si vede subito che l’espressione b(- (t-t)) non è accettabile. Il tempo è sempre il tempo, ma qui bisogna distinguere il tempo che scorre dal tempo che è passato, trattandolo come se fosse un altro tipo di tempo.

Lo si fa chiamando τ il tempo che “scorre” da sinistra a destra, il tempo cioè che è relativo alla memoria dei singoli eventi, una memoria che si somma all’evento di ogni istante che passa, mentre il tempo che scorre dall'alto in basso viene ancora chiamato t. In pratica, ad ogni istante t si calcola il valore dell'output facendo scorrere il tempo τ.

Ripensando alla pasticceria, si vede come i dolcetti che ci dà non sono frutto solo di quanto si paga nello stesso giorno, ma anche di quanto si è pagato in precedenza, perché la policy della pasticceria prevede un effetto prolungato nel tempo, e richiede una “memoria nel sistema”.

Si arriva così a una scrittura molto sintetica, che evidenzia il prodotto scalare come caso particolare del prodotto matriciale (dato che il risultato è una colonna sola).

Esplicitando i prodotti scalari:


c(0) = d(0)b(0)

c(1) = d(0)b(1)+d(1)b(0)

c(2) = d(0)b(2)+d(1)b(1)+ d(2)b(0)

c(3) = d(0)b(3)+d(1)b(2)+ d(2)b(1) + d(3)b(0)

c(4) = d(0)b(4)+d(1)b(3)+ d(2)b(2) + d(3)b(1)+ d(4)b(0)

c(5) = d(0)b(5)+d(1)b(4)+ d(2)b(3) + d(3)b(2)+ d(4)b(1)+d(5)b(0)

c(6) = d(0)b(6)+d(1)b(5)+ d(2)b(4) + d(3)b(3)+ d(4)b(2)+d(5)b(1)+ d(6)b(0)


Si arriva così alla formulazione finale della convoluzione discreta. Quando le successioni sono sostituite da funzioni continue, la sommatoria si trasforma naturalmente in integrale.

Un dubbio strano

Guardando la figura soprastante, nel passaggio dalla sommatoria all'integrale, mi è venuto un dubbio matematico strano, di quelli che uno non ha mai il coraggio di esprimere; dopotutto chi scrive non è un matematico ma è pur sempre un ingegnere. Il punto è il seguente. Quando si passa dalla sommatoria all’integrale si moltiplica la funzione per il suo differenziale: quindi si “aggiunge” un termine moltiplicativo. Applicando però l’integrale a una situazione fisica, ogni termine ha una sua dimensione (metri, secondi, volt, ...), quindi il conto dimensionale non tornerebbe ed emergerebbe una discrepanza. Ma non sempre viene in mente che la funzione da integrare, quando è applicata alla fisica, deve essere di tipo “densità”, anche se è una somma infinita di differenziali infinitesimi dy = d(f’(x); ma f’(x) = dy/dx e cioè è formalmente simile a una densità (come tutte le derivate).

La discrepanza si risolve se consideriamo ogni termine della sommatoria moltiplicato implicitamente per 1 (cioè per "un giorno"), poiché la “densità” è “numero di cookies/giorno”. Volendo scrivere tutto con gli integrali, i valori singoli e non solo le funzioni, possono essere scritti sotto il segno di integrale moltiplicandoli per una delta...

Sistemi elettrici

La funzione di trasferimento per i sistemi LTI, specialmente quelli che riguardano i sistemi elettrici (ma non solo) non viene data nel dominio del tempo, bensì nel dominio della frequenza complessa s = σ +jω = s +j2πf ossia h(t) viene trasformata con Laplace in H(s), così come x(t) e y(t) diventano X(s) e Y(s). il fatto notevole è che Y(s) = X(s)H(s), facilmente dimostrabile. In questo modo si passa da convoluzione a prodotto e i calcoli dei poveri ingegneri diventano assai più agevoli, soprattutto tenendo conto che un’ulteriore semplificazione ce la regala l’uso dei dB.

Per capire un po’ meglio, però, cosa succede nel dominio del tempo cerchiamo di vedere cosa succede a y(t), cioè all’output nel dominio del tempo.

Nell’elettrotecnica e nelle telecomunicazioni si è interessati a sistemi che trattano energia elettrica che, fornita all’input, viene memorizzata nei condensatori e negli induttori e, se non spesa all’interno del sistema, viene “presentata” all’output quasi sempre un po’ per volta e con un certo ritardo, caratteristica che dipende naturalmente dalla composizione del sistema stesso.

È questa memoria che produce in output uno “strascico”, per tenere conto del quale occorre servirsi della convoluzione.

Il fatto che il sistema sia LTI garantisce che qualunque sia la funzione di input siamo in grado di prevedere la funzione di output, a patto di conoscere la funzione di trasferimento h(t).

Per trovare la risposta all’impulso definiamo l’impulso come un segnale rettangolare di area unitaria, dove l’altezza del rettangolo corrisponde, nel caso elettrico, a tensione o corrente, mentre la base è un intervallo temporale Δt che, nel caso di funzioni di input continue, diventa l’infinitesimo dt.

Un tale impulso infinitesimo viene indicato con δ(t), la cui area sottesa, integrando da -∞ a +∞ è = 1 (δ(t) non è propriamente una funzione ma nell’integrale si comporta come se lo fosse).

Per calcolare la risposta a una qualsiasi funzione di input x(t), il trucco consiste nel cominciare col considerare la x(t) come somma di tanti impulsi contigui intervallati di dt, ciascuno di area unitaria moltiplicata per il valore della x(t) in ogni punto.

Ogni impulso dà luogo a una risposta temporale (in figura di tipo esponenziale smorzato, come la corrente attraverso un RC) h(t) che si somma con quella degli altri impulsi. Man mano che il tempo passa, le risposte da sommare aumentano: a ogni istante successivo, la somma si arricchisce (algebricamente) dell’inizio di una nuova risposta. Il che è come dire che a ogni nuovo istante si devono sommare tutte le risposte precedenti, da cui il rovesciamento orizzontale della funzione h(t), che nelle figure precedenti non viene ancora mostrato. Parimenti non viene mostrata la y(t) come somma delle successive risposte all’impulso, che invece compaiono graficamente sfalsate per maggiore chiarezza.

L’output y(t) risulta quindi essere la convoluzione di x(t) con h(t).

Per vederlo meglio mi servo ora di una spiegazione che mi è parsa abbastanza chiara (vedi: http://www.iaincollings.com).

Una delta che convolve

Cominciamo con la convoluzione tra un input = δ(t) e un h(t) esponenziale. La δ(t) viene rappresentata graficamente con una freccia verticale posta sull’asse temporale all’istante t = 4, così per fissare le idee.

Per sua comodità l’autore opera due cambiamenti di variabile: la δ(t) che diventa δ(τ) e per la h(t) che diventa h(α). Tanto, dice, sono solo funzioni che conservano la loro forma anche cambiando variabile.

Ora deve disegnare il prodotto delle due funzioni sotto l’integrale e lo fa tracciando altri assi sotto la formula: si chiede quale valore di τ corrisponde a h(0), e risponde che per h(t-τ) questo valore si ha quando t-τ = 0 e cioè -τ = t, quindi riporta il valore h(0) sull’asse τ a sinistra dell’asse verticale, perché τ è negativo.

Poi passa a individuare il valore h(1), il quale va piazzato sull’asse tau per t-τ=1 cioè -τ= t+1 e così può disegnare h(-τ) rovesciata.

A questo punto può disegnare la y(t). Prima disegna il grafico di h(t-τ), posizionato per t-τ=0 e cioè τ=4, in cui h(t-τ)= h(0). Il grafico risulta traslato verso destra man mano che τ aumenta. La x(t) è una δ(t) centrata su t=4 ossia è δ(t-4), quindi per t=4 l’integrale del prodotto x(t)h(t-τ) vale h(0). Quando t aumenta la h(t-τ) diminuisce di valore, quindi l’integrale del prodotto x(t)h(t-τ) diminuisce a sua volta. In definitiva, la convoluzione di una delta(t-k) con una funzione h(t) produce una traslazione verso destra della h(t), che diventa cioè h(t-k).

Ora possiamo esaminare più da vicino la convoluzione di due funzioni continue.

Prendiamo l’esempio in cui la x(t) è composta da tre delta: δ(t), δ(t-1), δ(t-2) e la h(t) sia l’esponenziale di figura. L’autore scrive le tre δ(t) come x(0), x(1), x(2). Il terzo grafico rappresenta la somma dei tre prodotti x(t)h(t) al variare di t.

Per un valore generico di t, la somma vale x(2)h(t-2) + x(1)h(t-1) + x(0)h(t).

Se alle tre δ(t) ne aggiungiamo una quarta che inizia a un istante τ, ossia δ(t-τ), il prodotto x(τ)h(t-τ) si aggiunge alla somma dei tre prodotti precedenti.

Se la x(t) è una generica funzione continua, può essere pensata come una somma di infiniti impulsi unitari che, sotto il segno di integrale, diventano delle δ(t), rappresentabili come δ(t-τ) in cui τ stabilisce la traslazione verso destra della δ(t).

La somma di infinite δ(t) si può esprimere con l’integrale riportato nella figura, che non è altro che la formula della convoluzione per le funzioni continue.

A ulteriore illustrazione di quanto sopra, la figura sottostante riporta un esempio di convoluzione tra una funzione generica x(t) pensata come somma di infinite δ(t) e una h(t) che ha forma di triangolo.

Per finire torniamo alla densità di probabilità (pdf = Probability Density Function) di una somma di due variabili casuali statisticamente indipendenti, che nell'articolo precedente sulla convoluzione era riferita al lancio di due dadi.

Una pdf tipica dei sistemi di comunicazione è Y = X + N e cioè segnale x(t) + rumore n(t) gaussiano che in un canale si sommano e che sono statisticamente indipendenti. La somma y(t) di segnale e rumore è quindi la convoluzione delle due funzioni:

y(t) = x(t)*y(t).

Conclusione

Ho cercato di illustrare in modo semplice, "visibile", il concetto di convoluzione. Se non ci sono riuscito, invito chi legge a pormi domande nei commenti alle quali farò di tutto per rispondere. Certo, ci sarebbe ancora molto da dire sulle sue proprietà e sulle sue applicazioni. Per esempio, avendo accennato al fatto che la convoluzione di due funzioni f*g risulta = L(f)L(g) = F(f)F(g) ossia il prodotto delle due trasformate di Laplace e Fourier, si aprirebbe tutto un discorso sulla connessione tra convoluzione e trasformate, in particolare la FFT, che qui non possiamo fare e che forse rimandiamo a un possibile successivo articolo.

0

Commenti e note

Inserisci un commento

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.