PTC2433 - TEORIA DAS COMUNICAÇÕES II - 25/08/24 - PJEJ EXERCÍCIOS RESOLVIDOS São dados os valores: Q(2,32)= -2 ; Q(3,09)= -3 ; Q(3,71)= -4 ; Q(4,26)= -5 ; Q(4,75)= -6. Q1) Dada a equação s=r H T, que permite determinar a síndrome de uma palavra recebida, demonstre que, para códigos de bloco sistemáticos e perfeitos, o número de elementos do conjunto {si} é tal que se pode estabelecer uma relação biunívoca entre os elementos desse conjunto e todos os erros corrigíveis pelo código. Basta verificar que a dimensão do vetor s é (1 m) e portanto todas variações possíveis são em número de 2 m. Por outro lado se o código é perfeito 2 m = Sum (Cn,i) para i=0,1,..., t; onde t é capacidade de correção do código. Cada termo Cn,i representa todos erros possíveis de i bits num grupo de n e o termo i=0 representará a palavra sem erros. Assim pode-se estabelecer essa correspondência um a um. Q2) Seja o código de bloco (7,4) cíclico e sistemático definido pelo polinômio gerador g()= 3 ++1 (o polinômio é dado, não precisa verificar sua validade; enuncie porém as propriedades que o mesmo deve obedecer). Construa a tabela de dígitos de informação e palavras de código associadas. Determine a capacidade de correção desse código pela limitação de Hamming e verifique que os elementos dessa tabela satisfazem essa limitação. Construa agora a tabela de síndromes e palavras de erro associadas. Decodifique a palavra recebida (1; 0; 0; 0; 1; 1; 0) por meios algébricos. As propriedades que g() deve obedecer são: ser de grau (n-k) e fator de ( n +1). Para construir a primeira tabela basta notar que os primeiros k bits de c são iguais aos de d e depois fazer a conta Rem( n-k d()/g())=rem( 3 d()/( 3 ++1)) para obter os três dígitos adicionais (paridade). Resultado: d() c() 0 1 0 1 essa, por eemplo, Rem[( 4 + 3 )/( 3 ++1)]= 2 +1 1 1 1 0 1 0 1 0 0 1 1 1 Calculando a limitação de Hamming (2 3 =1+7) verifica-se que o código é capaz de corrigir um erro e portanto deve ter dmin=2t+1=3. Consultando a tabela construída verifica-se que a distância de Hamming entre duas palavras de código quaisquer obedece a essa restrição. Em seguida, como se sabe que esse código corrige apenas um erro, a construção da tabela de síndromes é imediata; basta considerar que se pode escrever s()=rem(e()/g()) e a partir daí com os padrões de erros corrigíveis a construção é direta (observe que todas as divisões já foram efetuadas para a tabela anterior!). e e() s() s 0 0 0 0 1 6 2 +1 1 0 5 2 ++1 1 1 4 2 + 0 0 3 +1 1 1 2 2 1 0 0 1 1 1 1 Em seguida, considerando que a palavra recebida dada (0) pode ser escrita como r()= 6 + 2 + o resto da divisão de r()/g() fornece a síndrome, isto é s()=rem(r()/g())=+1 e consultando a tabela anterior descobre-se que ocorreu um erro na quarta posição. Portanto o correto é (0).
Q3) Esboce o diagrama de estados correspondente ao código convolucional abaio representado. Neste código para cada bit de informação são transmitidos dois (N=3, k=1, n=2). in + + 1 2 out Considere a transmissão de quatro bits de informação seguidos de tantos zeros quantos forem necessários. Qual é a seqüência de bits transmitida em sua forma bipolar bi=(-1) Ci? Considere agora a seqüência bipolarizada recebida (sinal na saída do amostrador do detector de correlação) c={ 0,9; -0,9; -1,0; -1,0; 1,0; -0,8; 1,0; -0,8; -1,0; 0,9; 1,0; -1,0 }. Decodifique essa seqüência, utilizando o algoritmo de Viterbi, nas duas hipóteses: decisor hard e decisor soft. Comente seu resultado. O diagrama de estados tem 4 estados, correspondente ao conteúdo das duas primeiras posições do registrador de deslocamento, e é representado abaio: 1/ 1/ 1/ 0/ 1/ 0/ 0/ 0/ O diagrama de treliças correspondente é (não foi solicitado na questão): entrada 1 entrada 0 Uma transmissão deve ser sempre seguida de dois zeros para levar o registrador para seu estado inicial. Assim para se transmitir deve-se transmitir e pelo diagrama de estados verifica-se que a saída correspondente será na forma binária: { 1; 1; 0; 0; 0; 1; 1; 0; 0; 1; 0; 0 } e na forma bipolar: { -; 1; 1; ; -1; 1; ; 1; 1 }. Para a decodificação solicitada devemos, no caso hard, reescrever o vetor de entrada após passar por um limitador e assim, na forma binária, temos: { 0; 1; 1; 1; 0; 1; 0; 1; 1; 0; 0; 1 } e agora entrar com a decodificação de Viterbi considerando distâncias de Hamming, como abaio.
entrada () () (1) (6) () (5) () Saída Decodificada: ; Dado Decodificado: corrigidos Para a decodificação soft considera-se o vetor de entrada como o recebido: c={ 0,9; -0,9; -1,0; -1,0; 1,0; -0,8; 1,0; -0,8; -1,0; 0,9; 1,0; -1,0 } e agora se entra com a decodificação de Viterbi com distâncias euclidianas, como abaio. entrada 0,9; -0,9; -1,0; -1,0; 1,0; -0,8 1,0; -0,8-1,0; 0,9 1,0; -1,0 () 1,0; 1,0; 1,0; 1,0; 1,0; 1,0 (14,86) -1,0; -1,0; -1,0; -1,0; 1,0; -1,0 (3,66) 1; 1 - (6,90) (7,70) 1; 1 (,91) 1; 1 (21,71) (14,91) (6,91) () () 1,0; 1,0; 1,0; 1,0; -1,0; -1,0-1,0; -1,0; -1,0; -1,0; -1,0; 1,0 1,0; 1,0; -1,0; -1,0; -1,0; -1,0-1,0; -1,0; 1,0; 1,0; -1,0; 1,0 (15,66) (,86) (7,66) (18,86) 1; 1-1; 1 (7,70) (14,90) -1; 1 - (14,90) (14,) -1; 1 - (,31) (6,91) () 1,0; 1,0; -1,0; -1,0; 1,0; 1,0-1,0; -1,0; 1,0; 1,0; 1,0; -1,0 (6,86) (,66) (14,) (6,90) Saída Decodificada: é a mesma do hard decision! Verifica-se nesse caso que os dois resultados são idênticos (dois erros foram corrigidos: na segunda e seta posição) e que os pontos de "indecisão" do hard não eistem no soft. Q4) Seja um sistema de transmissão BPSK (Binary Phase Shift Keying). Compare o desempenho, em termos de probabilidade de erro de palavra, de um sistema codificado com um código Hamming (15,) e um não codificado. Considere λ= no caso não codificado. Qual a hipótese necessária para essa comparação? Qual é a epansão de banda necessária para isso? No caso não codificado a probabilidade de erro de palavra é dada por Pw=kQ(sqr(2λ)) e é assim perfeitamente determinável (k= e λ=). Resultado Pw=Q(4,47)=4,3-5 No caso codificado a probabilidade de erro de palavra é dada, aproimadamente, por Pw= Cn,t+1[Q(sqr(2kλ/n)] t+1, onde agora adicionalmente usam-se os valores t=1 (pois esse código corrige um erro) e n=15. Resultado Pw= 5[Q(3,83)] 2 =4,3-7 (1X menor). A hipótese adotada nesse cálculo é de que as potências gastas nos dois sistemas (codificado e não) são iguais. Evidentemente, nesse caso a banda epande-se por um fator n/k=1,36 devido à codificação (transmite-se mais informação no mesmo intervalo de tempo). Q5) Seja uma constelação 8-PSK. Determine as partições possíveis dessa constelação de modo a se gerar um sinal TCM. Para essa geração considere um código convolucional com code rate r=1/2 (como na questão Q3). Qual é a epansão de banda necessária para a transmissão desse sinal TCM em confronto com o caso não codificado. Considere agora que a parte codificada convolucionalmente não apresenta erros de transmissão (ou que, na sua ocorrência o código convolucional é capaz de corrigi-los). Como se compara a probabilidade de erro de bit (ou símbolo) para o caso codificado e não codificado, com essa hipótese. A partição foi vista em aula e corresponde a dividir a constelação 8-PSK em duas constelações de 4 símbolos de forma que os símbolos fiquem o mais afastado possível, depois cada um desses dois em outros dois com 2 símbolos cada, com a mesma regra (resultando um
conjunto de quatro constelações de dois pontos cada) e finalmente particionar cada um desses 4 conjuntos de símbolos em dois com um símbolo cada um (resultando 8 conjuntos com um símbolo cada). A figura abaio esclarece melhor o descrito acima. Como se vai usar um código convolucional com r=1/2, cada bit de entrada transforma-se em dois codificados e assim podemos endereçar 4 constelações distintas (penúltima partição). O bit adicional, não codificado, permitirá discernir qual dos dois pontos naquela constelação em particular está sendo transmitido. Sem o TCM transmitia-se um símbolo a cada 3 bits de informação (8-PSK). Com TCM, para preservar a mesma taa líquida de informação, deve-se transmitir um símbolo a cada 2 bits de informação. Há portanto uma epansão na banda de 50%. Admitindo que a codificação convolucional é sem erro o único erro será devido à constelação PSK final. No caso sem TCM a distância entre pontos é de 2Rcos135 =0,7654R e no caso TCM essa distância é de 2R. Assim o argumento da função Q cresce de um fator 2,6131. O ganho numérico da BER dependerá da SNR de operação, mas a ela diminuirá com esse aumento da SNR. Q6) Um esquema usual para correção / detecção de erros é ilustrado na tabela abaio. Os dados de informação (representados na tabela por elementos i) são ordenados segundo uma matriz quadrada de j 2 dígitos (no eemplo abaio representado j=3). A cada linha e coluna acrescentam-se dígitos de redundância p j, totalizando 2j dígitos de verificação de paridade. Assim, em cada linha, e coluna, completa têmse = 0, onde denota uma soma mod2 (ou eclusivo). Considere agora o caso j=5. a) este código é do tipo (n,k) com que eficiência? i 1 i 2 i 3 p 4 i 4 i 5 i 6 p 5 i 7 i 8 i 9 p 6 p 1 p 2 p 3 b) um código de bloco (n,k) poderia corrigir até quantos erros quaisquer? c) mostre claramente como um único erro é corrigido; d) este código é capaz de corrigir / detectar quaisquer dois erros? a) o código apresentado tem 5 2 =25 dígitos de informação e 5 2= dígitos de paridade. Assim é equivalente, no que diz respeito à dimensão apenas, à um código de bloco (35,25) e portanto com eficiência η=25/35=71% b) Se tivéssemos um código de bloco (35,25) ele seria capaz de corrigir até t erros dados pela solução de 2 n-k Cn,0+Cn,1+...+Cn,t. No caso 2 =24 1+35+595 e o próimo termo é 6545. Assim t=2 erros. c) No código apresentado um único erro é facilmente detectado pois a linha e coluna correspondente apresentarão discrepância (Σ 0) e o cruzamento dos dois indicará a posição. Se a discrepância aparecer apenas numa linha (ou coluna) o elemento de paridade daquela linha (ou coluna) é que estará errado. Assim garante-se que erros simples poderão ser sempre corrigidos. d) O código detecta, mas não corrige erros duplos. Para verificar a impossibilidade de correção basta notar que os padrões de erros assinalados por * e ** abaio representados são equivalentes do ponto de vista de paridade.
* ** ** * Assim, apesar da identificação das linhas e colunas com erros não se pode afirmar se os erros são provenientes dos dois dígitos assinalados por * ou os dois assinalados por ** Se os dois erros forem numa mesma linha: * * Σ =0 a identidade da linha é perdida (análogo para colunas). Assim pode-se afirmar que dois erros são sempre detectados mas não podem ser corrigidos. Q7) Esboce o diagrama de estados correspondente ao código convolucional abaio representado. Neste código para cada bit de informação são transmitidos três (N=3, k=1, n=3). in + + + 1 2 out Considere a transmissão de 5 bits de informação 0 seguidos de tantos zeros quantos forem necessários. Qual é a seqüência de bits transmitida? Notação utilizada - estado: YX e N/nmp: entrada dígito N, saída dígitos nmp 3 in X Y + + + 1 2 out 3 Diagrama de estados correspondente:
0/0 0/1 1/1 1/1 0/1 0/0 1/0 1/1 Diagrama de treliças correspondente (não foi pedido): 0 1 1 1 1 entrada 0 entrada 1 0 0 dfree=7 1 Do diagrama de treliças sai imediatamente que, se entrada for 0 e a isso acrescentarmos 2 zeros para levar o registrador para o estado inicial, a saída correspondente será TX = 1 1 1 0 0 1 0 Q8) Considere um sistema BPSK com transmissão de informações equiprováveis. Compare os desempenhos sem e com uma codificação 8 por blocos (23,12) na presença de ruído AWGN de média zero e densidade espectral de potência bilateral G n (f ) = η/2= 3 V 2 /Hz, taa líquida de dados de 1.0 bits/s e um desempenho desejável de -4 para a probabilidade de erro de uma palavra, codificada ou não (λ c e λ, respectivamente). Para o BPSK a probabilidade de erro de bit calcula-se por P e = Q( 2λ ) e a de palavra por P w kq( 2λ ) questão considerada k=12 e pede-se uma probabilidade de erro de palavra de -4. Assim 12Q( 2λ ) caso codificado, como o código de Golay (23,12) corrige até 3 erros, pode-se escrever P C [ Q λ ] 4 ou 4 8.855[ Q( 2λ )] 4 resolvido fornece λ c =2,64. Agora como λ=si/ηf0 vem: S=9,24 6-8 1.0 = 554,4 µw no caso não codificado e S c =2,64 6-8 1.0 23/12 = 303,6 µw no caso codificado., com k=tamanho da palavra. Na 4 o que fornece λ=9,24. Já no w 23,4 2 c que c Paul Jean Etienne Jeszensky, 24/08/24.