Mixer esterni

A partire dalla versione 0.9.4, Satsagen è in grado di gestire mixer esterni per estendere l’intervallo di frequenze utilizzabili dai device.

A differenza dei parametri Converter RX e Converter TX, già presenti nella configurazione dei device dalle prime versioni dell’applicazione, questa nuova funzionalità consente a Satsagen di gestire direttamente gli LO dei mixer esterni, oltre a permettere all’utente di specificarne nel dettaglio la configurazione.

Configurazione

Partendo da Settings, i device abilitati a questa nuova funzionalità hanno, nella tab Device Options, le caselle EXT RX Mixer ed EXT TX Mixer.

Agendo sulle suddette caselle, si attivano le funzionalità e si rendono visibili le tab EXT RX Mixer ed EXT TX Mixer; in queste tab si configurano i relativi parametri.

Le tab EXT RX Mixer ed EXT TX Mixer sono suddivise in due sezioni, LO e Mixer.

Nella sezione LO si configurano il Modello, il Device, la frequenza di riferimento e la correzione XO dell’oscillatore locale del mixer esterno. In più rispetto ad una classica configurazione di device abbiamo l’opportunità di specificare anche il livello di uscita del LO espresso in dBm e l’opzione di una frequenza fissa di lavoro dell’oscillatore locale. Inoltre, la sezione LO della tab EXT TX Mixer ha una checkbox Shared che, se selezionata, permette una configurazione con due external mixer RX/TX e LO unico condiviso. L’unico LO condiviso sarà definito nella tab dell’External RX Mixer.

Nella sezione Mixer, si può selezionare quale prodotto della conversione utilizzare: UP-Converter in addizione, Down-Converter in sottrazione. Nella stessa sezione è possibile configurare la frequenza di IF e quale prodotto rispetto a OL utilizzare: positivo (default) o negativo. In caso di utilizzo del prodotto negativo, Satsagen provvede ad effettuare la necessaria Spectral Inversion. Se nella sezione LO si configura una frequenza fissa, i controlli IF frequency e IF negative sono disattivati poiché non supportati in questa modalità. Infine, nella sezione Mixer è possibile specificare l’Harmonic Order e in alternativa una tabella di lookup dell’Harmonic Order in relazione alla frequenza di sintonia. L’Harmonic Order permette di utilizzare i mixer in modalità armonica in base alle caratteristiche degli LO e dei mixer stessi.

Funzionamento

In caso di configurazione in Fixed LO Frequency, la sintonia di Satsagen agisce sull’oscillatore locale del device di ricezione o trasmissione, mentre specificando una frequenza di IF (o frequenza di RF nella tab EXT TX Mixer), la sintonia agisce sugli LO dei mixer e gli oscillatori locali dei device di ricezione e trasmissione sono fissati sulla frequenza specificata da IF Frequency (o RF Frequency nella tab EXT TX Mixer).

Avvio

Terminata la configurazione degli EXT Mixer, è possibile effettuare il Power-On di Satsagen. Se la configurazione è corretta, Satsagen presenterà l’abituale interfaccia di lavoro.. Satsagen provvederà ad estendere l’intervallo di frequenza dei dispositivi ai quali è stato attivato un EXT Mixer in base alle impostazioni, consentendo all’utente di specificare le frequenze dello Spectrum Analyzer, dello Spectrum Analyzer con tracciamento, del VNA, del generatore e dello sweeper in modo assolutamente trasparente. Solo le classiche funzioni in modalità armonica di Satsagen saranno temporaneamente disattivate, in quanto tale gestione avviene in modo più efficiente con i mixer esterni e potrebbe inoltre essere incompatibile con gli stessi.

Tabelle di correzione

Con l’utilizzo degli EXT Mixer, le tabelle di linearizzazione e compensazione dei dispositivi hanno i seguenti nuovi codici di tipologia specifici:

  • Tipo 200 per le tabelle di compensazione RX.
  • Tipo 200 e 202 per le tabelle di linearizzazione TX.

Nel caso di ricezione con l’EXT RX Mixer attivo, la tabella di correzione applica in prima battuta l’usuale compensazione di tipo 0 (zero) in base alla frequenza del LO del device di ricezione e somma la compensazione di tipo 200 in base alla frequenza del LO del mixer esterno (alias frequenza effettiva di sintonia).

Nel caso della trasmissione con l’EXT TX Mixer attivo, la tabella di linearizzazione applica in prima battuta l’usuale linearizzazione di tipo 0 (zero) in base alla frequenza del LO del device di trasmissione e somma la linearizzazione di tipo 200 (o 202 se è attivo anche il TX Multiplier) in base alla frequenza del LO del mixer esterno (alias frequenza effettiva di trasmissione).

Harmonic Order Table

Le Harmonic Order Table permettono, come anticipato in precedenza, di specificare l’Harmonic Order che Satsagen dovrà utilizzare in funzione della frequenza, consentendo una gestione runtime delle armoniche con i mixer esterni attivi.

Le Harmonic Order Table sono in formato INI con sezioni con nome HO_ seguite da un numero decimale progressivo a partire da 1. Ogni sezione ha i valori f per la frequenza e h per il livello dell’armonica. Le frequenze specificate nelle sezioni devono essere progressive; inoltre, la prima sezione deve specificare la frequenza minima del sistema con ordine armonico 1 e l’ultima sezione deve specificare la frequenza massima del sistema con ordine armonico massimo previsto. Questo è un esempio corretto di Harmonic Order Table:

[HO_1]
f=485000000
h=1
[HO_2]
f=4850000001
h=3
[HO_3]
f=13650000001
h=5
[HO_4]
f=22450000000
h=5

Nel caso della ricezione (ma gli stessi criteri si possono applicare anche nella trasmissione, con la sola differenza che l’IF Frequency in TX è la RF Frequency), i valori contenuti nella Harmonic Order Table sono basati sull’intervallo di frequenza dell’oscillatore locale del mixer, sull’IF Frequency impostata, sull’ordine massimo di armoniche che si possono raggiungere e sulla preferenza dell’armonica da utilizzarsi in funzione della frequenza.

Quindi per la compilazione delle Harmonic Order Table bisogna innanzitutto avere ben chiari i suddetti dati che sono definiti dalle caratteristiche specifiche degli LO e dei Mixer.

Nel suddetto esempio di Harmonic Order Table, l’LO del mixer esterno è un ADF4351, con intervallo di frequenze che va da 35 MHz a 4400 MHz. Il mixer ha una frequenza ottimale IF di 450 MHZ e una possibilità armonica che può arrivare a 5. Per cui la sezione HO_1 definisce la minima frequenza disponibile di 485 MHz (IF + frequenza minima dell’ADF4351) e il funzionamento fondamentale (Harmonic Order 1). L’ultima sezione HO_4 definisce la massima frequenza disponibile di 22450 MHz (frequenza massima dell’ADF4351 moltiplicata per Harmonic Order 5 + IF). Le sezioni intermedie definiscono che la terza armonica verrà utilizzata a partire da 4850 MHz e la quinta armonica a partire da 13650 MHz.

Time Domain

Gli analizzatori di spettro normalmente visualizzano i segnali nel dominio della frequenza, ma possono essere configurati anche per una rappresentazione nel dominio del tempo, tale funzione è chiamata Zero Span.

Satsagen è stato dotato della funzione Zero Span dalla versione 0.8.0.0.

A partire dalla versione 0.9.2.1, la funzione di Zero Span è stata ampliata e migliorata. In sintesi, è stata aggiunta la visualizzazione di frequenza in funzione del tempo, oltre alla potenza in funzione del tempo, e il modo di processo non è più solo mediante FFT, ma anche per demodulazione IF, permettendo in tal modo di visualizzare segnali fino a 2 microsecondi per divisione utilizzando un RTL-SDR come dispositivo di ricezione, per esempio.

L’attivazione dello Zero Span si effettua facendo un click sul pulsante Time Domain (Zero Span) collocato nel pannello dello Spectrum Analyzer.

Il pannello dello Spectrum Analyzer

La manopola TimeBase permette di impostare la base tempi nel range consentito dal dispositivo di ricezione in uso e dalle impostazioni della modalità di processo dei segnali.

Estendendo i controlli di bandwidth con un click sulla scritta BW si può anche impostare direttamente la velocità di campionamento espressa in MSPS:

Il pannello dello Spectrum Analyzer con i controlli di bandwidth estesi

Nel contempo all’attivazione dello Zero Span, sotto al display viene visualizzata la scheda Time Domain dove sono disponibili altri controlli relativi a tale funzione:

La scheda Time Domain

Dalla lista Type si imposta la visualizzazione per potenza in funzione del tempo (Power vs. time) o per frequenza in funzione del tempo (Frequency vs. time). Dalla lista Processing mode si imposta il modo di processo per demodulazione IF (IF demodulation), per demodulazione ZERO IF (ZERO-IF demodulation) o per FFT. Dalla lista IF decimation, si possono impostare tre livelli di decimazione, 1, 10 o 100, i quali permettono nelle modalità IF o ZERO-IF demodulation di estendere la base tempi su tempi più lunghi se necessario. Il pulsante Trace auto-clear ha uno scopo solo se è stato selezionato un Trigger. In caso di assenza di segnale al Trigger e con il pulsante Trace auto-clear attivato, la visualizzazione viene cancellata dopo qualche secondo, mentre con il pulsante disattivato, la visualizzazione si “congela” nell’istante dell’ultimo Trigger.

L’immagine seguente è relativa ad un setup con doppio dispositivo, in ricezione è presente un dongle RTL-SDR e in trasmissione un HackRF. I due dispositivi sono collegati in RF tra loro tramite un piccolo cavetto. Il generatore modula una portante di 100MHz in AM a 20 kHz. Satsagen è configurato per la classica visualizzazione dello spettro:

Una classica visualizzazione dell’analizzatore di spettro in funzione della frequenza. Si nota la portante di un segnale modulato in AM e le due bandi laterali.

Attivando lo Zero Span con lo stesso setup, la visualizzazione passa a potenza in funzione del tempo, impostando dalla lista Type la voce Power vs. time e dalla lista Processing mode la voce IF demodulation:

Visualizzazione in time domain

L’asse X passa da una rappresentazione in frequenza ad una in tempo, mentre l’asse Y rimane in ampiezza espressa in dBm.

L’immagine non sarà ferma, ma scorrerà in una direzione, in quanto non c’è sincronismo tra la modulazione e il campionamento effettuato. Per sincronizzare e rendere ferma l’immagine occorre attivare un trigger, dalla scheda Triggers.

La stessa visualizzazione in time domain, ma con il trigger Video attivo

L’impostazione del livello di trigger Video, sia in slope positivo che negativo, dovrà rientrare in un valore all’interno dell’ampiezza della modulazione, in questo caso da circa -48 dBm a circa -41 dBm.

Se non si riesce a trovare un valore ottimale del trigger per stabilizzare l’immagine, si può provare ad attivare una sorta di isteresi facendo più volte click sulla scritta Level posta sopra la manopola fino a quando non diventa Level R e una manopola Range si rende disponibile per l’impostazione del range di intervento del trigger:

Visualizzazione in Time Domain con trigger e isteresi attivi

Commutiamo ora la modulazione del Generator in FMW, con la stessa frequenza di modulazione di prima e una deviazione di 30 kHz.

Per visualizzare ora la modulazione in frequenza occorre tornare nella scheda Time Domain e selezionare dalla lista Type la voce Frequency vs. time, inoltre dalla scheda Triggers occorre impostare un livello compreso tra circa -30 kHz a +30 kHz:

Visualizzazione in Frequency vs. time con trigger attivo

L’asse X permane in una rappresentazione in tempo, mentre l’asse Y da una visualizzazione di ampiezza espressa in dBm passa ad una espressa in frequenza.

Per una corretta visualizzazione occorre anche regolare il bandwidth tramite l’apposita manopola nel pannello dello Spectrum Analyzer.

Nel caso di una visualizzazione di un segnale modulato in frequenza, il valore minimo di bandwidth dovrebbe essere la frequenza massima di modulazione sommata alla deviazione, moltiplicato per due (Regola di Carson). Per cui nel nostro caso, il bandwidth minimo per far sì che la forma visualizzata non subisca distorsioni è di circa 100 kHz.

Satsagen su Wine

Alcune funzioni e compatibilità di Satsagen sotto Linux Wine sono state migliorate a partire dalla versione 0.9.3.5:

  • Semplificata la connessione a Pluto correggendo l’indirizzo pluto.local che il sistema non riesce a risolvere
  • Le porte COMx seriali ora funzionano, quindi sono ora disponibili all’uso i Simple Spectrum Analyzer, i sintetizzatori PLL, i log detector, i dispositivi GPIB e gli spettrometri.
  • Le console dei terminali Pluto e GPIB ora funzionano.

Ecco una guida passo passo per sfruttare questi miglioramenti:

Questa guida è stata testata su Ubuntu 25.04 e Wine 9.0 layer. Alcuni comandi potrebbero dover essere adattati per le diverse versioni del sistema operativo/distribuzione.

  • Rimuovi la vecchia versione di Satsagen se è inferiore a 0.9.3.5. Apri un terminale, digita wine control e scegli l’icona Add/Remove programs per rimuovere la vecchia applicazione Satsagen
  • Chiudere il pannello di controllo di Wine. Scarica l’ultima versione di Satsagen dalla pagina di download e decomprimi il file alla fine.
  • Ritorna alla finestra del terminale e digita wine $HOME/Downloads/satsagen_9_3_5_setup.exe (o il nome della versione che avevi scaricato) ed eseguilo.
  • Completa il setup e fai clic sull’icona SATSAGEN da Show Apps per eseguire il programma. Alla prima esecuzione dovrebbe essere visualizzato un messaggio
  • Chiudi la finestra e l’applicazione. Riattiva la finestra del terminale e digita groups iltuonomeutente
  • Se il tuo nome utente non appartiene al gruppo dialout, aggiungilo eseguendo sudo usermod -aG dialout iltuonomeutente
  • Riavvia Wine digitando winserver -k al prompt del terminale

  • Quindi, collega ad esempio un dispositivo Pluto al PC e fai nuovamente clic sull’icona SATSAGEN per eseguire l’applicazione
  • Attendi qualche secondo per permettere che il dispositivo USB venga rilevato dal sistema operativo e fai clic sul menu View-> Open terminal, dovrebbe apparire una finestra di dialogo con un dispositivo disponibile sulla porta COM seriale, confermando che la procedura di cui sopra è andata a buon fine

  • Chiudi la finestra di cui sopra e per verificare la connessione Pluto, vai su Settings, scheda Devices
  • Un Pluto dovrebbe essere elencato nella casella di riepilogo SDR Device
  • Chiudi la finestra Settings e fai clic sul pulsante Power.
  • Avvia l’analizzatore di spettro.

SATSAGEN v.0.9.3.3

Configurazione a tre dispositivi

Da questa versione si può configurare un terzo dispositivo SDR nella scheda Devices in Settings allo scopo di estendere le funzionalità del VNA di Satsagen:

Impostare Three devices con un click sul corrispondente radio button e nella tab RX 2 device impostare il device SDR che si vuole utilizzare come terzo dispositivo.

Infine nella scheda SNA/VNA Mode selezionare la voce VNA dalla lista Mode e Dual RX-Device dalla lista Dual Port Interface.

Con la suddetta configurazione, il VNA utilizzerà il terzo dispositivo come secondo ricevitore e sarà possibile effettuare misure S11 ed S21 in tempo reale senza dover intervenire manualmente sulle connessioni del DUT.

Le condizioni mandatorie per il corretto funzionamento della configurazione a tre dispositivi sono:

  • Una sorgente comune di clock di riferimento, nello schema CLK Source. In alternativa, la sorgente di clock esterna alimenta il primo device e il riferimento agli altri due è fornito con un collegamento in cascata (daisy chain).
  • I dispositivi 1 e 3 designati al ruolo RX devono avere due canali RX sincronizzati, quindi con l’attuale versione 0.9.3.3 sono compatibili solo i dispositivi Pluto rev. C/D.
  • Il dispositivo 2 designato come TX può anche avere un solo canale TX, sono necessarie però due porte TX+ e TX- o l’aggiunta di uno splitter. Per il dispositivo TX sono compatibili diversi device, tra i quali i Pluto e i sintetizzatori PLL LMX2595, ADF4251 ed altri.
Supporto LMX2595

Collegando una board LMX2595 a Satsagen, l’applicazione è in grado di funzionare come Generatore/sweeper e generatore di tracciamento in operazioni SNA/VNA da circa 100MHz fino e oltre 20GHz con una potenza di output in grado di ottenere una dinamica più che sufficiente per le esigenze di caratterizzazione di filtri e altri DUT.

Con Satsagen e in abbinamento ad un dispositivo di ricezione ADALM-PLUTO in modalità in quinta armonica, si sono ottenuti in laboratorio circa 40dB di dinamica a 24GHz!

Un esempio di realizzazione di Gianni IW1EPY con un ADALM-PLUTO in contenitore metallico, board LMX2595 e Pi Pico.

Per migliorare le misure oltre i 20GHz, occorre utilizzare un filtro in cavità per abbattere la fondamentale del LMX2595 (a frequenze superiori a 15GHz si attiva un duplicatore interno al chip) perché può diventare “importante” e saturare i primi stadi del dispositivo RX. Si può utilizzare come filtro anche due transazioni in guida accoppiate.

Un esempio di filtro con due transizioni N-guida-N

Il supporto delle board con il sintetizzatore PLL LMX2595 è fornito mediante un’interfaccia USB costituita da un microcontrollore Arduino o un Raspberry Pi Pico, vedere la pagina relativa a questa interfaccia multifunzione USBDAALBFER per gli schemi, sorgenti e binari che si possono utilizzare.

Alcuni consigli per l’utilizzo di tale board PLL:

  • L’utilizzo di un Raspberry Pi Pico (e Pi Pico 2) è preferibile in quanto l’input e l’output è funzionante allo stesso livello 3,3V del LMX2595 per cui non servono i componenti per l’adattamento dei livelli di tensione. Inoltre il caricamento del firmware sul Pi Pico può ridursi semplicemente alla copia del file binario fornito qui sul disco del Pi Pico che si attiva tenendo premuto il pulsantino e inserendo la USB al PC, quindi non è necessario attrezzarsi con l’ambiente di compilazione Arduino.
  • Su alcune board LMX2595 provenienti dalla Cina, parte della serigrafia dei pin del connettore è riportata sul retro della scheda:
  • L’alimentazione a 5V della board LMX2595 andrebbe fornita tramite una porta USB dedicata o con un alimentatore separato, in quanto la scheda durante il funzionamento può raggiungere picchi di assorbimento di 400mA ed oltre, non è consigliato quindi alimentarla tramite il pin 5V del microcontrollore che sia un Arduino o un Raspberry.
  • Anche la connessione GND tra la board LMX2595 e il microcontrollore è importante per garantire il corretto funzionamento del SPI, andrebbe eseguita con collegamenti corti e utilizzando preferibilmente più pin GND del microcontroller e “vicini” ai pin dedicati alla SPI.
  • Infine, è altamente consigliato inscatolare in contenitori metallici sia la board LMX2595 sia il dispositivo di ricezione (ADALM-PLUTO).
Avvio in stand-alone dei sintetizzatori PLL

Da questa versione, è presente una funzione in Satsagen che permette di programmare l’interfaccia Arduino o Pico abbinata ad un sintetizzatore PLL supportato, come il LMX2595 appena visto, per l’utilizzo in stand-alone, cioè l’interfaccia e i PLL potranno funzionare come generatori CW ad una frequenza e potenza prefissata semplicemente alimentandoli, anche scollegati da Satsagen. Questa funzionalità per esempio può essere utile se abbiamo necessità di un oscillatore locale provvisorio per i nostri progetti di down o up converter.

Per sfruttare la suddetta funzionalità è sufficiente avviare Satsagen con i dispositivi collegati, far partire il Generator ed impostare frequenza e potenza desiderati, quindi, mantenendo il Generator avviato, fare click sul menu Settings->Device stored settings alla voce Save the Generator state to the device. A questo punto si può spegnere Satsagen e scollegare i dispositivi di interfaccia e PLL dal PC. Successivamente se le interfacce con i PLL saranno alimentati tramite USB o con una alimentazione a parte, si avvieranno automaticamente alla frequenza e potenza di uscita prefissate, senza l’ausilio di Satsagen come pilota.

Per azzerare l’impostazione sull’interfaccia, in modo che non si avvii più automaticamente e smetta di far funzionare i PLL come generatori CW in stand-alone, è sufficiente ripetere la suddetta procedura con il Generator spento: avviare Satsagen con i dispositivi collegati, lasciare spento il Generator e fare click sul menu Settings->Device stored settings alla voce Save the Generator state to the device. A questo punto si può spegnere Satsagen e scollegare i dispositivi di interfaccia e PLL dal PC, l’impostazione di funzionamento in stand-alone è stata azzerata.

Harmonic Extended Filter

Nelle scansioni in SNA con generatore di tracciamento, soprattutto in modalità armonica, abbiamo riscontrato la presenza di “picchi” indesiderati, per esempio intorno ai 24 GHz, dovuti alla concomitanza dell’alta impostazione di RX Gain necessaria e alla presenza di armoniche del oscillatore locale di RX cadenti proprio nell’intervallo di IF.

Da questa versione di Satsagen si può attivare un filtro EF, simile nel funzionamento a quello già presente da tempo nello Spectrum Analyzer, anche per le operazioni TSA/SNA, mediante un click sul pulsante EF presente nel pannello centrale dell’applicazione:

Il filtro EF eliminerà i suddetti artefatti durante la scansione effettuando due letture distinte per ogni punto, spostando di poco la frequenza dell’oscillatore locale RX. Il filtro confronterà la coppia di letture eliminando i segnali presenti alla stessa frequenza solo su una delle due letture, segno inequivocabile di artefatti dovuti al oscillatore locale di RX.

Per contro, l’utilizzo del filtro EF determinerà un leggero rallentamento nelle scansioni SNA.