Examinando o sinal I / Q com SDR usando o Adobe Audition

Eu aprendi sobre receptores e transceptores SDR de amadores de rádio há muito tempo, quando eu nem tinha Internet. Curiosamente, poucas pessoas realmente entenderam essa técnica. Por estar ocupado com o processamento de áudio naquela época, peguei a ideia e o princípio básico do SDR. Como eu entendi naquele momento, o SDR é um receptor de conversão direta comum, que inclui principalmente um mixer e um oscilador local de referência de frequência fixa ou sintonizável. A antena e a saída do oscilador local são alimentadas nas entradas do mixer e a saída do misturador é alimentada na placa de som. Devido ao fato de as estações possuírem uma banda estreita e a placa de som ser muito mais ampla, é possível, de alguma maneira, alterar programaticamente de estação para estação dentro de uma banda larga fixa de frequência. Além disso, é possível ao mesmo tempo processar o sinal recebido usando DSP. Eu já encontrei programas separados para DSP que processam o sinal da saída de baixa frequência do receptor de rádio (redução de ruído, filtro de banda estreita etc.). A ideia me pareceu bastante tentadora, e fiquei mais interessado nessa questão.

Depois de algum tempo, consegui montar meu próprio transceptor SDR de acordo com um dos esquemas que foram fornecidos a mim. Havia dois esquemas no total. Em um esquema, um gerador com quartzo comutável para a faixa de rádio amador desejada serviu como frequência de referência e o ajuste foi realizado de forma programática. O segundo circuito continha um sintetizador DDS, capaz de gerar qualquer frequência (dentro de seus limites), que é configurada do computador pelo programa de controle. É possível reconstruir o software e o hardware. Eu escolhi o segundo esquema. O programa de gerenciamento é muito sofisticado. Antes de tudo, ele permite não apenas ouvir a estação e ver seu espectro, mas também ver todo o espectro do sinal de banda larga que chega à placa de som. Além disso, você pode usar o mouse para reconstruir instantaneamente uma estação cujo espectro é visível na tela. Esse é um dos principais recursos do SDR. Em um dos presuntos que montaram o mesmo circuito diante de mim, observei completamente como tudo funciona na prática. A primeira coisa que me surpreendeu foi que os dois canais estão envolvidos na placa de som: L e R. Parece, e onde está o aparelho de som? No momento, eu entendo claramente isso, mas no momento em que a Internet em casas comuns das cidades provinciais estava apenas começando, praticamente não havia informações técnicas detalhadas. Além disso, a uma taxa de amostragem de uma placa de som de 48 kHz, a largura de visualização não é 24 (como eu pensava, de acordo com o teorema de Kotelnikov), mas todos os mesmos 48 kHz. Ninguém me deu uma explicação clara de por que isso é assim. Mas eu compreendi intuitivamente: isso é precisamente devido ao fato de os dois canais de som estarem envolvidos. Um sinal é transmitido através de um canal, digamos, da primeira metade de todo o espectro de visualização e ao longo do segundo, da segunda metade. Mas isso não é inteiramente verdade! Sabia-se da prática que, quando um dos dois canais desaparecer, a placa de som não desaparecerá na metade da tela do espectro, mas será observado um efeito de "espelho": o espectro adquirirá simetria em relação ao centro de todo o panorama espectral. E se você trocar de canal, todo o espectro será espelhado. Encontrei as respostas para todas as perguntas quando montei esse transceptor SDR. Considere um diagrama de blocos curto do caminho de recebimento do SDR.



O esquema é muito simples. Prestei atenção especial ao nó "Divisor por 4". O fato é que o mixer de teclas funciona no "modo de dois canais". Para selecionar um sinal estéreo especial (é chamado de sinal I / Q), é necessário aplicar dois sinais idênticos do oscilador local em frequência, mas 90 graus fora de fase. A mudança é alcançada devido à formação preliminar pelo sintetizador de uma frequência de 4 vezes mais e dividindo por 4 usando gatilhos (um clássico da microeletrônica digital). Vale a pena notar que o sinal tem uma forma de dente de serra (o comparador faz parte do sintetizador) e o mixer de teclas é um comutador convencional da mesma área lógica digital. Sem entrar em detalhes da estrutura de software e hardware SDR, direi imediatamente que o programa controla a reestruturação do sintetizador diretamente (sem um FPGA ou MK intermediário). Por meio do LPT, uma interface SPI é implementada de maneira semelhante ao programador AVR STK200 MK.

Então, eu descobri o esquema e o software, projetei e configurei tudo. Depois, usando o programa Adobe Audition 1.5, comecei a analisar o fragmento I / Q do sinal que gravei na saída do meu SDR, sintonizando a frequência de uma das bandas de rádio amador em algum lugar no meio. A figura mostra uma captura de tela do programa, que mostra o diagrama de fases e a visualização espectral do fragmento.



No espectro, você pode ver estações de banda estreita com uma largura de cerca de 3 kHz. Os canais esquerdo e direito são idênticos na aparência, mas diferentes na forma de onda, o que é confirmado pelo diagrama de fases. De ouvido, ambos os canais soam iguais se você os ouvir separadamente. Mas ouvindo ao mesmo tempo com fones de ouvido, você pode prestar atenção à mudança de fase. O valor da mudança de fase é de 90 graus. Pode-se adivinhar não apenas a partir da análise do diagrama, mas também a partir da análise do diagrama. Acima, prestei atenção ao fato de que o segundo canal é formado a partir do mixer de teclas após a "mistura" do sinal de entrada (da antena) com a frequência do sintetizador alterada em 90 graus na fase. No entanto, o canal direito não é um resultado direto de uma mudança de fase de 90 graus do canal esquerdo (também verificado). E mesmo do ponto de vista da “ciência da computação”, de fato, seria o mesmo sinal. E acima, concluiu-se que os sinais são diferentes, porque com uma frequência de amostragem de 48 kHz, também é obtida uma largura de banda de 48 kHz.

Observando o panorama da transmissão de rádio e simultaneamente o espectro do sinal I / Q no Adobe Audition no modo de gravação de áudio, pude entender que visualmente o espectro de cada canal é uma "convolução" de todo o espectro da transmissão de rádio em relação ao centro. Outras experiências no Adobe Audition com uma mudança de fase de 90 graus e várias combinações de canais de adição e subtração me ajudaram a entender tudo. O seguinte pensamento é confirmado empiricamente. O sinal “I” (canal esquerdo) é a soma (mistura) de dois sinais: o sinal responsável pela metade esquerda do espectro etéreo e o sinal, mas deslocou-se 90 graus, responsável pela metade direita do espectro etéreo. O sinal “Q” (canal direito) é a soma (mistura) de dois sinais: o sinal responsável pela metade direita do espectro etéreo e o sinal, mas mudou 90 graus, responsável pela metade esquerda do espectro etéreo. Dependências inversas também são muito semelhantes. Mostrarei essas transformações abstratamente usando fórmulas matemáticas.

Seja dado dois sinais diferentes

L=L(t),  R=R(t).

Eles representam sinais, respectivamente, para a metade esquerda e direita do espectro de todo o panorama, como mencionado acima. Para não acumular as fórmulas, no futuro todos os sinais serão indicados sem argumento de tempo t.

Nós denotamos L90sinal deslocado por 90 circe

L90=f90(L).

Da mesma forma

R90=f90(R),

onde f90- operador de sinal de mudança de fase 90 circ.

Para o operador f alphamudar por  alphaAs seguintes propriedades óbvias são características:

1. Uso consistente do operador de turno f ktempos nas esquinas  alpha1, alpha2, dots, alphakdá uma mudança de ângulo  alphaigual à soma dos ângulos acima:

f alpha=f alpha1 circf alpha2 circ dots circf alphak,    alpha= sum limitsi=1k alphai.


2. Amplitude de um sinal Sem aos horários podem ser alterados antes ou depois do operador f alpha, enquanto o resultado não será alterado:

f alpha(a cdotS)=a cdotf alpha(S)


3. O resultado da mudança de sinal Sigual à soma kpedaços de sinais S1,S2, pontos,Skem um ângulo  alphaigual à soma dos resultados de uma mudança pelo mesmo ângulo dos sinais acima:

f alpha(S)= sum limitsi=1kf alpha(Si),   S= sum limitsi=1kSi.


4. Sinal Sfase deslocada por 180 circdá a "antifase" do sinal original:

f180(S)=S.


De acordo com minha declaração,

I=I(L,R)=L+f90(R)=L+R90,

Q=Q(L,R)=f90(L)+R=L90+R.


A partir dessa representação, os sinais podem ser extraídos exclusivamente. Le Rassim:

L= frac12 Grande(If90(Q) Grande),     (1)

R= frac12 Grande(Qf90(I) Grande).     (2)

Para provar essas fórmulas usando as propriedades acima, não é difícil.

 frac12 Big(If90(Q) Big)= frac12 Big(L+R90f90(L90+R) Big)=

= frac12 Big(L+R90f90(L90)f90(R) Big)= frac12 Grande(L+R90f180(L)f90(R) Grande)=

= frac12 Big(L+R90+LR90 Big)= frac122L=L.



Da mesma forma para R:

 frac12 Big(Qf90(I) Big)= frac12 Big(L90+Rf90(L+R90) Big)=

= frac12 Big(L90+Rf90(L)f90(R90) Big)= frac12 Big(L90+Rf90(L)f180(R) Grande)=

= frac12 Big(L90+RL90+R Big)= frac122R=R.



Agora, vamos tentar verificar as fórmulas obtidas na prática usando o programa Adobe Audition. De fato, existem muitos programas mais convenientes para modelar sinais, a partir do MatLab, mas eu trabalho no Adobe Audition. Trabalharemos com um fragmento do sinal I / Q, cuja forma foi representada na captura de tela acima. É necessário a partir deste sinal, de acordo com as fórmulas, para selecionar o sinal L, que corresponde à metade esquerda do espectro no panorama SDR, e o sinal R para a metade direita. Isso pode ser feito de várias maneiras, mas vou considerar uma delas.

Primeiro, você precisa salvar separadamente o sinal I e ​​o sinal Q (canais esquerdo e direito como dois mono) nos arquivos “i.wav” e “q.wav”, respectivamente. Em seguida, sobre cada um dos arquivos salvos, execute uma operação de mudança de fase de 90 graus. Isso é feito usando o efeito "Graphic phase shift" na seção "Filters". Selecione na lista a predefinição predefinida “+90 Graus” e aplique.



De fato, em geral, você pode definir manualmente a resposta da fase de frequência usando um gráfico, porque o processamento é baseado na FFT direta e inversa. Mas, neste caso, isso não é necessário, pois é necessária uma mudança de 90 graus de todos os componentes de frequência. Após aplicar o efeito, salvamos o resultado em arquivos separados com os nomes "i90.wav" e "q90.wav". Em seguida, no modo de operação “Multitrack”, coletamos um mix estéreo, de acordo com as fórmulas (1) e (2). No canal esquerdo - a primeira fórmula e na direita - a segunda. Existem dois termos na fórmula, o segundo com um sinal negativo. A primeira faixa é o primeiro termo na primeira fórmula. Aí colocamos o sinal correspondente, ou melhor, o arquivo ("i.wav"). A segunda faixa é o segundo termo da primeira fórmula ("q90.wav"). Mas ele ainda precisa "travar" o efeito da inversão. Isso pode ser feito usando o efeito “Channel Mixer” e definido como mostrado na imagem. Ambas as faixas são totalmente enviadas para o canal esquerdo. Da mesma forma para a terceira e quarta faixas (segunda fórmula). O fator 1/2 nas fórmulas pode ser negligenciado, as amostras já estão silenciosas. Se você precisar levar isso em consideração, precisará definir o volume de cada faixa para -6 dB.



Após exportar o mix, um novo arquivo será criado, cujo espectro é mostrado na figura abaixo.



O canal esquerdo deste arquivo representa um sinal que corresponde à metade esquerda do espectro do panorama da transmissão de rádio. Certo - da mesma forma. Na figura do espectro, visualmente, é visto que os canais são diferentes até um pequeno "espelho", que no meu caso é causado por algumas nuances técnicas.

Assim, quaisquer dois sinais de acordo com as fórmulas acima podem ser "dobrados" na representação I / Q e "decompostos" de volta.

Todos os pensamentos acima têm o direito de existir, mas, de fato, tudo é muito mais simples (ou mais complicado). Mais tarde, descobri os fatos óbvios hoje: um sinal de I / Q é algo diferente de um sinal complexo comum com um componente real e imaginário. O sintetizador no bloco SDR do transceptor, emitindo alguns sinais juntamente com o divisor, pode ser chamado de oscilador local complexo. Por mais estranho que possa parecer, o espectro do sinal I / Q complexo que entra na placa de som tem um componente negativo. A uma frequência de amostragem de 48 kHz, a banda do sinal será de -24 a 24 kHz. O sinal L, extraído de I / Q, é um sinal para a parte negativa do espectro do sinal I / Q, e o sinal R é para o positivo.

Na prática, é muito mais interessante obter do sinal I / Q não um par de sinais (ao meio), como fiz antes, mas um sinal com a mesma banda de 48 kHz, mas para que o espectro fique completamente na faixa de frequência positiva (mude o espectro para a direita em 24 kHz) . Esse sinal já estará com uma frequência de amostragem de 96 kHz. Para obter esse sinal usando o Adobe Audition, é necessário executar uma operação de modulação em quadratura de acordo com um algoritmo conhecido. Esta operação é o oposto da operação de detecção de quadratura, que apenas acontece no caminho SDR do receptor no nível do hardware, “deslocando” todo o espectro do éter de rádio para a esquerda pela frequência do oscilador local.

Vamos tentar fazer a modulação em quadratura no Adobe Audition, guiado pelo conhecido diagrama de blocos abaixo.



Descreverei ações brevemente executadas. Primeiro, por formalidade, você precisa aumentar a amostra do arquivo original de 48 para 96 ​​kHz (embora, de fato, esse procedimento seja opcional). Então é necessário gerar um tom senoidal com uma frequência de 24 kHz em um arquivo vazio (com uma frequência de amostragem de 96 kHz) no volume máximo, com o mesmo comprimento do fragmento original do sinal I / Q. Este será um sinal senoidal.



Da mesma forma, criamos um tom para o segundo novo arquivo, mas apenas alteramos o parâmetro "Start phase" de 0 para 90. Assim, um sinal de cosseno será criado. De acordo com o diagrama de blocos, é necessário multiplicar o sinal senoidal com o componente “Q” e o sinal cossenoalimentar com o componente “I” em pares e, em seguida, adicionar os resultados. Primeiro, copie o componente “Q” (canal direito) para a área de transferência a partir do sinal I / Q original. Em seguida, usamos a função no menu "Editar", "Mix Insert" com os parâmetros "Modulation", "From Buffer 1", após selecionar toda a região da onda com um seno.



Depois de clicar no botão "OK", o sinal da área de transferência se multiplicará com o sinal selecionado. O resultado da multiplicação estará no lugar do sinal senoidal. Realizamos operações semelhantes para o sinal de cosseno e o canal Q. Em seguida, misturamos os resultados resultantes no modo "Multi Track" e exportamos imediatamente o mix para "mono". O resultado é um sinal cujo espectro é representado na figura abaixo.



Esta é precisamente a imagem do mesmo espectro que é desenhada no panorama SDR. Usando todas as operações descritas neste artigo no Adobe Audition, você pode selecionar qualquer estação de rádio de banda estreita em um registro I / Q. Em alguns casos, pequenas modificações da operação acima podem ser necessárias (se for necessário virar o espectro de cabeça para baixo). Além disso, você precisará de um filtro passa-banda, AGC e outros efeitos, conforme necessário.

Concluindo, vale destacar alguns pontos em relação à técnica SDR. Até o momento, existem e existem SDRs bastante acessíveis com "digitalização direta" de toda a banda de frequência de rádio (diretamente da entrada da antena) até vários gigahertz. É muito mais interessante e perfeito. O SDR através de uma placa de som já é "o último século". Além disso, tópicos como “sintonizador DVB como receptor SDR” e “SDR online” agora são os mais populares. Certamente, a maioria dos leitores modernos que ouviram pelo menos algo sobre SDR significará exatamente isso. Mas este é um tópico completamente diferente.

Source: https://habr.com/ru/post/pt419735/


All Articles