# Serie di Volterra

In matematica, lo sviluppo in serie di Volterra rappresenta un'espansione funzionale di un funzionale dinamico, non lineare e tempo-invariante, sviluppato insieme al teorema di Volterra, dal matematico Vito Volterra.
Un sistema continuo tempo-invariante con ingresso $x(t)$ ed uscita $y(t)$ può essere espanso in serie di Volterra come:
    $y(t)=k_{0}+\sum _{n=1}^{\infty }{\frac {1}{n!}}\int _{-\infty }^{\infty }\cdots \int _{-\infty }^{\infty }k_{n}(s_{1},s_{2},\ldots ,s_{n})x(t-s_{1})x(t-s_{2})\cdots x(t-s_{n})ds_{1}ds_{2}\cdots ds_{n}$
dove $k_{n}$ è chiamato kernel di Volterra di ordine n, e può essere visto come una generalizzazione della risposta impulsiva.

## Descrizione

La teoria della serie di Volterra può assumere due differenti prospettive: si può considerare un operatore che mappa tra due spazi di funzioni (reali o complessi) o si può considerare un funzionale da uno spazio di funzioni (reale o complesso) ai numeri reali o complessi. La seconda è più diffusa, poiché assume l'invarianza temporale del sistema.
Un sistema continuo e tempo-invariante con $x(t)$ come ingresso e $y(t)$ come uscita può essere espanso in serie di Volterra come:
    $y(t)=h_{0}+\sum _{n=1}^{N}{H_{n}x(t)}$
dove:
    $H_{n}x(t)=\int _{a}^{b}\cdots \int _{a}^{b}{h_{n}(\tau _{1},.\,.\,,\tau _{n})\prod _{j=1}^{n}{x(t-\tau _{j})d\tau _{j}}}$
con $a,b\in R\cup \{-\infty ,+\infty \}$ e $N\in \{0,1,2,...\}\cup \{+\infty \}$.
Le funzioni $h_{n}(\tau _{1},.\,.\,,\tau _{n})$, $h_{0}$ sono dette nuclei integrali di volterra dell'n-esimo ordine. Può essere visto come una risposta all'impulso di ordine superiore del sistema.
Se N è finito la serie è detta troncata. Se $a$, $b$ e N sono finiti allora la serie è detta doubly-finite.
Talvolta il termine di ordine n della serie è diviso per n!, una convenzione che risulta utile quando si prende l'output di un sistema di Volterra come l'input di un secondo sistema di Volterra.

### Tempo discreto

Un sistema discreto e tempo-invariante con $x(n)$ come ingresso e $y(n)$ come uscita può essere espanso in serie di Volterra come:
    $y(n)=h_{0}+\sum _{p=1}^{P}{H_{p}x(n)}$
dove:
    $H_{p}x(n)=\sum _{\tau _{1}=a}^{b}\cdots \sum _{\tau _{p}=a}^{b}{h_{p}(\tau _{1},.\,.\,,\tau _{p})\prod _{j=1}^{p}{x(n-\tau _{j})}}$
con $a,b\in Z\cup \{-\infty ,+\infty \}$ e $P\in N\cup \{+\infty \}$. Le funzioni $h_{p}(\tau _{1},.\,.\,,\tau _{p})$ e $h_{0}$ sono dette nuclei di Volterra.
Se $P$ è finito la serie è detta troncata. Se a,b, e P sono finiti allora la serie è detta doubly-finite. Se $a\geq 0$ l'operatore è causale.
Si può prendere in considerazione senza perdita di generalità un nucleo $h_{p}(\tau _{1},.\,.\,,\tau _{p})$ simmetrico, infatti per la commutatività della moltiplicazione è sempre possibile simmetrizzare il nucleo senza cambiare $H_{p}x(n)$. Così per un sistema causale con nucleo simmetrico si ha:
    $H_{p}x(n)=\sum _{\tau _{1}=0}^{M}\sum _{\tau _{2}=\tau _{1}}^{M}\cdots \sum _{\tau _{p}=\tau _{p-1}}^{M}{h_{p}(\tau _{1},.\,.\,,\tau _{p})\prod _{j=1}^{p}{x(n-\tau _{j})}}$

## Metodi per la stima dei nuclei di Volterra

Stimare individualmente i coefficienti di Volterra è un'operazione complicata poiché le funzioni della base della serie di Volterra (cioè $x^{k},k=1,\dots ,N)$ sono correlate. Ciò comporta il problema della risoluzione simultanea di un insieme di equazioni integrali per i coefficienti. Per questo motivo la stima dei coefficienti di Volterra è generalmente affrontata tramite la stima dei coefficienti di una serie ortogonalizzata, come ad esempio la serie di Wiener, e poi ricalcolando i coefficienti della serie di Volterra originaria. Altri metodi comunemente utilizzati sono il metodo di correlazione incrociata, l'algoritmo ortogonale esatto, la regressione lineare ed il campionamento differenziale.

## Applicazioni

Si utilizza come modello per il comportamento non lineare analogo alla serie di Taylor, dalla quale differisce per la capacità di catturare l'effetto memoria. La serie di Taylor infatti approssima la risposta di un sistema non lineare per un dato input in un istante fissato di tempo; mentre la serie di Volterra approssima la risposta di un sistema non lineare che dipende da tutto l'andamento temporale dell'ingresso. Può quindi esser considerato una generalizzazione al caso non lineare dell'operatore di convoluzione.
Lo sviluppo in serie di Volterra è stato applicato nei campi della medicina (in ingegneria biomedica), della biologia (nelle neuroscienze), dell'ingegneria elettronica/delle telecomunicazioni (per la modellizzazione delle distorsioni da intermodulazione), e nei problemi di identificazione. La sua caratteristica fondamentale risiede nella sua generalità: proprio per la capacità di catturare effetto-memoria e non linearità, è in grado di rappresentare un'ampia gamma di sistemi.