Quais são as opções para recuperar a fase de um sinal BPSK no software? Os únicos recursos que posso encontrar on-line contêm diagramas de circuitos - parece não haver ninguém disposto a explicar isso para pessoas não familiarizadas com circuitos analógicos.
Gostaria de ter uma explicação de como a recuperação de operadora funciona na teoria e também adoraria exemplos de pseudocódigo ou código.
Respostas:
Para desmodular um sinal com chave de mudança de fase, do qual o BPSK é o mais simples, você deve recuperar a frequência da portadora, a fase e o tempo do símbolo.
Sinais de rajada Alguns sinais são rajados e fornecem uma sequência de dados conhecida chamada preâmbulo ou médio-médio (dependendo de aparecer no início ou no meio da rajada). Os desmoduladores podem usar um filtro correspondente que "procure" a sequência de dados conhecida e usá-lo para descobrir a frequência, a fase e o tempo do símbolo do burst. Eles fazem isso para cada rajada e não precisam se preocupar com "desvio" (a distância gradual que se acumula entre o demodulador e o sinal recebido à medida que pequenos erros se acumulam) porque as rajadas são geralmente curtas o suficiente para que a deriva não seja um desvio. problema.
Sinais Contínuos Existem sinais contínuos. Eles são, de muitas maneiras, mais difíceis de recuperar do que os sinais de rajada, porque você normalmente não possui uma sequência de dados conhecida para ajudá-lo a travar com o sinal e precisa se preocupar com o desvio, mesmo depois de bloquear o sinal. Tentarei descrever em alto nível as principais etapas normalmente usadas para recuperar sinais contínuos.
Recuperação de Operadora
Geralmente você sabe em que frequência estará o sinal que está procurando ou pelo menos em que conjunto de frequências ele estará. Mesmo com esse conhecimento, você geralmente precisa corrigir o desvio de frequência, porque não há dois transmissores transmitindo na mesma frequência. Sempre há algum erro. O método usual, então, é misturar a frequência em que você acha que o sinal estará e, em seguida, corrigir o erro de frequência residual. Isso pode ser feito com um loop Costas, ou tomando a quarta potência dos dados do sinal da banda base e procurando um pico de frequência. Deve haver um pico de frequência no deslocamento da portadora * 4 (por exemplo, se você levar uma FFT dos dados para a quarta potência e vir um pico de frequência em 8300 Hz, isso significa que o deslocamento da portadora é 8300/4 = 2075 Hz). Esse é um meio muito eficaz de obter um bloqueio inicial no deslocamento de frequência. Você também pode usá-lo para compensar a deriva, se fizer isso ocasionalmente. Existe outra maneira de compensar a deriva, que abordarei mais tarde.
Fase de portadora
Nesse ponto, se você plotou seus dados complexos no plano complexo (o eixo x é real, o eixo y é imaginário), ele deve se parecer com o seguinte:
Depois que os dados são corrigidos de fase, você pode soltar a parte imaginária dos dados, porque eles não adicionam nenhuma informação.
Tempo do símbolo
Você normalmente deve saber, a priori, o período do símbolo do sinal que está tentando desmodular. Porém, se você precisar determinar o período / frequência do símbolo, poderá fazê-lo de maneira semelhante à maneira como o deslocamento da operadora foi detectado. Você pode colocar os dados ao quadrado, o que causará um aumento na frequência com o dobro da frequência do símbolo.
Como na transportadora, você terá que acertar a fase (tempo) e depois compensar a deriva. O método usual para esses dois problemas é procurar os cruzamentos zero. A menos que o ruído seja muito ruim, ele deve cruzar apenas o ponto zero no meio de uma transição de símbolo de -1 para 1 ou de 1 para -1. Mesmo que o ruído cause isso no meio de um símbolo, isso não acontecerá com muita frequência.
A imagem acima é geralmente chamada de "diagrama ocular" ou "padrão ocular". Possui dois períodos de símbolos e possui muitos símbolos "empilhados" uns sobre os outros. Não sei se você está familiarizado com os osciloscópios ou não, mas você pode obter um osciloscópio para mostrar uma imagem como esta. De qualquer forma, os dois "X's" são transições de símbolos. As linhas mais altas para as mais baixas nos X são quando o símbolo passa de 1 para -1, e as linhas mais baixas para as mais altas são quando o símbolo passa de -1 para 1. O ponto intermediário, onde linha rosa é, é o local ideal para amostrar os dados e verificar se o símbolo é 1 ou -1.
Essa mesma técnica pode ser usada para lidar com o desvio do tempo dos símbolos. Faça uma média contínua da distância entre o cruzamento zero anterior e o cruzamento zero seguinte. Se as duas médias são iguais, tudo está bem. Se um é maior que o outro, você precisa mudar para onde está pegando sua amostra.
Depois de ter amostrado os símbolos nos pontos corretos, seus pontos de dados devem ter algo parecido com os pontos clássicos da constelação de BPSK.
Eu espero que isso ajude.
fonte