Come si risolvono le equazioni alle differenze?

La risposta forzata di un sistema DLIT può avvenire risolvendo iterativamente l'equazione alle differenze di ordine n, oppure ricorrendo alla convoluzione discreta dell'ingresso con la risposta impulsiva del sistema.

Come si risolvono le equazioni alle differenze?

Il calcolo della risposta forzata di un sistema DLIT in risposta a un ingresso u(k), può avvenire risolvendo iterativamente l’equazione alle differenze di ordine n, oppure ricorrendo alla convoluzione discreta dell’ingresso con la risposta impulsiva del sistema.

Se quest’ultima non è disponibile, essa può essere ricavata risolvendo iterativamente l’equazione alle differenze con un ingresso u(k)=δ(k) e ingressi e uscite nulle per k<0.

Nel caso in cui le condizioni iniziali non sono nulle, è possibile ottenere y(k), data la sequenza u(k) e gli N valori dell’uscita precedenti all’istante k=0, con un procedimento del tutto simile a quello usato per la soluzione di equazioni differenziali lineari a coefficienti costanti per i sistemi continui nel tempo.

Risposta forzata ed evoluzione libera del sistema

Per la linearità del sistema, si può considerare l’uscita y(k), per k≥0, come la somma della risposta forzata al segnale di ingresso a partire da -M, e dell’evoluzione libera del sistema, cioè u(k)=0 per ogni k e y(-1), y(-2), …y(-N) pari ai valori iniziali dati, cioè:

y(k)=\sum_{i=-M}^{k}u(i)h(k-i)+y_{L}(k)

La risposta in evoluzione libera y_{L}(k) può essere calcolata con:

y_{L}(k)-a_{1}y_{L}(k-1)-a_{2}y_{L}(k-2)-\cdots -a_{N}y_{L}(k-N)=0

che viene denominata equazione omogenea associata.

Equazione caratteristica

La soluzione generale dell’equazione omogenea associata è costruita a partire dalle radici dell’equazione caratteristica:

C(\lambda )=\lambda ^{N}-\lambda ^{N-1}-a_{2}\lambda ^{N-2}-\cdots -a_{N}=0

Se p è una radice semplice dell’equazione caratteristica, è facile verificare che la sequenza p^{k} soddisfa all’equazione omogenea associata.

Il caso di radici distinte

Se C(λ)=0 ha N radici distinte, la soluzione generale dell’equazione omogenea è data dalla combinazione lineare delle sequenze linearmente indipendenti p_{i}^{k}, cioè:

y_{L}(k)=\sum_{i=1}^{N}c_{i}(p_{i})^{k}

Le costanti c_{i} vanno calcolate in modo che y(k) assuma i valori dati negli istanti k=-1….-N.

Il caso di radice con molteplicità r e di radici complesse

Nel caso che la radice p abbia molteplicità r, essa contribuisce alla soluzione generale y_{L}(k) con la combinazione lineare delle r sequenze linearmente indipendenti:

k^{j}p^{k} dove j=0, 1, 2…r-1

Per r=3, si ottengono le sequenze p^{k}, kp^{k}, k^{2}p^{k}.

Nel caso di radici semplici ma complesse, esse saranno a coppie complesse coniugate, dato che i coefficienti di C(λ) sono reali, e allo stesso modo anche i coefficienti c dovranno essere complessi coniugati.

Risolvere le equazioni alle differenze: esempio

y(k)=ay(k-1)+bu(k)

Si tratta di una equazione lineare alle differenze di ordine 1, infatti N=1, M=0.

L’equazione omogenea risulta:

y(k)-ay(k-1)=0

e l’equazione caratteristica:

C(\lambda )=\lambda -a=0

che possiede una unica radice semplice a. La soluzione generale diviene quindi:

y_{L}(k)=ca^{k}

Se si desidera valutare l’evoluzione libera a partire dal la condizione iniziale y(-1)=0.7, il coefficiente c deve essere calcolato in modo che:

y_{L}(-1)=0.7=ca^{-1}

che risulta:

c=0.7a

Possiamo anche procedere attraverso il calcolo della risposta impulsiva del sistema. Possiamo ricavare h(k) dall’equazione alle differenze e vale:

h(k)=ba^{k}\delta _{-1}(k)

dove il fattore \delta _{-1}(k) serve a rendere causale h(k).

La risposta totale y(k), a partire da un valore dato di y(-1) e con ingresso generico u(k), è data da:

y(k)=y(-1)a^{k+1}+b\sum_{i=0}^{k}a^{i}u(k-i)

dove il secondo termine rappresenta la risposta forzata y_{F}(k) del sistema.

Si consideri adesso quest’ultima con ingresso a gradino, cioè u(k)=\delta _{-1}(k):

y_{F}(k)=b\sum_{i=0}^{k}a^{i}=b\frac{1-a^{k+1}}{1-a}

Quando \left| a\right|\geqslant 1, y_{F}(k) diverge, mentre quando \left| a\right|< 1 esa converge al valore \frac{b}{1-a}.

Per 0< a< 1 la risposta è monotona crescente, mentre per -1< a< 0 la risposta è di tipo oscillatorio, come mostrato nelle figure seguenti nelle quali si è posto b=1-a.

22

Risolvere le equazioni alle differenze: un altro esempio

\\y(k)-y(k-1)+y(k-2)=u(k)\\y(-1)=y(-2)=0\\u(k)=1\;k=0,1\\u(k)=0\; k\neq 0,1

Soluzione attraverso la risposta impulsiva

Determiniamo i campioni h(k) necessari a calcolare y(k) per k=0,1,2,3,4,5. Ovvero andiamo a determinare la risposta impulsiva:

[1] y(k)=\sum_{i=0}^{k}h(i)u(k-i)

Per valutare i campioni h(k) poniamo in ingresso un impulso: u(0)=δ(0)=1 e risolviamo iterativamente:

\\y(k)=y(k-1)-y(k-2)+u(k)\\h(0)=h(-1)-h(-2)+u(0)=1\\h(1)=h(0)-h(-1)+u(1)=1\\h(2)=h(1)-h(0)+u(2)=0\\h(3)=h(2)-h(1)+u(3)=-1\\h(4)=h(3)-h(2)+u(4)=-1\\h(5)=h(4)-h(3)+u(5)=0

Soluzione iterativa e confronto con la soluzione precedente

Partendo da:

\\y(k)=y(k-1)-y(k-2)+u(k)

eseguiamo iterativamente il calcolo della risposta e lo confrontiamo con la soluzione precedente, ricordando [1]

\\y(0)=h(0)u(0)=1\\y(0)=y(-1)-y(-2)+u(0)=1\\\\y(1)=h(0)u(1)+h(1)u(0)=1+1=2\\y(1)=y(0)-y(-1)+u(1)=1-0+1=2\\\\y(2)=h(0)u(2)+h(1)u(1)+h(2)u(0)=+1+0=1\\y(2)=y(1)-y(0)+u(2)=2-1+0=1\\\\y(3)=h(0)u(3)+h(1)u(2)+h(2)u(1)+h(3)u(0)=0+0+0-1=-1\\y(3)=y(2)-y(1)+u(3)=1-2+0=-1\\\\y(4)=h(0)u(4)+h(1)u(3)+h(2)u(2)+h(3)u(1)+h(4)u(0)=0+0+0-1-1=-2\\y(4)=y(3)-y(2)+u(4)=-1-1+0=-2\\\\y(5)=h(0)u(5)+h(1)u(4)+h(2)u(3)+h(3)u(2)+h(4)u(1)+h(5)u(0)=0+0+0+0-1+0=-1\\y(5)=y(4)-y(3)+u(5)=-2+1+0=-1

Come possiamo vedere, i risultati dei due metodi coincidono.

servizialleimprese
Avatar photo
Informazioni su Carlo Bazzo 16 Articoli
Sysadmin & network eng. @Epysoft, editor @TheTechGoggler, CTO @HDEMO. Former developer @MSFT @GOOG. Former MOps consultant @XRX @HPQ. LinkedIn: it.linkedin.com/in/carlobazzo