Skip to content

Lezione (2025-12-10)

Teorema di convoluzione multi-dimensionale

Section titled “Teorema di convoluzione multi-dimensionale”

Il teorema di convoluzione si estende direttamente al caso multidimensionale. Quindi basta moltiplicare la trasformata di Fourier multi-dimensionale per la risposta in frequenza:

Y(f1,,fn)=X(f1,,fn) H(f1,,fn)Y(f_1, \ldots, f_n) = X(f_1, \ldots, f_n)\ H(f_1, \ldots, f_n)

Diventa quindi possibile applicare filtri sul dominio delle frequenze, come nel caso mono-dimensionale.

  • campionamento: occorre campionare in più dimensioni, tenendo conto delle diverse frequenze spaziali;
  • quantizzazione: la quantizzazione rimane identica;
  • codifica: i campioni vengono sempre associati a codici binari;

Nel campionamento bisogna evitare l’aliasing in ogni dimensione. La frequenza massima delle varie dimensioni può essere diversa. Bisogna quindi applicare il limite di Nyquist ad ogni dimensione.

Spettri multidimensionali

Dato che i campioni possono avere distanze diverse, si generano griglie rettangolari (in 2D). Per semplicità di solito si prende la frequenza massima tra tutte le dimensioni, in modo da ottenere griglie di dimensioni uguali.

Risposta di sistemi digitali multi-dimensionali

Section titled “Risposta di sistemi digitali multi-dimensionali”

È possibile ottenere la risposta in frequenza multi-dimensionale continua, anti-trasformarla e campionarla in ogni direzione. Quindi otteniamo filtri IIR multi-dimensionali, che si possono convertire in FIR tramite finestratura.

La maschera di convoluzione ottenuta deve avere lo stesso numero di dimensioni del segnale. Però il numero di campioni su di esse può variare.

Per applicare il filtro discreto al segnale, è necessario applicare la convoluzione in maniera discreta, dove NN è il numero di dimensioni del segnale/kernel e KiK_i il numero di campioni su ogni dimensione del kernel:

y[n1,,nN]=x[n1,,nN]h[n1,nN]    Y[n1,,nN]=k1=K12K12kN=KN2KN2x[k1,,kN] h[n1k1,,nNkN]y[n_1, \ldots, n_N] = x[n_1, \ldots, n_N] * h[n_1, \ldots n_N] \iff Y[n_1, \ldots, n_N] = \sum_{k_1 = - \frac{K_1}{2}}^\frac{K_1}{2} \dots \sum_{k_N = - \frac{K_N}{2}}^\frac{K_N}{2} x[k_1, \ldots, k_N]\ h[n_1 - k_1, \ldots, n_N - k_N]

Applicare filtri multi-dimensionali ha una complessità di O(KN)O(K^N).

La trasformata discreta multi-dimensionale è definita:

X[k1,,kN]=n1=0N11nN=0NN1x[n1,,nN]ej2π(k1n1N1++kNnNNN)X[k_1, \ldots, k_N] = \sum_{n_1 = 0}^{N_1 - 1} \dots \sum_{n_N = 0}^{N_N - 1} x[n_1, \ldots, n_N] e^{- j 2 \pi (\frac{k_1 n_1}{N_1} + \dots + \frac{k_N n_N}{N_N})}

L’inversa:

x[n1,,nN]=1N1NNk1=0N11kN=0NN1X[k1,,kN]ej2π(k1n1N1++kNnNNN)x[n_1, \ldots, n_N] = \frac{1}{N_1 \dots N_N} \sum_{k_1 = 0}^{N_1 - 1} \dots \sum_{k_N = 0}^{N_N - 1} X[k_1, \ldots, k_N] e^{j 2 \pi (\frac{k_1 n_1}{N_1} + \dots + \frac{k_N n_N}{N_N})}

Le proprietà e il teorema di convoluzione si comportano allo stesso modo del caso mono-dimensionale.

Per la convoluzione lienare bisogna effettuare lo zero padding in ogni direzione.