Sistemi discreti ed equazioni alle differenze

I sistemi discreti hanno avuto importanza sempre crescente all'aumentare delle applicazioni dei calcolatori per l'elaborazione dei segnali in tempo reale.

Sistemi discreti ed equazioni alle differenze

In un sistema discreto nel tempo, la relazione che lega la sequenza di ingresso u(k) all’uscita y(k) si esprime attraverso una equazione ricorsiva alle differenze:

y(k)=f(y(k-1),y(k-2),\cdots ;u(k),u(k-1),\cdots ,k)

Il sistema è inoltre causale in quanto l’uscita all’istante k dipende solo dalle uscite e dagli ingressi precedenti.

In questo articolo considereremo solo sistemi discreti invarianti nel tempo nei quali, cioè, f{•} non dipende esplicitamente da k e del tipo a dimensioni finite, per i quali l’uscita all’istante k dipende da un numero finito di ingressi e uscite precedenti:

y(k)=f\left\{y(k-1),y(k-2),\cdots y(k-N);u(k),u(k-1),\cdots ,u(k-M) \right\}

Posto: n=max{N,M} ordine del sistema, l’equazione viene denominata equazione alle differenze di ordine n. Nel caso di sistemi multivariabili, y(k) e u(k) saranno vettori di opportune dimensioni e il legame ingresso uscita verrà descritto da un sistema di equazioni alle differenze.

Analogamente ai sistemi continui nel tempo, gran parte dell’analisi e sintesi di sistemi discreti viene svolta nell’ambito dei Sistemi Discreti Lineari Invarianti nel Tempo, indicati con DLIT. Per i sistemi DLIT la rappresentazione diviene:

y(k)=\sum_{i=1}^{N}a_{i}y(k-i)+\sum_{j=0}^{M}b_{j}u(k-j)

dove i coefficienti sono reali. L’uscita y(k) è una combinazione lineare delle N uscite precedenti e degli M ingressi precedenti, oltre all’ingresso attuale u(k) se b_{0}\neq 0 .

La rappresentazione di un sistema DLIT con l’equazione ricorsiva alle differenze viene denominata anche modello ARMA (Autoregressive Moving Average). Essa corrisponde all’equazione differenziale lineare a coefficienti costanti per i sistemi lineari e continui nel tempo.

La determinazione dell’uscita y(k) data la sequenza di ingresso u(k) può avvenire risolvendo in modo iterativo l’equazione alle differenze di ordine n, a partire dalle condizioni iniziali, cioè gli M+N valori precedenti dell’ingresso e dell’uscita.

Alla equazione alle differenze di ordine n può quindi essere associata la seguente procedura di calcolo:

procedure-difference-equation

R e S sono zone di memoria nelle quali sono memorizzati gli M+N valori precedenti dell’ingresso e dell’uscita necessari per il calcolo di y(k).

I sistemi discreti hanno avuto importanza sempre crescente all’aumentare delle applicazioni dei calcolatori per l’elaborazione dei segnali in tempo reale. In un controllo DDC, l’algoritmo di controllo elaborato dal microP può essere descritto come un sistema discreto, molto spesso di tipo DLIT, dato che la sintesi del regolatore viene condotto nell’ambito dei sistemi lineari (trascurando le quantizzazioni).

Vi sono però moltissime altre applicazioni in settori diversi dal controllo, nei quali si ha a che fare con sistemi discreti. Valga come esempio il settore della elaborazione digitale dei segnali (Digital Signal Processing), di grande interesse nei settori delle telecomunicazioni e della analisi dei dati (strumentazione). In generale una procedura iterativa di calcolo che elabora una sequenza di dati di ingresso può essere rappresentata come un sistema discreto e viceversa.

Esempio: algoritmo per la radice quadrata di un numero reale

Consideriamo a titolo di esempio l’algoritmo per la determinazione della radice quadrata di un numero reale U. Come è noto, il calcolo può avvenire in modo iterativo risolvendo con il metodo di Newton l’equazione:

y^{2}-U=0

che porta al seguente algoritmo:

y(k)=0.5\left [ y(k-1)+\frac{U}{y(k-1)} \right ]

Questa equazione rappresenta un sistema discreto di ordine 1, non lineare e invariante nel tempo, sottoposto a un ingresso costante U, con condizione iniziale data da y(-1), che viene a corrispondere ad una stima iniziale di \sqrt{U}. All’aumentare di k l’uscita tende a \sqrt{U}.

Il fatto che un algoritmo di calcolo possa essere pensato come un sistema discreto ha permesso di applicare i teoremi sulla stabilità dei sistemi ai problemi di convergenza numerica di algoritmi iterativi.

Dato l’enorme interesse per i sistemi discreti nel campo dell’elaborazione digitale dei segnali (filtri digitali) sono apparsi, alla fine degli anni ’70, speciali microprocessori, basati su una diversa architettura, che permettono il calcolo efficiente dell’equazione alle differenze di ordine n che descrive un DLIT.

Questi dispositivi, denominati DSP (Digital Signal Processors) eseguono in modo molto rapido (decine di nanosecondi) la seguente istruzione:

AR=AR+COEFF*VAR

dove AR è il registro accumulatore, COEFF un coefficiente (ai,bj) e VAR una variabile (y(i), u(j)).

Risposta impulsiva

Si considera ora la risposta impulsiva h(k) di un sistema DLIT, cioè la sequenza di uscita in risposta ad un segnale di ingresso pari a δ(k) a partire da condizioni iniziali nulle. Poichè la sequenza di ingresso u(k) può essere espressa mediante la:

u(k)=\sum_{i=-\infty }^{\infty}u(i)\delta (k-i)

per la linearità del sistema l’uscita all’istante k è data dalla somma delle risposte impulsive del sistema in risposta ai vari ingressi u(i)δ(i), cioè:

y(k)=\sum_{i=-\infty }^{\infty }u(i)h(k-i)

che rappresenta l’operazione di convoluzione discreta tra i due segnali u(k) e h(k).

Per sistemi causali h(k)=0 per k<0, risulta:

y(k)=\sum_{i=-\infty }^{k }u(i)h(k-i)=\sum_{j=0}^{\infty }h(j)u(k-j)

I sistemi DLIT per i quali la risposta impulsiva si annulla per tutti i k superiori a un valore finito, vengono denominati FIR (Finite Impulse Response); in caso contrario vengono denominati IIR (Infinite Impulse Response).

La risposta forzata yf(k), cioè a partire da condizioni iniziali nulle, ad un ingresso causale u(k) applicato all’istante iniziale (k=0), diviene:

y_{f}(k)=\sum_{i=0 }^{k }u(i)h(k-i)

Data l’invarianza nel tempo del sistema, questa espressione vale in generale considerando come istante iniziale quello di applicazione dell’ingresso.

Come risolvere le equazioni alle differenze?

Il calcolo della risposta forzata di un sistema DLIT in risposta a un ingresso u(k), può avvenire essenzialmente in due modi:

  1. risolvendo iterativamente l’equazione alle differenze di ordine n;
  2. ricorrendo alla convoluzione discreta dell’ingresso con la risposta impulsiva del sistema.

Vedremo questi metodi in un prossimo articolo.

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