Suponha que exista um vetor DFT com comprimento N, que apresenta simetria conjugada complexa em torno de seu ponto médio, ou seja, , e assim por diante. e são as frequências DC e Nyquist respectivamente, portanto, são números reais. Os elementos restantes são complexos. X ( 1 ) = X ( N - 1 ) ∗ X ( 2 ) = X ( N - 2 ) ∗ X ( 0 ) X ( N / 2 )
Agora, suponha que exista uma matriz , com tamanho , que multiplica o vetor X. N × N
A questão é:
Em que condições, para matrix , a simetria complexa do conjugado em torno do ponto médio do vetor resultante é preservada?Y
A motivação para esta pergunta é tentar criar uma matriz de precodificadores que resulte em um símbolo pré-codificado (pré-equalizado) cujo IFFT é real.Y
EDITAR:
Obrigado @MattL. e @niaren. A dificuldade dessa questão é encontrar as condições necessárias. A resposta de Matt é realmente suficiente. Também é suficiente fazer as seguintes modificações:
A primeira linha e a primeira coluna não precisam ser zero. Em vez disso, eles podem ser diferentes de zero, desde que seus valores apresentem uma simetria conjugada complexa em torno do ponto médio, seu primeiro valor seja real e seu -ésimo valor seja real, exatamente como o símbolo. O mesmo pode ser dito para o coluna -ésima, o linha -ésima, e a diagonal principal.( N / 2 + 1 ) ( N / 2 + 1 )
Em segundo lugar, a mesma correspondência entre a matriz no canto superior esquerdo e no canto inferior direito pode ser feita entre o canto superior direito e o canto inferior esquerdo, ou seja, escolha um matriz começando de a , vire da esquerda para a direita, vire de cabeça para baixo e pegue o conjugado, depois coloque no canto inferior esquerdo. No MATLAB, isso seria: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))))
Essa estrutura é semelhante à estrutura da matriz DFT. Isso seria uma condição necessária?
EDIT (2):
O código a seguir implementa um operador válido para qualquer matriz com 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'
EDIT (3):
Também é interessante notar que apresenta a condição suficiente. Isso vem do fato de que:
W
Como . Essa equação se torna:
Por fim, como tem valor real, desde que tenha uma classificação completa, é suficiente.