
Il Pi Pico Rx è un ricevitore SDR open source capace di coprire le bande relative alle onde lunghe, medie e corte, dando la possibilità di ricevere segnali dalla metà del globo. Si tratta di un ricevitore SDR minimale costruito attorno al Raspberry Pi Pico. Pur non essendo un'idea completamente nuova, le caratteristiche introdotte da Pi Pico Rx non si trovano in altri design simili. Andremo a descrivere il funzionamento generale e il design hardware in questo articolo, lasciando la descrizione della parte software per un prossimo intervento.
Introduzione
Realizzare un ricevitore radio definito dal software (SDR) è un processo relativamente semplice, se si hanno un adeguato front-end radio ed i giusti convertitori analogico-digitali. Due flussi di dati separati vengono generati utilizzando due clock con uno sfasamento di 90° tra loro, e questi vengono poi passati all'elaborazione software del segnale per la demodulazione.
Il ricevitore SDR, Pi Pico Rx, presenta un'architettura standard optando per un front-end radio realizzato con un Quadrature Sampling Detector, un solo ADC integrato nell'RP2040 e l'elaborazione del segnale eseguita dalla CPU di quest'ultimo.
Le caratteristiche più importanti del ricevitore SDR, Pi Pico Rx, sono:
- copertura radio da 0 a 30 MHz
- larghezza di banda di 250 kHz
- ricezione delle modulazioni CW/SSB/FM/AM
- display OLED
- cuffie/altoparlante
- alimentato da 3 batterie AAA
- consumo di corrente inferiore a 50 mA
Funzionamento generale
La Figura 1 riporta lo schema a blocchi del ricevitore SDR, Pi Pico Rx.

Figura 1: Schema a blocchi del ricevitore SDR, Pi Pico Rx
Il segnale proveniente dall'antenna viene dato in ingresso ad un filtro passa-banda (BPF). A seguire, invece di un tradizionale mixer, il progetto sfrutta un Quadrature Sampling Detector (QSD), ovvero un rilevatore di campionamento in quadratura, implementato con il popolare circuito rilevatore Tayloe. Utilizzato in molti progetti di radio HF SDR, questo semplice circuito consente di implementare un mixer di alta qualità utilizzando un economico commutatore analogico (multiplexer).
I segnali di controllo del multiplexer si devono comportare come un oscillatore in quadratura. Per fare ciò, è stata utilizzata la funzionalità PIO dell'RP2040. Ciò ha eliminato la necessità di utilizzare un oscillatore programmabile esterno. Senza dover overclockare il dispositivo, supporta frequenze fino a circa 30 MHz, coprendo comodamente le bande delle onde corte, medie e lunghe.
L'uscita IQ dal QSD viene amplificata utilizzando un amplificatore operazionale ad alta velocità e basso rumore. I canali I e Q vengono campionati dall'ADC integrato che fornisce 250 kHz di larghezza di banda. Il processore ARM Cortex M0 dual-core implementa gli algoritmi di elaborazione del segnale digitale (DSP), demodulando AM, FM, SSB e CW per produrre un'uscita audio.
L'uscita audio viene fornita utilizzando un segnale PWM seguito da un filtro passa-basso. Per mezzo di un resistore di limitazione della corrente è possibile adattare il pin IO in modo da pilotare direttamente un paio di cuffie o persino un piccolo altoparlante senza bisogno di un amplificatore audio.
Un prototipo assemblato alla buona, dimostra che è possibile costruire un ricevitore HF SDR utilizzando un Pi Pico, un commutatore analogico, un amplificatore operazionale e una manciata di componenti discreti.
Campionamento round-robin
Una delle sfide affrontate nel progetto del ricevitore, è stata il campionamento dei segnali I e Q utilizzando un ADC in grado di campionare solo un canale alla volta. Il convertitore può essere configurato in modalità round-robin in modo da campionare i segnali I e Q in maniera alternata. Le preoccupazioni riguardanti questo approccio erano che si potesse creare uno squilibrio di fase tra i canali I e Q.
Normalmente, un segnale complesso con larghezza di banda W può essere campionato a frequenza W, questo perché ogni campione complesso sarà in realtà come due campioni reali, quindi non si infrange il criterio di Nyquist. Nel caso di questo progetto, campionando a frequenza 2W è possibile evitare lo squilibrio di fase tra I e Q. Per recuperare il segnale complesso con una larghezza di banda di 250 kHz basterà quindi campionare I e Q alternativamente a 500 kS/s.
Prima però occorre filtrare i dati I e Q con un passa-basso che lasci passare 250 kHz di larghezza di banda da -125 kHz a 125 kHz. Il rilevatore QSD stesso forma un filtro passa-basso, quindi questo può essere facilmente ottenuto selezionando valori di condensatore adatti nell'amplificatore operazionale. L'ADC è configurato per campionare I e Q alternativamente (a partire da I). Nel software, i valori "mancanti" possono essere sostituiti da zeri.
Ciò si traduce in un segnale complesso con una frequenza di campionamento di 500 KS/s. Per recuperare lo spettro originale, basta semplicemente filtrare il segnale con un passa-basso. Decimando si potrà poi ridurre la frequenza di campionamento a 250 kHz.
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2001 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.
