Supongamos que hay un vector DFT con longitud N, que presenta una simetría conjugada compleja alrededor de su punto medio, es decir, , y así sucesivamente. y X (N / 2) son las frecuencias DC y Nyquist respectivamente, por lo tanto, son números reales. Los elementos restantes son complejos. X ( 1 ) = X ( N - 1 ) ∗ X ( 2 ) = X ( N - 2 ) ∗ X ( 0 ) X ( N / 2 )
Ahora, suponga que hay una matriz , con tamaño , que multiplica el vector X.
La pregunta es:
¿En qué condiciones, para la matriz , se conserva la simetría del conjugado complejo alrededor del punto medio del vector resultante ?
La motivación para esta pregunta es tratar de encontrar una matriz de precodificador que dé como resultado un símbolo precodificado (pre-ecualizado) cuyo IFFT es real.
EDITAR:
Gracias @MattL. y @niaren. La dificultad de esta pregunta es encontrar las condiciones necesarias. La respuesta de Matt es de hecho suficiente. También es suficiente realizar las siguientes modificaciones:
La primera fila y la primera columna no necesitan ser cero. En cambio, podrían ser distintos de cero, siempre que sus valores presenten una simetría conjugada compleja alrededor del punto medio, su primer valor es real y su valor es real, al igual que el símbolo. Lo mismo podría decirse de la columna -ésima, la fila-ésimo, y la diagonal principal.( N / 2 + 1 ) ( N / 2 + 1 )
En segundo lugar, la misma correspondencia entre la matriz en la esquina superior izquierda y la esquina inferior derecha podría establecerse entre la esquina superior derecha y la esquina inferior izquierda, es decir, elegir un matriz que comienza desde hasta , voltea de izquierda a derecha, voltea boca abajo y toma el conjugado, luego ponlo en la esquina inferior izquierda. En MATLAB, eso sería:t 2 , N / 2 + 2 t N / 2 , N
T(N/2+2:N,2:N/2) = conj(fliplr(flipud(Tisi(2:(N/2),N/2+2:N))))
Esta estructura es similar a la estructura de la matriz DFT. ¿Sería esa una condición necesaria?
EDITAR (2):
El siguiente código implementa un operador válido para cualquier matrix valor real :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'
EDITAR (3):
También es interesante notar que presenta la condición suficiente. Esto viene del hecho de que:
W
Desde . Esta ecuación se convierte en:
Finalmente, dado que tiene un valor real, siempre que sea rango completo, es suficiente.