Salta al contenuto
Note per Studenti Esercizio - estensione e segnali causali

Esercizio - estensione e segnali causali

In questa pagina 5

Testo (dispense del corso Teoria dei Segnali, UniPD, Es. 2.4A e 2.4B, con l'Esempio 2.4A).

  • 2.4A. I segnali s(t)s(t) e r(t)r(t) abbiano rispettivamente estensione e[s]e[s] ed e[r]e[r]. Dimostrare che r(t)+s(t)r(t)+s(t) ha estensione e[s]∪e[r]e[s]\cup e[r].
  • 2.4B. Verificare che un segnale s(t)s(t) è causale se e solo se s(t)=s(t) 1(t)s(t)=s(t)\,\mathbf 1(t).
  • Esempio 2.4A. L'intersezione e[s]∩e[r]e[s]\cap e[r] è un'estensione del prodotto y=s ry=s\,r, ma il prodotto può avere un'estensione minima più piccola, e può anche essere identicamente nullo: trovare esempi.

Teoria usata: Segnali a tempo continuo - definizioni e trasformazioniUn segnale a tempo continuo è una funzione complessa di variabile reale $s:\mathbb R\to\mathbb C$ (reale se $s=s^*$). Si descrive con parte reale e immaginaria oppure con modulo e fase (valore principale in $(-\pi,\pi]$). Sui segnali si fanno tre operazioni elementari: ribaltamento $s(-t)$, traslazione $s(t-t_0)$ e cambio di scala $s(at)$. Ogni segnale si scompone in una parte pari e una dispari, in una reale e una immaginaria, in una hermitiana e una antihermitiana. Estensione e durata dicono dove il segnale è diverso da zero; i segnali con estensione nel semiasse positivo sono causali.Segnali a tempo continuo - definizioni e trasformazioni →, Segnali notevoli - gradino, rect, tri, sinc ed esponenzialiI segnali di uso più frequente sono la costante, la sinusoide $A_0\cos(2\pi f_0t+\varphi_0)$ e l'esponenziale complesso $Ae^{i2\pi f_0t}$ (periodici, a potenza finita), il gradino $\mathbf 1(t)$ e il segno, e gli impulsi a energia finita: $\operatorname{rect}$ (area $D$), $\operatorname{tri}$, $\operatorname{sinc}$ (area $1$), la gaussiana $e^{-\pi t^2}$ e gli esponenziali smorzati. Per ciascuno si sanno a memoria forma, area ed energia; gli altri segnali si ottengono da questi con traslazioni, scalature, somme e differenze.Segnali notevoli - gradino, rect, tri, sinc ed esponenziali →.

Le definizioni

  • Un segnale s(t)s(t) è a durata limitata se esiste un intervallo [ts,Ts][t_s,T_s] fuori dal quale s(t)=0s(t)=0. Quell'intervallo si chiama estensione e[s]=[ts,Ts]e[s]=[t_s,T_s] e la sua lunghezza Ds=Ts−tsD_s=T_s-t_s durata.
  • L'estensione non è unica: ogni intervallo più grande di un'estensione è ancora un'estensione (se s=0s=0 fuori da [−1,1][-1,1] lo è anche fuori da [−5,5][-5,5]). Diventa univoca prendendo il più piccolo intervallo con quella proprietà (estensione minima).
  • Per segnali non limitati si usano anche e[s]=[ts,+∞)e[s]=[t_s,+\infty) (estensione limitata solo a sinistra), (−∞,Ts](-\infty,T_s], oppure tutto R\mathbb R.
  • Un segnale è causale se s(t)=0s(t)=0 per t<0t<0, cioè se e[s]⊆[0,+∞)e[s]\subseteq[0,+\infty).
  • Il gradino vale 1(t)=0\mathbf 1(t)=0 per t<0t<0 e 11 per t>0t>0, con 1(0)=12\mathbf 1(0)=\frac12 per la regola dell'emivalore.

(Es. 2.4A) L'estensione di una somma

Tesi. e[s]∪e[r]e[s]\cup e[r] è un'estensione di y=r+sy=r+s, cioè y(t)=0y(t)=0 per ogni tt fuori da e[s]∪e[r]e[s]\cup e[r].

Dimostrazione. Sia tt un istante che non appartiene all'unione e[s]∪e[r]e[s]\cup e[r]. Allora t∉e[s]t\notin e[s] e t∉e[r]t\notin e[r] (essere fuori dall'unione significa essere fuori da entrambi gli insiemi). Per la definizione di estensione:

  • t∉e[s] ⇒ s(t)=0t\notin e[s]\ \Rightarrow\ s(t)=0;
  • t∉e[r] ⇒ r(t)=0t\notin e[r]\ \Rightarrow\ r(t)=0.

Dunque y(t)=r(t)+s(t)=0+0=0y(t)=r(t)+s(t)=0+0=0. □\square

Tre osservazioni che completano il discorso.

  1. Se i due intervalli sono staccati l'unione non è un intervallo. Esempio: s=rect⁡(t)s=\operatorname{rect}(t) (vale 11 per ∣t∣<12\lvert t\rvert<\frac12, estensione [−12,12][-\frac12,\frac12]) e r=rect⁡(t−3)r=\operatorname{rect}(t-3) (estensione [52,72][\frac52,\frac72]): la somma è nulla fuori dai due intervalli. Se si vuole un'estensione che sia un intervallo si prende il più piccolo intervallo che li contiene entrambi, [min⁡(ts,tr),max⁡(Ts,Tr)]=[−12,72][\min(t_s,t_r),\max(T_s,T_r)]=[-\frac12,\frac72], di durata 44.
  2. L'unione non è in generale l'estensione minima: i due segnali possono cancellarsi. Esempio con s(t)=rect⁡(t2)s(t)=\operatorname{rect}\left(\frac t2\right) (vale 11 per ∣t∣<1\lvert t\rvert<1) e r(t)=rect⁡(t)−rect⁡(t2)r(t)=\operatorname{rect}(t)-\operatorname{rect}\left(\frac t2\right). Il segnale rr vale 1−1=01-1=0 per ∣t∣<12\lvert t\rvert<\frac12 e 0−1=−10-1=-1 per 12<∣t∣<1\frac12<\lvert t\rvert<1: ha estensione minima [−1,1][-1,1], uguale a quella di ss, quindi e[s]∪e[r]=[−1,1]e[s]\cup e[r]=[-1,1]. Ma la somma è s+r=rect⁡(t)s+r=\operatorname{rect}(t), che ha estensione minima [−12,12][-\frac12,\frac12], più piccola. Controllo numerico: t=0,25t=0{,}25: s=1s=1, r=0r=0, somma 11; t=0,75t=0{,}75: s=1s=1, r=−1r=-1, somma 00 (cancellazione).
  3. Caso estremo: r=−sr=-s dà y≡0y\equiv0, con qualunque e[s]e[s].

Grafico interattivo: Es. 2.4A: s(t) = rect(t/2) (estensione [−1,1]) e r(t) = rect(t) − rect(t/2) (estensione [−1,1]) si cancellano per 1/2 < |t| < 1: la somma s + r = rect(t) ha estensione [−1/2,1/2], più piccola dell'unione

(Es. 2.4B) Causale se e solo se s(t)=s(t) 1(t)s(t)=s(t)\,\mathbf 1(t)

L'idea: moltiplicare per 1(t)\mathbf 1(t) lascia invariato il segnale dove 1=1\mathbf 1=1 (cioè per t>0t>0) e lo azzera dove 1=0\mathbf 1=0 (per t<0t<0). Il segnale s 1s\,\mathbf 1 è la parte causale di ss: coincide con ss per t>0t>0 ed è nulla per t<0t<0.

(⇒\Rightarrow) Se ss è causale allora s=s 1s=s\,\mathbf 1. Si confrontano i due membri in tre zone.

  • t<0t<0: s(t)1(t)=s(t)⋅0=0s(t)\mathbf 1(t)=s(t)\cdot0=0, e s(t)=0s(t)=0 perché il segnale è causale ✓.
  • t>0t>0: s(t)1(t)=s(t)⋅1=s(t)s(t)\mathbf 1(t)=s(t)\cdot1=s(t) ✓.
  • t=0t=0: è un punto isolato e il suo valore è fissato dalla regola dell'emivalore. Il prodotto s 1s\,\mathbf 1 è zero a sinistra di 00, e a destra tende a s(0+)s(0^+): per la regola vale 12s(0+)\frac12 s(0^+). Il segnale ss, che a sinistra è 00, ha per la stessa regola s(0)=12[0+s(0+)]=12s(0+)s(0)=\frac12[0+s(0^+)]=\frac12 s(0^+): i due valori coincidono ✓. (Se ss è continua in 00 allora s(0−)=0s(0^-)=0 forza s(0)=0s(0)=0 e non c'è nessun salto. Non va invece usato il prodotto dei due numeri s(0)⋅1(0)=12s(0)s(0)\cdot\mathbf 1(0)=\frac12s(0), che darebbe un valore diverso: il valore in un solo punto non cambia nessun integrale, ma il prodotto di segnali va inteso con questa regola.)

(⇐\Leftarrow) Se s=s 1s=s\,\mathbf 1 allora ss è causale. Per t<0t<0 si ha s(t)=s(t)1(t)=s(t)⋅0=0s(t)=s(t)\mathbf 1(t)=s(t)\cdot0=0, che è la definizione di causale. □\square

Esempi con numeri.

  • s(t)=e−t1(t)s(t)=e^{-t}\mathbf 1(t) è causale e s⋅1=e−t1(t)2=e−t1(t)=ss\cdot\mathbf 1=e^{-t}\mathbf 1(t)^2=e^{-t}\mathbf 1(t)=s, perché 1(t)2=1(t)\mathbf 1(t)^2=\mathbf 1(t) (i valori 00 e 11 elevati al quadrato non cambiano). In t=−1t=-1 entrambi valgono 00; in t=2t=2 entrambi e−2≈0,1353e^{-2}\approx0{,}1353.
  • s(t)=e−∣t∣s(t)=e^{-\lvert t\rvert} non è causale: in t=−1t=-1 vale e−1≈0,3679≠0e^{-1}\approx0{,}3679\neq0, e infatti s(t)1(t)=e−t1(t)s(t)\mathbf 1(t)=e^{-t}\mathbf 1(t) vale 00 in t=−1t=-1, quindi s≠s1s\neq s\mathbf 1. La parte causale di ss è e−t1(t)e^{-t}\mathbf 1(t).
  • La rampa sc(t)=βt 1(t)s_c(t)=\beta t\,\mathbf 1(t) è la parte causale della retta βt\beta t.

Complemento (Esempio 2.4A): l'estensione di un prodotto

Perché l'intersezione è un'estensione. Se t∉e[s]∩e[r]t\notin e[s]\cap e[r] allora tt è fuori da almeno uno dei due insiemi, quindi s(t)=0s(t)=0 oppure r(t)=0r(t)=0, e il prodotto y(t)=s(t)r(t)=0y(t)=s(t)r(t)=0. Dunque e[s]∩e[r]e[s]\cap e[r] è un'estensione di y=s ry=s\,r ✓.

Ma può essere più grande di quella minima. Due controesempi, entrambi con segnali fatti di rect⁡\operatorname{rect}:

(a) Prodotto non nullo con estensione più piccola. s(t)=rect⁡(t2)−rect⁡(2(t−14))s(t)=\operatorname{rect}\left(\frac t2\right)-\operatorname{rect}\big(2(t-\frac14)\big) e r(t)=rect⁡(t)r(t)=\operatorname{rect}(t). Il primo termine di ss vale 11 per ∣t∣<1\lvert t\rvert<1; il secondo vale 11 quando ∣2(t−14)∣<12\lvert2(t-\frac14)\rvert<\frac12, cioè per 0<t<120<t<\frac12. Quindi s=1s=1 per −1<t<0-1<t<0, s=0s=0 per 0<t<120<t<\frac12 e s=1s=1 per 12<t<1\frac12<t<1: l'estensione minima è [−1,1][-1,1] (c'è un "buco" tra 00 e 12\frac12). Il segnale rr ha estensione minima [−12,12][-\frac12,\frac12]. L'intersezione è [−12,12][-\frac12,\frac12], ma il prodotto vale 11 solo per −12<t<0-\frac12<t<0 (dove s=1s=1 e r=1r=1) e 00 altrove: la sua estensione minima è [−12,0][-\frac12,0], di durata la metà.

Grafico interattivo: Esempio 2.4A (a): s(t) = rect(t/2) − rect(2(t−1/4)) (buco tra 0 e 1/2), r(t) = rect(t); il prodotto s·r vale 1 solo tra −1/2 e 0, estensione [−1/2,0] più piccola dell'intersezione [−1/2,1/2]

(b) Prodotto identicamente nullo. s(t)=rect⁡(t2)−rect⁡(2t)s(t)=\operatorname{rect}\left(\frac t2\right)-\operatorname{rect}(2t) vale 11 per 14<∣t∣<1\frac14<\lvert t\rvert<1 e 00 per ∣t∣<14\lvert t\rvert<\frac14 (estensione minima [−1,1][-1,1]); r(t)=rect⁡(2t)r(t)=\operatorname{rect}(2t) vale 11 per ∣t∣<14\lvert t\rvert<\frac14 (estensione minima [−14,14][-\frac14,\frac14]). Le due estensioni minime sono non vuote e l'intersezione [−14,14][-\frac14,\frac14] è non vuota, ma i due segnali non sono mai contemporaneamente diversi da zero: il prodotto è nullo (i valori nei due soli punti ±14\pm\frac14 sono convenzioni di bordo e non contano).

Controllo

python
import numpy as np

rect = lambda x: np.where(np.abs(x) < 0.5, 1.0, np.where(np.abs(x) == 0.5, 0.5, 0.0))
g = np.linspace(-3, 3, 600001)

def estensione(f):          # primo e ultimo punto della griglia dove il segnale e' non nullo
    nz = g[np.abs(f(g)) > 1e-12]
    return float(round(nz.min(), 3)), float(round(nz.max(), 3))

# 2.4A: somma con cancellazione
s = lambda t: rect(t/2)
r = lambda t: rect(t) - rect(t/2)
print(estensione(s), estensione(r), estensione(lambda t: s(t) + r(t)))   # (-1,1) (-1,1) (-0.5,0.5)

# Esempio 2.4A (a): prodotto con estensione piu' piccola
s2 = lambda t: rect(t/2) - rect(2*(t - 0.25))
print(estensione(s2), estensione(rect), estensione(lambda t: s2(t)*rect(t)))  # (-1,1) (-0.5,0.5) (-0.5,0)

# Esempio 2.4A (b): prodotto nullo
s3 = lambda t: rect(t/2) - rect(2*t)
print(np.abs(s3(g) * rect(2*g)).max())                                   # 0.0

# 2.4B: s causale <=> s = s*1(t)
u = lambda t: np.where(t > 0, 1.0, np.where(t == 0, 0.5, 0.0))
t = np.array([-1.0, -0.2, 0.5, 2.0])
print(np.exp(-t)*u(t), np.exp(-t)*u(t)*u(t))        # uguali (segnale causale)
print(np.exp(-np.abs(t)), np.exp(-np.abs(t))*u(t))  # diversi per t<0 (non causale)

Eseguendo il codice si ottiene: le estensioni minime (−1,1)(-1,1), (−1,1)(-1,1) e (−0,5,0,5)(-0{,}5,0{,}5) per ss, rr e s+rs+r; (−1,1)(-1,1), (−0,5,0,5)(-0{,}5,0{,}5) e (−0,5,0)(-0{,}5,0) per s2s_2, rect⁡\operatorname{rect} e il prodotto; massimo del prodotto nel caso (b) uguale a 00; il segnale causale coincide con s1s\mathbf 1 (00, 00, 0,60650{,}6065, 0,13530{,}1353), l'altro no (0,36790{,}3679 contro 00 in t=−1t=-1).

Versione ripasso

  • 2.4A. t∉e[s]∪e[r]⇒s(t)=r(t)=0⇒(s+r)(t)=0t\notin e[s]\cup e[r]\Rightarrow s(t)=r(t)=0\Rightarrow(s+r)(t)=0: l'unione è un'estensione della somma (se staccati si prende l'intervallo che li contiene; può non essere minima: rect⁡(t2)+[rect⁡(t)−rect⁡(t2)]=rect⁡(t)\operatorname{rect}(\frac t2)+[\operatorname{rect}(t)-\operatorname{rect}(\frac t2)]=\operatorname{rect}(t) ha estensione [−12,12][-\frac12,\frac12], non [−1,1][-1,1]).
  • 2.4B. Causale   ⟺  s=s1\iff s=s\mathbf 1: per t<0t<0 il membro destro è s⋅0=0s\cdot0=0; per t>0t>0 è s⋅1=ss\cdot1=s (in t=0t=0 vale la regola dell'emivalore). e−t1(t)e^{-t}\mathbf 1(t) lo è, e−∣t∣e^{-\lvert t\rvert} no.
  • Prodotto. e[s]∩e[r]e[s]\cap e[r] è un'estensione di s rs\,r ma può essere più grande della minima (anche con s r≡0s\,r\equiv0): esempi con buchi, rect⁡(t2)−rect⁡(2(t−14))\operatorname{rect}(\frac t2)-\operatorname{rect}\big(2(t-\frac14)\big) per rect⁡(t)\operatorname{rect}(t) dà [−12,0][-\frac12,0].
  • Errori tipici: credere che l'estensione sia unica o sempre minima; confondere "causale" con "positivo".

Teoria collegata