Oi Habr.
Na
parte anterior , a recepção do sinal usando o GNU Radio foi discutida. Agora vamos considerar o problema inverso - a transmissão de sinais de vários tipos de modulação.

Assim como na recepção, com o GNU Radio, você pode criar um sofisticado sistema de software para transmitir sinais sem escrever uma única linha de código. Mas primeiro, vejamos os dispositivos SDR que podem funcionar não apenas na recepção, mas também na transmissão, variando de megahertz a gigahertz.
Continua sob o corte.
Ferro
Ao contrário do receptor RTL SDR V3 barato, que você pode comprar por US $ 30, você precisa de um hardware mais sério e caro para trabalhar na transmissão. No entanto, a escolha agora é bastante grande. Não considero aqui transceptores SDR puramente "amadores" (Flex / Icom / Yaesu, etc.), porque resta pouco SDR neles e eles não funcionarão para nós; consideraremos SDRs completos projetados para experimentos com DSPs que permitem transferir qualquer coisa no formato necessário.
LimeSDR e LimeSDR Mini
Uma série interessante de dispositivos abrange a faixa de recepção / transmissão de cerca de 10 MHz a 3,5 GHz. O LimeSDR opera formalmente a partir de 100KHz, mas a sensibilidade existe de acordo com as avaliações, nenhuma.
O preço de emissão é de cerca de US $ 200, mas pode ser problemático comprar uma placa, porque eles são vendidos exclusivamente através da oferta de crowdsourcing e nem sempre estão disponíveis. Os autores levantaram dinheiro por US $ 2 milhões, mas não obtiveram seu próprio servidor web e uma loja completa. No entanto, para seu crédito, todos os pedidos foram enviados.
Adalm pluto sdr
O conselho da Analog Devices, projetado principalmente para estudantes. A opção barata de "SDR para os pobres" é de cerca de US $ 120, a faixa de transmissão / recepção é de 300 MHz a 3,8 GHz.
Hackrf
Uma das primeiras placas-mãe desse tipo, que apareceu há cerca de 5-6 anos atrás, tem uma faixa de frequência de 1 MHz a 6 GHz. A placa é bastante antiga e, por seus parâmetros, cara (US $ 300-400), ela não sabe trabalhar em full duplex e possui um DAC / ADC de 8 bits. Agora existem clones chineses, mas não posso dizer nada sobre sua qualidade.
Existem outros modelos (Ettus Research, BladeRF, Red Pitaya), eles são interessantes, mas não baratos, e é improvável que a maioria os aceite. Para um iniciante, o LimeSDR provavelmente seria a melhor escolha. Mas deve-se enfatizar que todas essas placas são projetadas para experimentos com processamento de sinal digital - elas não são transceptores no sentido de rádio amador, sua potência de saída é de cerca de 50 mW, o dispositivo não possui atenuadores, amplificadores, filtros e, para o CQ DX, eles não são otimizados (sim e até mesmo o software r / l para eles geralmente não é). Embora eu tenha transmitido um sinal HSRR wspr a 7 e 14 MHz, e ele foi recebido a 1000 km, o que é um bom resultado para 50 mW e uma antena de ambiente.
Obviamente, esta lista não pretende ser uma revisão completa, mas espero que um entendimento geral seja suficiente. Há um tablet útil, embora um pouco desatualizado, mas você pode entender os parâmetros de diferentes dispositivos:

De software
Para começar, uma observação importante: todos os experimentos ao trabalhar com transmissão devem ser realizados com potência mínima e dentro dos limites permitidos, para não interferir em outros serviços. Em princípio, é difícil impedir alguém de 10 mW, mas o rádio também deve ser mantido limpo;)
Então, lançamos o GNU Radio e prosseguimos (se alguém perdeu a
parte anterior , é aconselhável lê-la para entender melhor como usar este programa).
É importante entender o princípio geral - como temos o rádio definido por software, podemos transmitir qualquer coisa dentro da largura de banda do dispositivo. Precisamos apenas criar o fluxo digital necessário, e o DAC transmitirá tudo "como está" no ar. Como foi escrito na parte anterior, a saída para o GNU Radio é chamada Sink, o nome específico dependerá do modelo do dispositivo.
Tom simplesO teste mais simples: basta conectar a fonte da onda senoidal ao transmissor.

Não é muito interessante, mas para algumas verificações, ou como um simples gerador de sinais, pode ser útil. Começamos como o receptor de controle RTL SDR e vemos nosso sinal.
NfmVamos em frente - considere como transferir algo mais útil, por exemplo, som de um arquivo WAV ou microfone. O GNU Radio possui uma unidade NBFM Transmit pronta para isso. Ele faz todo o trabalho necessário - converte nosso fluxo de áudio em um sinal de QI complexo com modulação de frequência, que "entende" o SDR.

O resultado na captura de tela é o som transmitido e você pode ouvi-lo se selecionar FM. Você também pode receber esse sinal em rádios portáteis.

Como você pode ver, a frequência de recepção e transmissão foi alterada para 433 MHz - uma faixa LPD não licenciada.
Controle sem fio do interruptorConsidere agora algo mais interessante. Já que estamos falando da banda de 433 MHz, podemos demonstrar um "hack sujo" - reproduzindo um sinal pré-gravado. Isso nos permitirá não entender a codificação do sinal, mas simplesmente gravá-lo e transmiti-lo, sem entender o que está dentro. O hack é "sujo" quase literalmente, porque tocaremos o sinal gravado do ar, o que está longe do ideal.
Por exemplo, use um switch sem fio barato de 434MHz. Eu usei algo assim, comprado na Mediamarkt.

Não trataremos do formato, mas simplesmente gravamos o sinal "como está". Para fazer isso, monte um circuito simples no GNU Radio.

A taxa de amostragem foi escolhida pequena para não gravar uma banda muito larga - o arquivo ocupará muito espaço e o excesso será transmitido.
O FFT Sink é necessário para a visualização para garantir que o sinal realmente seja:

Ligamos a gravação, pressionamos o botão no controle remoto, desligamos a gravação. A propósito, o arquivo gravado pode ser aberto no Cool Edit e verifique se o sinal é gravado normalmente:

Agora, “coletamos” a parte transmissora do circuito: carregamos o sinal do arquivo e simplesmente o enviamos para transmissão.

Também devemos mencionar o bloco Throttle, que indica em qual taxa de amostragem ler os dados de um arquivo (essas informações não estão no próprio arquivo). O bloco Multiply Const amplifica o sinal caso seu nível na gravação seja insuficiente.
Então tudo é simples - ligamos o transmissor, certifique-se de que a lâmpada da mesa acenda :) Na potência máxima da transmissão, conseguimos acender a lâmpada do outro lado do apartamento. No entanto, o método, como já mencionado, é bastante "sujo" - o sinal em si não é perfeito e tudo o que está no ar é transmitido, incluindo ruído gravado e possivelmente sinais de outros dispositivos que acidentalmente caíram na gravação. Mas para testes ou controle de uma máquina controlada por rádio dentro de uma sala, tudo bem.
Conclusão
Como você pode ver, o SDR fornece um campo bastante grande para experimentos com sinais diferentes, e isso é bastante simples.
Tudo concebido novamente não se encaixava em uma parte. Na próxima parte, serão considerados tipos mais complexos de modulação.