Hai sbagliato la tua definizione di causalità. In realtà è molto più semplice e molto più intuitivo. Un sistema causale è un sistema in cui l’output non dipende dai valori futuri dell’input. Questa proprietà non è esclusiva dei sistemi lineari e può essere applicata ai sistemi in generale. Ecco alcuni esempi per illustrare il punto:

Sistema lineare causale invariante nel tempo:

$y = x – 2x + 0.5y$$

Qui $y$ dipende solo dai valori attuali e precedenti di $x$ e $y$.

Sistema lineare tempo-invariante non causale:

$y = \frac{1}{2}x + \frac{1}{2}x$

Conosciuta anche come media mobile centrale, questa funzione non è causale perché per l’uscita $y$, il termine $x$ sbircia nel futuro del nostro input.

Sistema non lineare non causale:

$y = \cos(x)$$

Questo è l’esempio che hai fornito. Come avrete già capito, dato che non guardiamo mai un input futuro, questo sistema è causale. In realtà, è ancora più speciale di così. Poiché l’uscita corrente è una funzione solo dell’input corrente (non degli input passati o futuri) questo sistema è chiamato un sistema senza memoria.

Sistema lineare causale variabile nel tempo:

$$y = (n+1)x$$

L’ho inventato per essere un po’ un rompicapo. A prima vista, può sembrare che questo sistema non sia causale perché c’è questo termine $(n+1)$. Ma questo non ha importanza perché non è un indice temporale di $x$. Guardiamo ancora solo il valore attuale dell’input e non stiamo sbirciando avanti. Questo è anche un esempio di un sistema senza memoria.

Un complicato sistema causale non lineare variabile nel tempo:

$y = e^nx + \ln\left(\ln\ft|x\right|+1\right) – \pi y$$

E’ chiaro che questo è un sistema non causale a causa del termine $y$, giusto? Sbagliato! Questa è una definizione classica di un sistema causale ricorsivo con alcuni termini riordinati. Procediamo a portarlo in una forma più standard in tre passi:$$y = e^nx + \ln\left(\left|x\right|+1\right) – \pi y$$$$\pi y = e^nx + \ln\left(\left|x\right|+1\right) – y$$$$\pi y = e^nx + \ln\left(\left|x\right|+1\right) – y$$$$y = \frac{e^nx + \ln\left(\left|x\right|+1\right) – y}{\pi}$$

La penultima riga si ottiene sostituendo $k=n+1$. Il trucco qui è che c’è una relazione tra le uscite in tempi diversi. Ma una volta che la risolvete, nessun output dipende mai dal valore futuro di un input rispetto a se stesso. La non linearità e la varianza temporale sono state inserite per renderlo più divertente e stimolante. Assicuratevi di capire cosa dice questo.

Come potete vedere la causalità può essere una proprietà di tutti i tipi di sistemi e ci sono molti altri esempi divertenti e bizzarri che si possono inventare.

Ora andiamo a risolvere il vostro paradosso. La chiave sta nel rendersi conto che le vostre definizioni di causalità e linearità (e forse anche di invarianza temporale) sono un po’ ingarbugliate e confuse. Risolvere il paradosso in modo divertente è facile come aggiungere la parola lineare in entrambe le vostre definizioni (anche l’invarianza temporale giocherà un ruolo sottile). Ecco come fare.

Definizione 1: Un sistema lineare è causale se e solo se l’uscita $y$ è funzione di una combinazione lineare di ingressi $x$ tale che $k \ge0$.

Questo perché non tutti i sistemi sono combinazioni lineari di ingressi. I sistemi lineari lo sono. Un sistema causale dipende solo dagli input passati e attuali, quindi un sistema lineare causale è una combinazione lineare di input attuali e precedenti. In realtà, per essere precisi con la definizione, i sistemi lineari sono combinazioni lineari sia di input che di output, e nei sistemi lineari causali gli output al tempo $n$ non possono dipendere da un input al tempo $m \gt n$.

Anche,

Definizione 2: Un sistema lineare tempo-invariante è causale se e solo se la risposta all’impulso $h=0$ per tutti $n<0$.

Anche questo è abbastanza intuitivo. Tutte le voci di $h$ per $k = 0$ sono i coefficienti con cui si moltiplicano i valori attuali e passati di $x$ per ottenere l’uscita attuale (se il sistema è ricorsivo è irrilevante in questo caso). Notate che questa definizione ha senso solo per sistemi lineari invarianti nel tempo! Questo perché la convoluzione esiste solo per quelli. Vediamo perché la linearità è necessaria. Se avete $h \ne 0$, allora $x$ sta contribuendo a $y$ ed è questo che lo rende non causale. Questo è vero perché nei sistemi lineari, se nulla entra, nulla esce. Questo non è generalmente vero per i sistemi non lineari (come nell’esempio che hai dato), quindi questa definizione non si applica.

Il sistema deve anche essere invariante nel tempo perché non può essere completamente definito dalla sua risposta all’impulso a meno che non sia completamente LTI. Se fai passare una funzione impulsiva $\delta $ attraverso il sistema $$y = x + (n+1)x,$$ otterrai un’uscita che è essa stessa un impulso (causale… giusto?). Tuttavia, il sistema è chiaramente non causale. Questo è il motivo per cui l’invarianza temporale è importante. Quando esegui una funzione d’impulso spostata $\delta$ per $m \ne 0$, la sua natura non-causale inizia a manifestarsi.

Quindi, a parte le chiacchiere, il tuo sistema è perfettamente causale, ma le tue definizioni si applicano solo ai sistemi lineari, mentre il tuo sistema non è lineare. La definizione corretta di un sistema causale è che qualsiasi uscita $y$ non può dipendere dall’ingresso $x$ dove $k \gt 0$.

Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.