Skip to content

Modulazione delta, DPCM e impulso di Kronecker

Dalla codificazione nasce un nuovo problema, ovvero ridurre il numero di bit emessi per rappresentare il segnale, senza diminuirne la qualità.

Esistono 2 tecniche che si basano sulla variazione differenziale del segnale e non sul suo valore assoluto:

Con la modulazione delta, si codificano le variazioni (positive o negative) tra un campione e l’altro invece dei loro singoli valori.

Il passo Δ è la quantità fissa da aggiungere o sottrarre al campione corrente rispetto al precedente. Quindi, dato che ci sono solo 2 possibili valori, si possono codificare come 0 e 1.

Il primo tipo di errore si verifica quando ci sono variazioni brusche nel segnale, infatti il segnale codificato non può scendere o salire a una velocità maggiore di un Δ per campione.

Il secondo, invece, si verifica nelle zone piatte, dato che il segnale deve continuare ad oscillare tra ±Δ.

Visualizzazione degli errori

Il valore del campione successivo si basa sulla codifica dell’errore commesso su una predizione (che deriva da 1 o più campioni precedenti).

Quindi, se l’errore di predizione sarà piccolo (succede quando il segnale predetto è molto correlato), serviranno pochi bit (codifica entropica).

D’ora in poi non parleremo più di segnali continui nel tempo 𝑥(𝑡), ma useremo sequenze di campioni 𝑥[𝑛]=𝑥𝑞(𝑛𝑇𝑐).

  • simmetria:

    • pari: 𝑥(𝑡)=𝑥(−𝑡)⇒𝑥[𝑛]=𝑥[−𝑛];
    • dispari: 𝑥(𝑡)=−𝑥(−𝑡)⇒𝑥[𝑛]=−𝑥[−𝑛];
  • guadagno: 𝑎𝑥(𝑡)⇒𝑎𝑥[𝑛];
  • ritardo: 𝑥(𝑡−Δ𝑡)⇒𝑥[𝑛−𝑘] (segnale traslato di 𝑘 campioni);
  • fattore di scala: corrisponde a ricampionamenti del segnale, ovvero la compressione riduce il numero di campioni (e può introdurre aliasing, evitabile applicando un filtro passa-basso (LPF) anti-aliasing prima di ridurre i campioni) e l’espansione fa aumentare il numero di campioni (per interpolazione o replica);
  • integrazione: l’integrazione diventa una somma dei valori del segnale;
  • derivazione: diventa una differenza finita tra il campione e il precedente: 1𝑇𝑐(𝑥[𝑛]−𝑥[𝑛−1]);
  • valor medio: lim𝐾→∞1𝐾∑𝑘=−𝐾2𝐾2𝑥[𝑘]
  • varianza: lim𝐾→∞1𝐾∑𝑘=−𝐾2𝐾2(𝑥[𝑘]−𝑥̅)2
  • energia: ∑𝑘=−∞+∞(𝑥[𝑘])2
  • potenza: lim𝐾→∞1𝐾∑𝑘=−𝐾2𝐾2(𝑥[𝑘])2
  • cross-correlazione:

    • segnali di energia: ℛ︀𝑥,𝑦(𝑘)=∑𝑛=−∞+∞𝑥[𝑛]𝑦[𝑛+𝑘]
    • segnali di potenza: ℛ︀𝑥,𝑦(𝑘)=lim𝐾→∞1𝐾∑𝑛=−𝐾2𝐾2𝑥[𝑛]𝑦[𝑛+𝑘]

Dato un segnale discreto, è possibile calcolare la densità di probabilità dei livelli assunti dal segnale.

La PDF di un segnale di 𝑁 campioni e 𝐿 valori 𝑣(𝑙) è:

ℎ[𝑙]=1𝑁∑𝑛=1𝑁{1𝑥[𝑛]=𝑣(𝑙)0altrove

L’elaborazione dei segnali digitali prevede l’utilizzo di sistemi numerici, che a loro volta producono altri segnali digitali.

Il segnale in uscita può avere caratteristiche diverse rispetto a quello in ingresso (dimensionalità, rappresentazione dei campioni, ecc.).

I sistemi numerici possono essere sia LTI che non-LTI.

  • linearità: 𝑓(𝑎𝑥1[𝑛]+𝑏𝑥2[𝑛])=𝑎𝑓(𝑥1[𝑛])+𝑏𝑓(𝑥2[𝑛]);
  • invarianza temporale: 𝑓(𝑥[𝑛])=𝑦[𝑛]⇒𝑓(𝑥[𝑛−𝑘])=𝑦[𝑛−𝑘];

Per capire come definire la convoluzione nel caso discreto, dobbiamo prima dare una definizione di impulso (dato che non è possibile campionare un impulso).

𝛿[𝑛]={1𝑛=00𝑛≠0

Questa definizione mantiene tutte le proprietà della delta di Dirac:

  • il suo integrale vale 1;
  • è una funzione simmetrica;
  • un impulso 𝛿[𝑛−𝑘] moltiplicato per un segnale discreto restituisce il valore del segnale 𝑥[𝑛] in posizione 𝑘: 𝑥[𝑘].

Dando in ingresso un impulso di Kronecker a un sistema numerico LTI, otterremo la risposta impulsiva discreta.

In generale l’effetto è un allargamento dell’impulso su una certa sequenza di campioni. Per questo motivo tale operazione viene spesso chiamata Point Spread Function (PSF).

La convoluzione tra segnali discreti diventa:

𝑦[𝑛]=𝑥[𝑛]∗ℎ[𝑛]=∑𝑘=−∞+∞𝑥[𝑘]ℎ[𝑛−𝑘]