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.
fonte
Respostas:
Eu acho que as entradas em sua matriz devem obedecer a N - n + 1 , N - m + 1 = a ∗ n , m . Isso significa que as entradas na linha N - n + 1 são iguais aos coeficientes na linha n, mas onde os coeficientes são conjugados e revertidos. O padrão em T para N = 4 éT aN−n+1,N−m+1=a∗n,m N−n+1 T N=4
Tenho certeza de que alguém terá uma resposta melhor e mais precisa.
fonte
Se não me engano, a única solução para que é independente do vetor X é uma matriz diagonal (complexa), onde a diagonal satisfaz a simetria conjugada complexa.T X
EDIT: OK, eu estava enganado. Diagonal é bom, mas não é necessário. A matriz deve ter a seguinte estrutura geral: elementos t 11 e t N / 2 + 1 , N / 2 + 1 deve ser real de valor (que correspondem a DC e de Nyquist). Além de t 11, a primeira linha e coluna contém apenas zeros. Para os elementos t 22 a t N / 2 , N / 2 escolheu um arbitrário ( N / 2 - 1T t11 tN/2+1,N/2+1 t11 t22 tN/2,N/2 matriz. Em seguida, use essa matriz arbitrária para formar uma nova matriz trocando todas as linhas (a primeira linha se torna a última, a segunda linha se torna a segunda última etc.), invertendo as linhas da esquerda para a direita e conjugando. Em seguida, coloque este submatrix no canto inferior direito da matriz total de T . Todos os outros elementos de T devem ser zero. Estou ciente de que isso é um pouco difícil de entender sem uma visualização, então adicionarei uma mais tarde quando tiver mais tempo.(N/2−1)×(N/2−1) T T
fonte