Grande pico na freqüência central ao usar o Ettus X310

8

Estou usando o rádio Ettus X310 SDR e GNU. No esquema de rádio GNU, tenho um bloco de fonte UHD USRP padrão conectado a um coletor GUI FFT - basicamente, apenas estou exibindo o espectro do sinal bruto do dispositivo.

Parâmetros para o bloco de origem USRP:

  • taxa de amostragem = 1,024 MS / s,
  • frequência central = 101 MHz,
  • ganho = 42 dB,
  • largura de banda = 130 MHz

O problema que tenho é que sempre tenho um grande pico (10 a 15 dB) diretamente na frequência central (independentemente da frequência definida). Eu sou relativamente novo em tudo isso, por isso gostaria de receber dicas sobre como se livrar do pico.

Tihomir Meščić
fonte

Respostas:

7

O problema que tenho é que sempre tenho um grande pico (10 a 15 dB) diretamente na frequência central (independentemente da frequência definida). Eu sou relativamente novo em tudo isso, por isso gostaria de receber dicas sobre como se livrar do pico.

Esse pico provavelmente não é nada surpreendente - apenas o vazamento LO / offset DC, um artefato muito comum em receptores de conversão direta!

Agora, livrar-se dele com um USRP é relativamente simples.

Você precisa entender que os USRPs têm um processo de ajuste em duas etapas:

  1. Existe um oscilador físico, o LO, que é sintetizado pela placa filha e é usado para misturar o sinal de destino com os sinais de banda base de QI. Normalmente, os sintetizadores podem gerar apenas um conjunto discreto de frequências LOfRF.
  2. O ADC, em seguida, coleta esses sinais na taxa de clock principal e o FPGA muda digitalmente esse fluxo de amostra na taxa de clock principal (ou seja, 200 MHz para o X310 por padrão) ampla banda base, multiplicando essencialmente com ej2πfDeslocamenton, para fornecer seu sinal de banda base a partir do falvo:

visualização de ajuste de largura de banda / deslocamento

Por padrão, fRF é definido o mais próximo possível falvo, minimizando fDeslocamentoe, portanto, colocando o LO na largura de banda observada bamostra.

No entanto, você pode definir manualmente um "desejado" fDeslocamento; assim que isso for mais do que1 12bamostra, o LO está fora da sua faixa de observadores!

Em vez de usar 101e6no campo de entrada Frequência central , basta usar

uhd.tune_request(f_target, f_offset)

por exemplo

uhd.tune_request(101e6, 4e6)



Permitam-me comentar diretamente alguns outros problemas:

Estou usando o rádio Ettus X310 SDR e GNU.

O X310 é a plataforma, de fato, mas o processamento do sinal analógico real (gerando os LOs para mixagem, mixagem, amplificação, filtragem de banda de base) acontece na placa-filha. Nesses casos, geralmente é importante especificar qual placa-filha você está usando

No esquema de rádio GNU, tenho um bloco de fonte UHD USRP padrão conectado a um coletor GUI FFT - basicamente, apenas estou exibindo o espectro do sinal bruto do dispositivo.

Na verdade, isso deve funcionar. Observe que os blocos WX Gui estão ficando obsoletos; se você está começando com o GNU Radio e não precisa continuar com um aplicativo existente com base no WX, recomendo alterar as "opções de compilação" no bloco de opções para "Qt" e substituir o "coletor WX GUI FFT "com um" coletor de frequência Qt GUI ". A mesma coisa, mais funcionalidade, menos uso da CPU, geralmente.

Parâmetros para o bloco de origem USRP:

  • taxa de amostragem = 1,024 MS / s,

Você provavelmente estava usando uma taxa de clock mestre de 184,32 MHz, certo?

Para futuros leitores, reproduzir isso (essa taxa específica realmente aumenta com mais frequência do que você imagina!):

O X310 não suporta essa taxa de amostragem na configuração padrão! A janela do console deve conter um aviso claro de que o UHD decidiu usar uma frequência diferente e qual frequência era - no seu caso, provavelmente 1.02048… MS / s.

UHD Warning:
    The hardware does not support the requested RX sample rate:
    Target sample rate: 1.024000 MSps
    Actual sample rate: 1.020408 MSps

Isso ocorre porque o X310 executa seu ADC / DAC na chamada taxa de clock principal , que pode levar os valores de 200 MHz (padrão), 184,32 MHz (típico para alguns padrões de rede celular), 120 MHz (típico para LabView). A taxa de amostragem que você entrega ao PC é um fluxo de amostra amostrado nessa taxa, dizimado no FPGA com a taxa solicitada - e essa dizimação é feita com filtros FIR de dizimação "normais", que podem fornecer apenas uma fração inteira da taxa de entrada.

Assim,

1.020408ems=200 ems196

é possível,

1.024ems=200 ems195.3125

não é, quando o MCR está definido para o padrão de 200 MHz.

Com um MCR de 184,32 MHz, qual é 1.024 MHz180, isso é realmente possível!

  • frequência central = 101 MHz,

O que provavelmente significa que você está usando a placa filha WBX ou UBX,

  • ganho = 42 dB,

que não é uma configuração de ganho compatível com UBX ou WBX, seus intervalos de ganho são de 0 a 31,5 dB e 0 a 31 dB, respectivamente.

  • largura de banda = 130 MHz

Essa é a especificação de largura de banda analógica; aplica-se a placas de expansão com filtros de passa baixa de banda base ajustáveis. No entanto, não existe uma placa-filha que tenha um filtro de banda de base ajustável e uma largura de banda máxima> 8 MHz.

De fato, essa configuração não faz nada no UBX ou no WBX.

Marcus Müller
fonte
Muito obrigado por muitas informações úteis! Em relação à placa filha, eu estou usando o UBX-160. Você está certo sobre a taxa de amostragem, eu estava recebendo o aviso mencionado acima. Com relação ao pico, mudei o cabo da antena para o SDR e o pico desapareceu (para minha surpresa). Então percebi que ele desapareceu com ganhos mais altos (~ 30), mas ainda estava presente em valores baixos de ganho. Depois que eu usei o truque tune_request, o pico desapareceu completamente, mesmo com valores baixos de ganho.
Tihomir Meščić
Lendo esta resposta novamente depois de algum novo material aprendido. A resposta é colírio para os olhos.
Denis