0% acharam este documento útil (0 voto)
10 visualizações9 páginas

Projeto de Comunicação com QPSK

Enviado por

felipe.ideao
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
10 visualizações9 páginas

Projeto de Comunicação com QPSK

Enviado por

felipe.ideao
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Sistemas de Comunicações 23.

2
Felipe Noberto Ideão - 123211030

Projeto de Sistema de Comunicação com Modulação QPSK


Modulação e Demodulação QPSK

1. Introdução e Objetivo

Esse projeto é um estudo de caso que envolve a transmissão de sinal em modulação


QPSK. Ao final do projeto temos o objetivo de entender questões de distorção de sinal e
efeitos de canal, além de reconhecer os estágios necessários para transmitir e receber
sinais QPSK.

2. Transmitindo o Sinal QPSK

A princípio, é gerado um fluxo de bits e o modulamos em uma constelação complexa.


Para fazer isso, usamos o bloco Constellation Modulator , que utiliza um Constellation
Rect. Objeto e outras configurações para controlar o sinal transmitido.

O parâmetro Constellation do Constellation Modulator é o id do Constellation Rect.


Objeto (qpsk), embora apareça no fluxograma como outra coisa.

O objeto constelação especifica como os símbolos são codificados. O bloco modulador


pode então usar este esquema de modulação com ou sem codificação diferencial. O
modulador de constelação espera bytes compactados, portanto temos um gerador de
fonte aleatório fornecendo bytes com valores de 0 a 255.

Fig 1 - Fluxograma Matched Filters and ISI


Fig 2 - Plot da constelação e dos Sinais Transmitido (Tx) e Recebido (Rx)

A partir dele, traçamos o sinal transmitido e parte da cadeia receptora em tempo,


frequência e o gráfico da constelação. No gráfico de constelação, vemos os efeitos do
up-sampling (gerando 4 amostras por símbolo) e do processo de filtragem.

O filtro RRC limita a largura de banda de transmissão para que o sinal fique dentro da
largura de banda desejada. Se não colocássemos um filtro modelador no sinal,
estaríamos transmitindo ondas quadradas que produzem muita energia nos canais
adjacentes. Um efeito colateral do filtro RRC é criar interferência entre símbolos (ISI). O
ISI é ruim para um sinal recebido porque confunde os símbolos.

3. Estudando o Canal e seus efeitos

Usaremos o bloco básico Channel Model do GNU Radio, este bloco nos permite simular
alguns problemas principais com os quais temos que lidar. O primeiro problema com os
receptores é o ruído. O ruído térmico em nosso receptor causa um ruído que conhecemos
como Ruído Gaussiano Branco Aditivo (AWGN) .

Outro problema significativo entre dois rádios são os Clocks diferentes, que controlam a
frequência dos rádios. Os Clocks são diferentes entre os rádios. Um rádio transmite
nominalmente em fc, mas as imperfeições significam que ele está realmente transmitindo
em fc + Delta. Enquanto isso, o outro rádio tem um Clock diferente e, portanto, um
deslocamento diferente, Delta_2. No final, o sinal recebido estará Delta 1 + Delta_2
desligado onde achamos que deveria estar.
Relacionado isso está o ponto de amostragem ideal. Amostramos nosso sinal no
transmissor e o moldamos, mas ao recebê-lo, precisamos amostrar o sinal no ponto de
amostragem original para maximizar a potência do sinal e minimizar a interferência entre
símbolos.

Fig 3 - Fluxograma Estudo do Canal

Fig 4 - Plot com o efeito do ruído, Clock e amostragem ideal.

O gráfico da constelação nos mostra uma nuvem de amostras, muito pior do que
começamos no último estágio. A partir deste sinal recebido, temos agora que desfazer
todos estes efeitos.
4. Recebendo o Sinal

Iniciamos com a sincronização de relógio polifásico, Polyphase Clock Sync oferece três
funções. Primeiro, ele executa a recuperação do clock. Em segundo lugar, ele fornece o
filtro correspondente ao receptor para remover o ISI. Terceiro, ele reduz a amostragem
do sinal (reduz as amostras por símbolo).

O fluxograma de exemplo pega a saída do modelo de canal e a passa por um bloco


Polyphase Clock Sync. Este bloco é configurado com 32 filtros e uma largura de banda
de loop de 2pi/100. O bloco também recebe um valor para as amostras esperadas por
símbolo.

Fig 5 - Fluxograma Sincronização de Clock

Fig 6 - Plot da função de sincronização

Vemos que a constelação ainda está um pouco “suja” como resultado do ISI após os 32
filtros, mas é rapidamente absorvida pelo ruído quando ajustamos a configuração de
Noise Voltage do canal para mais de 0.
Adicionamos também uma estrutura de Equalizador, como equalizador cego. Agora com
um bloco de sincronização de clock e um bloco de equalizador, há alguma interação
acontecendo aqui enquanto ambos estão captando o sinal. No final, porém, podemos ver
o efeito do sinal multipercurso temporizado antes e depois do equalizador. Antes do
equalizador temos um sinal muito “sujo”, mesmo sem ruído.

O equalizador descobre muito bem como inverter e cancelar este canal para que
tenhamos um sinal limpo e agradável novamente. Também podemos ver o próprio canal e
como ele fica bem achatado após o equalizador.

Fig 7 - Fluxograma Adição do Equalizador

Fig 8 - Plot com adição do Equalizador


Dado que equalizamos o canal, ainda temos um problema de deslocamento de fase e
frequência. Os equalizadores tendem a não se adaptar rapidamente e, portanto, um
deslocamento de frequência pode facilmente estar além da capacidade do equalizador
de acompanhar. Agora precisamos corrigir qualquer deslocamento de fase, bem como
qualquer deslocamento de frequência.

Duas coisas sobre esta fase. Primeiro, usaremos um loop de segunda ordem para que
possamos rastrear tanto a fase quanto a frequência ao longo do tempo. Em segundo
lugar, o tipo de recuperação com o qual lidaremos aqui pressupõe que estamos fazendo
uma correção precisa de frequência.

Portanto, devemos ter certeza de que já estamos dentro de uma faixa decente da
frequência ideal. Se estivermos muito longe, nosso loop aqui não convergirá e
continuaremos a girar. Existem maneiras de fazer correção grosseira de frequência,
como o bloco FLL_Band-Edge.

Para esta tarefa, usaremos o Costas Loop, o bloco Costas Loop pode sincronizar BPSK,
QPSK e 8PSK.

Após o equalizador, os símbolos estão todos no círculo unitário, mas girando devido ao
deslocamento de frequência. Na saída do bloco de loop Costas, podemos ver a
constelação bloqueada como começamos (mais o ruído extra).

Fig 9 - Fluxograma do sistema com equalizador e com correção de fase e frequência


Fig 10 - Plot da Constelação com símbolos ao redor do círculo unitário e com a saída do Costas-Loop

5. Decodificação

Primeiro, inserimos um Decodificador Constellation após o loop Costas. Neste ponto,


obtemos nossos símbolos de 0 a 3 porque este é o tamanho do nosso alfabeto em um
esquema QPSK. Observe que podemos ter uma ambiguidade de 90 graus na
constelação. Felizmente, evitamos esse problema transmitindo símbolos diferenciais. Na
verdade, não transmitimos a constelação em si, transmitimos a diferença entre os
símbolos da constelação definindo a configuração Diferencial no bloco Constellation
Modulator como True.

Usamos o decodificador diferencial para traduzir os símbolos codificados


diferencialmente de volta aos seus símbolos originais devido às transições de fase, não à
fase absoluta em si. Mas mesmo fora daqui, nossos símbolos não estão exatamente
corretos. Esta é a parte mais difícil da demodulação.

Nas etapas de sincronização, tivemos física e matemática básicas ao nosso lado. Agora,
porém, temos que interpretar algum símbolo com base no que alguém disse que era.
Basicamente só precisamos conhecer esse mapeamento. E felizmente o fazemos, então
usamos o bloco Map para converter os símbolos do decodificador diferencial nos
símbolos originais que transmitimos.

Neste ponto, agora temos os símbolos originais de 0 a 3, então vamos descompactar


esses 2 bits por símbolo em bits usando o bloco unpack bits . Agora temos o fluxo de bits
original de dados.
Fig 11 - Plot da Constelação após a Demodulação

6. Referências e Códigos

O Manual ARRL, seção "Modulação em Quadratura" (qualquer edição recente)


fj harris e M. Rice, "Filtros Digitais Multitaxa para Sincronização de Sincronização de
Símbolos em Rádios Definidos por Software", IEEE Selected Areas in
Communications, Vol. 19, nº 12, dezembro de 2001. [1]
J. Feigin, "Projeto prático de loop Costas: Projetando um circuito de recuperação de
portadora de loop BPSK Costas simples e barato", processamento de sinal de RF, pp.

Link Repositório:
[Link]

Você também pode gostar