Supponiamo che ci sia un vettore DFT con lunghezza N, che presenta una simmetria coniugata complessa attorno al suo punto medio, cioè X ( 1 ) = X ( N - 1 ) ∗ , X ( 2 ) = X ( N - 2 ) ∗ e così via. X ( 0 ) e X ( N / 2 ) sono rispettivamente la frequenza DC e Nyquist, quindi sono numeri reali. Gli elementi rimanenti sono complessi.
Supponiamo ora che ci sia una matrice , con dimensione N × N , che moltiplica il vettore X.
La domanda è:
In quali condizioni, per la matrice , viene conservata la complessa simmetria coniugata attorno al punto medio del vettore Y risultante ?
La motivazione di questa domanda sta provando a trovare una matrice precodificatore che si traduce in un simbolo Y precodificato (pre-equalizzato) il cui IFFT è reale.
MODIFICARE:
Grazie @MattL. e @niaren. La difficoltà di questa domanda è trovare le condizioni necessarie. La risposta di Matt è davvero sufficiente. È inoltre sufficiente apportare le seguenti modifiche:
La prima riga e la prima colonna non devono essere zero. Invece, potrebbero essere diversi da zero, a condizione che i suoi valori presentino una simmetria coniugata complessa attorno al punto medio, il suo primo valore sia reale e il suo valore sia reale, proprio come il simbolo. Lo stesso si potrebbe affermare per il ( N / 2 + 1 ) colonna -esimo, il ( N / 2 + 1 ) fila -esimo, e la diagonale principale.
In secondo luogo, la stessa corrispondenza tra la matrice nell'angolo in alto a sinistra e nell'angolo in basso a destra potrebbe essere fatta tra l'angolo in alto a destra e l'angolo in basso a sinistra, cioè scegliere un matrice a partire da t 2 , N / 2 + 2 a t N / 2 , N , capovolgere da sinistra a destra, capovolgere e prendere il coniugato, quindi posizionarlo nell'angolo in basso a sinistra. Su MATLAB, sarebbe:
T(N/2+2:N,2:N/2) = conj(fliplr(flipud(Tisi(2:(N/2),N/2+2:N))))
Questa struttura è simile alla struttura della matrice DFT. Sarebbe una condizione necessaria?
EDIT (2):
Il codice seguente implementa un operatore così valido per qualsiasi matrice valore reale A :
N = 8;
A = rand(N,N); %must be real-valued
w = exp(-1j*2*pi/N); % twiddle factor
W = w.^(repmat(0:N-1,N,1).*repmat(0:N-1,N,1).'); % DFT matrix
T = W*A*W'
EDIT (3):
È anche interessante notare che il presenta anche le condizioni sufficienti. Questo deriva dal fatto che:
doveWè la matrice DFT.
Da . Questa equazione diventa: