Matrice di Fourier

Da testwiki.
Versione del 29 mag 2023 alle 19:23 di imported>Mario.gambina (growthexperiments-addlink-summary-summary:3|0|0)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca

La matrice di Fourier è una matrice complessa simmetrica del tipo di Vandermonde che esprime in forma matriciale la trasformata discreta di Fourier (DFT).

Definizione

Una trasformata discreta di Fourier (DFT) che trasforma una successione di N numeri complessi x0,,xN1 nella successione di N numeri complessi X0,,XN1 è espressa come una moltiplicazione tra matrici:

X=𝐅Nx

Esplicitamente:

𝐅N=[ωN00ωN01ωN0(N1)ωN10ωN11ωN1(N1)ωN(N1)0ωN(N1)1ωN(N1)(N1)]=[ωNjk]j,k=0,1,,N1

dove ωN è una radice dell'unità primitiva N-esima e le sue potenze ωNk, con k=0,1,...,N1, costituiscono tutte le radici N-esime dell'unità.

Nella formulazione standard si assume ωN=e2πi/N: in tal caso la matrice di Fourier è propriamente associata alla trasformata discreta di Fourier (DFT). In altre formulazioni si adotta la convenzione con ωN=e2πi/N, e in tal caso la matrice di Fourier, a meno del fattore 1/N, risulta associata all'inversa della trasformata discreta di Fourier (IDFT).

Proprietà

I vettori colonna e riga della matrice di Fourier sono ortogonali. In particolare, indicando con 𝐅N la matrice coniugata di 𝐅N:

𝐅N=[ωNjk]

risulta:

(𝐅N𝐅N)rs=k=0N1ωNrkωNks=k=0N1ωNk(rs)={Nr=s0rs

Infatti, posto q=rs=0:

k=0N1ωNkq=1+ωNq+ωN2q++ωN(N1)q

da cui:

ωNqk=0N1ωNkq=ωNq+ωN2q+ωN3q++ωN(N1)q+ωNNq=1+ωNq+ωN2q++ωN(N1)q=k=0N1ωNkq

considerando il primo e l'ultimo termine:

(ωNq1)k=0N1ωNkq=0

che implica:

k=0N1ωNkq=0

Pertanto si ha:

𝐅N𝐅N=N𝐈N

dove 𝐈N è la matrice identità di ordine N.

La trasformata inversa si ricava mediante la matrice inversa:

𝐅N1=1N𝐅N
x=𝐅N1X

Inoltre, la matrice di Fourier normalizzata secondo il fattore 1/N risulta essere una matrice unitaria:

𝐔N=𝐅N/N𝐔N1=𝐔N|det(𝐔N)|=1

Fattorizzazione della matrice di Fourier

La fattorizzazione della matrice di Fourier in matrici sparse, contenenti cioè un gran numero di zeri e quindi tali da ridurre l'onere computazionale, è alla base degli algoritmi più diffusi per il calcolo della DFT, noti come trasformata di Fourier veloce (FFT).

Il caso più semplice si ha quando l'ordine della matrice è un numero pari (N = 2n). L'idea di base è quella di esprimere la matrice di Fourier di ordine 2n in termini della matrice di Fourier di ordine n. In tal caso, per le note proprietà della radice dell'unità, risulta infatti:

relazione tra ω8k e ω4l
ω2nk con k=0,1,,2n1={ωnll=0,1,,n1rispett. per k=0,2,,2n2ωnlω2nl=0,1,,n1rispett. per k=1,3,,2n1

La matrice di Fourier di ordine 2n risulta:

𝐅2n=[ω2n00ω2n01ω2n0(2n1)ω2n10ω2n11ω2n1(2n1)ω2n(2n1)0ω2n(2n1)1ω2n(2n1)(2n1)]=[ω2n0kω2n1kω2n(2n1)k]=[ω2njk] con j,k=0,1,,2n1

Indicando con 𝐏2n la matrice di permutazione che riordina le colonne di 𝐅2n anteponendo le colonne di indice pari (k=0,2,,2n2) a quelle di indice dispari (k=1,3,,2n1), risulta:

𝐅2n𝐏2n=[ωn0l|ωn0lω2n0ωn1l|ωn1lω2n1|ωn(2n1)l|ωn(2n1)lω2n(2n1)] con l=0,1,,n1

Le prime n righe della sottomatrice di sinistra coincidono, per definizione, con quelle della matrice di Fourier di ordine n, mentre le ultime n righe della sottomatrice di sinistra coincidono anch'esse con quelle della matrice di Fourier di ordine n. Risulta infatti:

ωnnl=ωn0l
ωn(n+1)l=ωn1l
ωn(2n1)l=ωn(n1)l

Le prime n righe della sottomatrice di destra coincidono con quelle della matrice prodotto fra la seguente matrice diagonale di ordine n e la matrice di Fourier di ordine n:

𝐃n=[ω2n0000ω2n1000ω2n(n1)]

Le ultime n righe della sottomatrice di destra coincidono, a meno del segno, con le prime n. Risulta infatti:

ω2nn=ω2nnω2n0=ω2n0
ω2n(n+1)=ω2nnω2n1=ω2n1
ω2n(2n1)=ω2nnω2n(n1)=ω2n(n1)

Sulla base delle precedenti considerazioni, si può scrivere:

𝐅2n𝐏2n=[𝐅n|𝐃n𝐅n𝐅n|𝐃n𝐅n]=[𝐈n|𝐃n𝐈n|𝐃n][𝐅n|00|𝐅n]

e quindi (𝐏2n𝐏2nT=𝐈2n):

𝐅2n=[𝐈n|𝐃n𝐈n|𝐃n][𝐅n|00|𝐅n]𝐏2nT

Come esempio di fattorizzazione nel caso N=4:

𝐅4=[11111i1i11111i1i]=[1010010i1010010i][1100110000110011][1000001001000001]

A seguito della fattorizzazione l'onere computazionale, inizialmente pari a N2, diventa pari a: 2(N2)2+N2. La matrice di permutazione ha un onere computazionale nullo. Il primo termine è relativo al doppio prodotto per la matrice di Fourier di ordine dimezzato. Il secondo termine è relativo al prodotto per la matrice diagonale D; il prodotto per la matrice D si ottiene infatti da quello per D mediante un semplice cambio di segno.

Se l'ordine iniziale è una potenza di due (N=2m) il processo di fattorizzazione può continuare fino ad esprimere la matrice iniziale di ordine N in funzione di N matrici di Fourier di ordine 1 (coincidenti con la matrice identità di ordine N). In tal caso, l'onere computazionale residuo è quello relativo alle m matrici diagonali ottenute dalla fattorizzazione: N/2m=(N/2)log2N.

Bibliografia

  • Strang G. Introduction to Linear Algebra, 4th Edition, Wellesley - Cambridge Press, 2009.
  • Strang, G. Wavelet Transforms Versus Fourier Transforms. Bull. Amer. Math. Soc. 28, 288-305, 1993.

Voci correlate

Altri progetti

Template:Interprogetto

Collegamenti esterni

Template:Portale