Como decodificar soft DQPSK?

9

Estou decodificando com êxito o D-BPSK, obtendo o produto escalar da posição de constelação do símbolo e do símbolo anterior. Se o resultado for> = 1, a fase do símbolo não mudou e o bit é zero. Se o resultado for <= -1, a fase mudou e o resultado é um. Entre -1 e 1, o resultado é 0 suave ou 1 suave.

Não consigo descobrir como fazer a mesma coisa com o D-QPSK. Eu posso usar apenas a fase, mas isso descarta muita informação que poderia ajudar o decodificador flexível.

Este artigo explica como fazê-lo e fornece uma fórmula (10):

b1=Re{snsn1},b2=Im{snsn1}

Mas eu não entendo a notação - o que significa *flutuar acima? Tentei apenas multiplicar os números complexos e pegar as partes reais e imaginárias, mas isso não funcionou.

Como a constelação pode girar, como os dois eixos podem ser separados?

Dan Sandberg
fonte
Você pode adicionar a matemática que está usando para a "produção pontual da constelação do símbolo e do símbolo anterior".
precisa saber é o seguinte
Claro, é: last_symbol.real cur_symbol.real + last_symbol.imag cur_symbol.imag
Dan Sandberg
Lamentavelmente, os bits de dados e não podem ser estimados usando a fórmula (10) dada acima. No DQPSK, um dos e é grande em magnitude e o outro é pequeno em magnitude. Qual deles tem a grande magnitude indica se os bits de dados serão um ou um . O sinal de grande magnitude indica qual das duas opções é a correta. Ou seja, a grande magnitude indica qual par de dibits e o sinal indica qual dos dois dibits. b 2 R e { s n s n - 1 } I m { s n s n - 1 } { 00 , 11 } { 01 , 10 }b1b2 Re{snsn1}Im{snsn1}{00,11}{01,10}
Dilip Sarwate
@DilipSarwate, obtive a fórmula acima funcionando, mas tive que precodificar os dados de uma maneira aparentemente arbitrária para obter os resultados corretos. A maneira que eu pré-codificado que pode ou não ser equivalente a: shf.de/communication/support/application_notes/getfile/230/269 Se eu só uso a magnitude maior que eu não acabar com informações apropriadas para soft-decodificação - como 00 e 11 são opostos (em vez de códigos adjacentes), não é útil ter uma medida suave entre os dois. Talvez eu tenha perdido alguma coisa? Devo iniciar uma nova pergunta sobre pré-codificadores DQPSK?
precisa

Respostas:

5

Dois símbolos sucessivos no demodulador são e onde é a saída da ramificação I e a saída da ramificação Q do receptor. O dispositivo de decisão DBPSK de decisão difícil considera a pergunta:Z1=(X1,Y1)Z2=(X2,Y2)XY

O novo símbolo mais próximo do símbolo antigo ou do negativo do símbolo antigo?Z2Z1 - Z 1 Z1

e assim compara

(X2X1)2+(Y2Y1)2(X2+X1)2+(Y2+Y1)2

que pode ser simplificado para uma comparação de sinal em . Note que isso é essencialmente pedirZ1,Z2=X1X2+Y1Y2

Os dois vetores e estão apontando aproximadamente na mesma direção (nesse caso, o produto interno ou produto pontual é positivo) ou na direção aproximadamente oposta (nesse caso, o produto pontual é negativo)?Z1Z2

Um terceiro ponto de vista pensa em e como números complexos e perguntaZ1Z2

É positivo ou negativo?Re(Z1Z2)=X1X2+Y1Y2

O dispositivo de decisão de decisão simples simplesmente repassa o valor exato do produto escalar para o decodificador de decisão escalar, que pode optar por quantificar produtos escalonados em magnitude muito grande em decisões difíceis e continuar waffling no resto. É essa a regra de decisão declarada na pergunta do OP, onde grandes são consideradas maiores que em magnitude.1

No DQPSK, a codificação usa uma das duas convenções:

  • a fase do sinal é atrasada em conforme o dibit a ser transmitido é0,π/2,π,3π/200,01,11,10

  • a fase do sinal é avançada em conforme o dibit a ser transmitido é0,π/2,π,3π/200,01,11,10

Observe que um sinal DQPSK não é a soma de dois sinais DBPSK modulados em portadoras ortogonais de fase, mas os bits I e Q afetam conjuntamente a fase portadora líquida.

Para desmodular um sinal DQPSK, o dispositivo de decisão precisa solicitar

Qual dos quatro símbolos é mais próximo?Z1,jZ1=(Y1,X1),Z1,jZ1=(Y1,X1)Z2

Assim, além da comparação

(X2X1)2+(Y2Y1)2(X2+X1)2+(Y2+Y1)2

é necessário comparar

(X2+Y1)2+(Y2X1)2(X2Y1)2+(Y2+X1)2

que para examinar além de e tomar a decisão de acordo com qual quantidade tem a maior magnitude e o sinal da maior magnitude. Os detalhes de como o decodificador de decisão programática usa a estatística de decisão determinarão como esses números serão mais massageados.Im(Z1Z2)Re(Z1Z2)Z 1 Z 2 = ( Re ( Z 1 Z 2 ) , Im ( Z 1 Z 2 ) )Z1Z2=(Re(Z1Z2),Im(Z1Z2))

Dilip Sarwate
fonte
Obrigado pela resposta muito complexa Dilip. É um erro de digitação? Deveria ser ? E a notação significa produto escalar? Z 1 , Z 2A , B Z1,Z1Z1,Z2A,B
quer
Hah, eu quis dizer a resposta muito completa! :)
Dan Sandberg
Sim, é um erro de digitação e eu o corrigi. notação é comumente usada para denotar o produto interno em geral, do qual o ponto é um caso especial. A,B
precisa saber é o seguinte
se eu olhar apenas para qual quantidade tem a maior magnitude, parece que estou descartando informações. Como exemplo, a parte imaginária determina se a rotação é 0 ou 180 graus. Mas uma medida suave entre esses dois não é significativa, pois não são rotações adjacentes (como 0 e 90). Alguma idéia de como obter uma decodificação suave mais útil? O artigo parece enganador, pois afirma que o primeiro bit é a parte Real e o segundo bit é a parte imaginária.
Dan Sandberg
3

O asterisco refere-se a um conjugado complexo. Um método típico para decodificação suave de modulações diferenciais é a técnica de atraso, conjugado e multiplicação :

Si=DiDi1

onde e são dois símbolos codificados diferencialmente consecutivos e é o resultado decodificado diferencialmente. Essa fórmula geral funcionará para DBPSK ou DQPSK (como os sinais BPSK são reais, o conjugado simplesmente cai). O fluxo de sinal resultante fica na mesma constelação que a entrada, para que você possa tomar decisões difíceis usando as mesmas regras que usaria para o BPSK ou QPSK normal.D i - 1 S i S iDiDi1SiSi

Jason R
fonte
Obrigado Jason. Tentei multiplicar pelo complexo conjugado antes de postar, mas agora não sabia como interpretar o resultado. Como não sei a rotação da constelação, como chego a um mapeamento como mencionei na pergunta do DBPSK?
Dan Sandberg
Analisei os resultados de sua sugestão e parece que a peça imaginária é mapeada para uma rotação de 0 ou 180 graus, enquanto a peça real é mapeada para uma rotação de 90 ou 270 graus. Quando os dados estão limpos (sem ruído), uma parte (real ou imaginária) é 0 e a outra é -1 ou 1. Como decodificá-lo em bits quando os dados não estão limpos e os mapeamentos não são tão ideal?
Dan Sandberg
@JasonR Eu não acho que o "esteja na mesma constelação que a entrada" e as decisões difíceis para o DQPSK não seguem as mesmas regras que as decisões difíceis para o QPSK. Si=DiDi1
precisa saber é o seguinte
@DilipSarwate: Eu poderia ter sido mais detalhado na minha resposta, mas se o seu codificador diferencial tiver a função de gerar um símbolo de saída com uma fase que seja a soma das fases de suas duas entradas anteriores, a operação analógica no decodificador será para formar as diferenças na fase dos símbolos codificados diferencialmente recebidos sucessivamente. Eu poderia explicar melhor isso, mas não tive a chance de revisitar a resposta e talvez não, pois sua resposta é mais detalhada.
Jason R
@JasonR Sua resposta é detalhada o suficiente para seguir, e eu não tenho nenhum problema com o cálculo da estatística de decisão. O que estou questionando é a afirmação implícita de que os dois bits de dados no DQPSK podem ser desmodulados independentemente um do outro de e respectivamente, exatamente como no QPSK simples com desmodulação coerente, os bits de dados são apenas os sinais de e . Im ( S i ) Re ( D i ) Im ( D i )Re(Si)Im(Si)Re(Di)Im(Di)
precisa