Le tabelle di correzione RX/TX di SATSAGEN

Le tabelle di correzione RX/TX di SATSAGEN, dette anche tabelle di compensazione/linearizzazione, sono utilizzate per colmare alcune carenze dei dispositivi supportati, principalmente per:

  • Assenza del controllo automatico del livellamento ALC
  • Scarsa linearità dell’LNA, del mixer e di altri componenti RF

L’obiettivo è ottenere la potenza di uscita del dispositivo impostata dall’utente entro +/- 1 dB di tolleranza nell’intera gamma di frequenza e gli stessi livelli affidabili visualizzati dall’analizzatore di spettro.

Le tabelle sono file di testo in formato INI salvati nella directory Documents/satsagen/settings dal setup e caricati in memoria al Power On dell’applicazione.

Il percorso completo delle tabelle è specificato nella scheda Level Correction sotto Settings:

Le tabelle possono essere abilitate/disabilitate dalla stessa scheda con le seguenti caselle di controllo:

La casella TX level correction abilita il livellamento dell’uscita per il generatore, lo sweeper e l’analizzatore di spettro con tracciamento (TSA).

La casella RX level correction TSA abilita la compensazione del livello di lettura per l’analizzatore di spettro con tracciamento.

La casella RX level correction SA abilita la compensazione del livello di lettura solo per l’analizzatore di spettro.

I seguenti due esempi sono realizzati utilizzando un ADALM-PLUTO con cavo loopback che esegue una scansione TSA per tutta la gamma di frequenze con le tabelle di correzione abilitate e non:

Una scansione con la correzione del livello TX e la correzione del livello RX TSA entrambe abilitate.

IIn questa schermata, la stessa scansione con la correzione del livello TX e la correzione del livello RX TSA entrambe disabilitate.

Le tabelle sono precompilate e distribuite con il setup di Satsagen, contengono la caratterizzazione dei device supportati, effettuata utilizzando alcuni dispositivi campione. Potrebbe però essere necessaria una personalizzazione, vedremo in seguito come fare .

Il nome del file della tabella di linearizzazione TX standard distribuito con l’installazione SATSAGEN è curvecorrTX.ini .

Semplificando, la tabella di linearizzazione TX contiene un elenco di voci Hz=dB per ciascun dispositivo supportato dove Hz è la frequenza e dB è la variazione rispetto alla potenza prevista corretta a quella frequenza: un valore negativo dB corrisponde ad un valore finale di incremento della potenza TX. Altri campi sono disponibili, li vedremo più avanti .

La tabella di linearizzazione TX agisce sull’attenuatore del device assegnato come TX, correggendo con incrementi o decrementi la potenza in uscita.

La tabella di compensazione RX agisce sui livelli letti dal dispositivo correggendoli invece passivamente, quindi ad esempio se il dispositivo legge -40 dBm e dovrebbe essere -30 dBm, la tabella di compensazione RX incrementa di -10 dB per visualizzare il valore corretto di -30 dBm sullo spettro.

Il nome del file della tabella di compensazione RX standard distribuito con l’installazione SATSAGEN è curvecorrRX_PLUTOCGT.ini .

In entrambi i casi delle tabelle RX e TX, l’applicazione effettua un’interpolazione se la frequenza in test è compresa tra due voci della tabella.

Lo strumento di modifica INI

È possibile modificare i file INI delle tabelle di correzione con un editor come Blocco note… ma è un inferno!

Un altro modo, ma solo un po’ più user-friendly, è utilizzare lo strumento di modifica INI incluso in Satsagen.

Lo strumento di modifica INI con il file curvecorrTX.ini caricato

Crea sempre una copia di backup dei tuoi file INI prima di utilizzare lo strumento INI Edit tool.

Per utilizzare lo strumento, aprilo dalla scheda Level correction in Settings facendo clic sul pulsante  INI Edit Tool.

È utile lasciare aperto l’INI Edit Tool, chiudendo solo la finestra Settings, per utilizzarlo durante le operazioni dell’Analizzatore di spettro.

Questo strumento è come un editor di tabelle di database. La finestra di questo tool comprende una griglia editabile nella parte superiore, una barra di navigazione nella parte inferiore, un elenco contenente i dispositivi supportati e alcuni pulsanti funzione.

La tabella parte vuota e il dispositivo selezionato corrisponde al primo device supportato, ADALM-PLUTO.

Puoi iniziare modificando una nuova tabella, selezionando altri dispositivi o importandone una esistente con il pulsante Import.

Puoi salvare su file INI con il pulsante Export. Tutte le funzioni sono relative solo al dispositivo selezionato, ad esempio, se hai effettuato un’esportazione, solo la tabella del dispositivo selezionato verrà modificata sul file INI di destinazione specificato.

Quando si esporta nel file INI configurato attivo, questo viene ricaricato automaticamente e le modifiche diventano operative.

Segue un esempio di utilizzo dello strumento INI Edit tool per modificare una voce della tabella di correzione RX e visualizzare il risultato in tempo reale (Prerequisiti: un ADALM-PLUTO collegato via USB o Ethernet e un cavo di loopback):

  • Effettuare una copia di backup del file curvecorrRX_PLUTOCGT.ini in documenti\satsagen\settings
  • Vai su Settings, scheda Level correction e apri lo strumento di modifica INI
  • Chiudi la finestra Settings lasciando aperta la finestra INI Edit tool
  • Importa il file curvecorrRX_PLUTOCGT.ini dalla directory documenti\satsagen\settings con lo strumento di modifica INI
  • Configura ed esegui una scansione TSA come mostrato nello screenshot seguente

  • Modifica una voce, per esempio quella a 1190 MHz, da -4 dB a -10 dB
  • Conferma la modifica con il pulsante Visto dalla barra degli strumenti del navigatore
  • Esportare nel file curvecorrRX_PLUTOCGT.ini confermando la sovrascrittura
  • Dovrebbe essere visibile sul display la modifica apportata:

  • Ripristina la voce con il valore originale di -4 dB ed esporta nuovamente nel file curvecorrRX_PLUTOCGT.ini
Approfondimento sui campi delle tabelle di correzione RX/TX

I campi della tabella di correzione RX

Freq : frequenza in Hz
cordB : correzione dB come spiegato sopra
min_GAdB  e  max_GAdB : specificano l’intervallo di guadagno RX
tipo : 0  per voci di correzione della frequenza fondamentale
           1  per correzione aggiuntiva della frequenza fondamentale *
           2  per voci di correzione della frequenza della terza armonica
          3  per la correzione della frequenza della quinta armonica voci
          12  per la correzione aggiuntiva della frequenza della terza armonica
          13  per la correzione aggiuntiva della frequenza della quinta armonica

port :  0  per tutte le voci, ad eccezione dei dispositivi che hanno più canali, come Pluto rev C/D, in questo caso,   significa tutte le porte,   solo per le porte del primo canale e   solo per le porte del secondo canale

Con i campi min_GAdB e max_GAdB è possibile specificare un range di RX Gain dove agiscono i campi Hz e CordB . Questi campi sono utili per caratterizzare comportamenti specifici dei dispositivi di non linearità legati agli intervalli di guadagno RX.

I tipi 1, 12 e 13 sono voci di correzione aggiuntive, utili per specificare la caratterizzazione specifica all’interno degli intervalli di frequenza dei tipi di voci 0, 2 e 3.

* Le voci di tipo 1 hanno una particolarità: il campo Hz delle voci di tipo 1 non si riferisce alla frequenza dello spettro ma alla frequenza del LO. Possono quindi essere utilizzati per descrivere correzioni aggiuntive a seconda della frequenza dell’oscillatore locale. Ciò corrisponde ad esempio alla frequenza centrale impostata quando si utilizza l’analizzatore di spettro.

Il seguente semplice esempio è una tabella di compensazione RX che descrive una compensazione lineare che inizia da 1 MHz e termina a 1 GHz con una correzione finale di 10 dB. Le due voci di tipo 1 descrivono una correzione aggiuntiva di +4 dB nell’intervallo da 300 MHz a 400 MHz solo per l’intervallo di guadagno RX da 0 a 10 dB.

I campi della tabella di correzione TX

Freq : frequenza in Hz
cordB : correzione dB come spiegato sopra
min_GAdB  e  max_GAdB : specificano l’intervallo della potenza TX consentito solo per le voci di tipo 1.
tipo :  0  per le voci di correzione della frequenza fondamentale
           1  per la correzione aggiuntiva della frequenza fondamentale all’interno dell’intervallo di potenza TX specificato da min_GAdB e max_GAdB
           2  per le voci di correzione della frequenza della terza armonica (utilizzate solo dal NF/G Analyzer)
port :  0  per tutte le voci, ad eccezione dei dispositivi che hanno più canali, come Pluto rev C/D, in questo caso,   significa tutte le porte,   solo per le porte del primo canale e   solo per le porte del secondo canale

Come scrivere una tabella di correzione

La creazione di una tabella di correzione richiede molta dedizione e tempo, inoltre alcuni strumenti necessari per completare questa attività non sono sempre disponibili nei nostri laboratori.

Normalmente non è necessario creare tabelle da zero, perché queste sono già incluse nella distribuzione di Satsagen per tutti i dispositivi supportati, si tratta piuttosto di personalizzazione. Può però essere utile vedere come creare una nuova tabella per comprendere l’utilizzo di tutti i campi coinvolti.

Prerequisiti

  • Un dispositivo supportato affidabile come un ADALM-PLUTO può velocizzare le operazioni.
  • Un generatore sintetizzato calibrato con l’opzione sweeper
  • Un misuratore di potenza calibrato o un analizzatore di spettro calibrato

Se la tabella da creare riguarda un dispositivo che ha una gamma di frequenza che rientra in parte in quella di un ADALM-PLUTO allora è meglio utilizzare un ADALM-PLUTO principalmente come strumento di riferimento e utilizzare un generatore sintetizzato con l’opzione sweeper, un misuratore di potenza e un analizzatore di spettro per la restante gamma di frequenze non coperta.

Un esempio di creazione di una tabella da zero

Creiamo una tabella di compensazione RX per il dispositivo RTL-SDR V4.

In generale, il primo passo è scrivere le voci di tipo frequenza fondamentale del lato RX (tipo 0). Queste voci descrivono il comportamento del dispositivo nella sua gamma di frequenza fondamentale. Ad esempio, per i dispositivi basati su AD936x va da circa 55 MHz a circa 6 GHz, per i dispositivi basati su R82x, come RTL-SDR V4 con l’opzione up-converter, va da circa 500 kHz a circa 28 MHz per l’HF e da circa 28 MHz a circa 1700 MHz per la gamma VHF/UHF. Il passo successivo dovrebbe essere quello di scrivere le voci di tipo armonico del lato RX (tipo 2,3,12 e 13), ma in questo esempio sono necessarie solo le voci di tipo fondamentale per il dispositivo RTL-SDR V4.

Collega un ADALM-PLUTO a un dispositivo RTL-SDR V4 con un cavo loopback e due attenuatori da 10 dB, in modo che il Pluto agisca come dispositivo di riferimento TX.

Un dispositivo RTL-SDR V4 collegato a un ADALM-PLUTO tramite un cavo loopback

Configura SATSAGEN come segue:

Accendi SATSAGEN e avvia l’analizzatore di spettro con tracciamento con la seguente configurazione:

Attendere circa 10 minuti affinché i dispositivi entrino in un regime di temperatura costante e la funzione disciplina XO sincronizzi bene la frequenza TX con la frequenza del dispositivo RX.

La traccia risultante dovrebbe essere la caratterizzazione della curva RX del dispositivo con un offset di -30 dB.

Potresti copiare il risultato come una nuova tabella di compensazione RX sottraendo la costante di offset di -30 dB dai valori e il gioco sarebbe fatto.

SATSAGEN include una funzionalità che ci aiuta in questo compito per ridurre drasticamente la suddetta manualità, il capitolo seguente spiega come esportare l’ultima scansione TSA completata in una tabella di correzione:

Esporta l’ultima scansione TSA completata in una tabella di correzione

SATSAGEN versione 0.9.1.0 include una funzionalità che esporta il risultato della scansione TSA in una tabella di correzione.

Questa funzionalità può essere utilizzata quando almeno una scansione è completata ed è disponibile.

Per avviare l’esportazione utilizzare la voce di menu File->Export->Export last completed TSA scan to the RX (o TX) Correction Table.

Se si esporta nella tabella di correzione RX, si presuppone che il dispositivo sottoposto a test sia l’ RX e che il dispositivo TX utilizzato nella scansione sia il riferimento. I dati verranno salvati nel file INI definito come File INI RX correction in Settings, scheda Level correction.

Se si esporta nella tabella di correzione TX si presuppone che il dispositivo in prova sia il TX , quindi i dati verranno salvati nel file INI definito come File INI TX correction.

Per completare il lavoro iniziato nel capitolo precedente, scegliamo l’opzione Export last completed TSA scan to the RX Correction Table. Si aprirà la seguente finestra di dialogo:

La parte superiore della finestra di dialogo contiene i campi Min GadB, Max GadB, Type e Port. Possiamo lasciare invariati questi campi per creare la tabella di compensazione per le voci di tipo fondamentale per il dispositivo RTL-SDR v4.

La parte inferiore della finestra di dialogo contiene i campi Min step dB e Offset dB. Il campo Min step dB permette di definire il passo minimo in dB per la creazione di una nuova voce nella tabella di destinazione, questo accorgimento riduce notevolmente il numero di voci create rispetto alla definizione della scansione sorgente. Il campo Offset dB viene calcolato automaticamente sottraendo il valore di RX Gain dal valore TX Pwr.

Successivamente, mantenendo invariati i campi della finestra di dialogo e cliccando su OK, SATSAGEN leggerà in sequenza il risultato dei 512 punti di scansione e creerà tante voci nella tabella di correzione RX con le caratteristiche definite nella parte superiore della finestra, sottraendo l’Offset dB dai valori e verificando che tra un inserimento e l’altro venga rispettato almeno uno step di Min step dB specificato.

La tabella di destinazione deve essere vuota per i campi definiti nella parte superiore della finestra di dialogo, altrimenti la funzione di esportazione si interrompe e visualizza un errore. Questo controllo viene eseguito per proteggere dalla corruzione le tabelle esistenti.

Una volta completata l’esportazione e la creazione della tabella di compensazione RX, verrà visualizzato il seguente messaggio di conferma.

Dobbiamo ancora creare le voci nella tabella di compensazione RX per la restante gamma di frequenze da 0 a 50 MHz non coperta dal dispositivo di riferimento ADALM-PLUTO appena utilizzato.

Come creare una tabella di correzione RX utilizzando un generatore sweeper esterno

Per continuare il lavoro precedente di caratterizzazione del dispositivo RTL-SDR V4 dobbiamo ora configurare un generatore/sweeper calibrato.

Configurare il generatore sweeper per eseguire la scansione lenta, di circa 1 MHz al secondo nell’intervallo da circa 0 a 50 MHz, con un’uscita di -30 dBm CW.

Un generatore/sweeper HP 8601A della fine degli anni ’60

Collega l’ RTL-SDR V4 al generatore/sweeper mantenendo inserito l’attenuatore da 10 dB.

Lasciare invariata la configurazione Satsagen, come utilizzata nel paragrafo precedente.

Eseguire l’analizzatore di spettro, con Max Hold selezionato, con la seguente configurazione.

Lasciarlo funzionare per alcuni minuti finché lo spettro non sarà sufficientemente definito.

Ingrandisci lo spettro per evidenziare la maggior parte dei cambiamenti di livello e annotarli.

Dovresti ottenere un elenco simile a questo::

0 MHz-53.40 dBm
1,5 MHz-46,90 dBm
1,6 MHz-51,90 dBm
6 MHz-42,60 dBm
9,3 MHz-38,50 dBm
11,6 MHz-37,80 dBm
21 MHz-42,40 dBm
25 MHz-47,50 dBm
27,8 MHz-53,90 dBm
28,2 MHz-44,50 dBm
50 MHz-46,20 dBm
  • Effettua una copia di backup del file curvecorrRX_PLUTOCGT.ini in documenti\satsagen\settings
  • Vai su Settings, scheda Level correction e apri lo strumento di modifica INI
  • Chiudi la finestra Settigns lasciando aperta la finestra INI Edit tool
  • Importa il file curvecorrRX_PLUTOCGT.ini dalla directory documenti\satsagen\settings con lo strumento di modifica INI
  • Seleziona il dispositivo RTL-SDR V4 dall’elenco dei dispositivi
  • Inserisci le voci precedenti nella parte superiore della tabella, diminuendo i livelli dBm dell’offset di -30 dB.

  • Esportare nel file curvecorrRX_PLUTOCGT.ini confermando la sovrascrittura
Un’ulteriore messa a punto

Un comportamento strano che ho notato nel dispositivo RTL-SDR V4, che potrebbe non essere visibile in una scansione come quella usata sopra, è un aumento di lettura di circa 5 dB quando la frequenza centrale dell’analizzatore di spettro è impostata da circa 500 kHz a esattamente 2200kHz.

Per correggere questo problema è possibile utilizzare un paio di voci di tipo 1 illustrate nel capitolo Approfondimento sui campi delle tabelle di correzione RX/TX aggiunti alla fine della tabella:

Creazione da zero di una tabella di linearizzazione TX

Per creare una tabella di linearizzazione TX di un dispositivo supportato in SATSAGEN procedere esattamente come illustrato nell’esempio precedente , dove è stata creata la tabella di compensazione per il dispositivo RTL-SDR V4, con l’unica differenza che i dispositivi devono essere invertiti!

Pertanto, per la gamma di frequenza coperta da ADALM-PLUTO, questo verrà configurato come dispositivo RX nella scheda Devices in Settings e il dispositivo sotto test come dispositivo TX. L’esportazione nella tabella di correzione TX verrà eseguita al termine della procedura di scansione

Per l’intervallo non coperto da ADALM-PLUTO, il generatore/sweeper SATSAGEN è configurato per eseguire una scansione nell’intervallo richiesto e un analizzatore di spettro calibrato esterno è collegato al dispositivo TX per ottenere la curva Max Hold da scrivere manualmente nel TX file INI di correzione utilizzando lo strumento INI Edit tool.

Note sulla compilazione delle tabelle di correzione

L’applicazione Satsagen legge le tabelle in sequenza dal primo all’ultimo record. L’applicazione non esegue un ordinamento delle voci. L’attività di ordinamento delle voci dei campi in base alla frequenza, dalla frequenza minima del dispositivo alla frequenza massima del dispositivo, è lasciata all’utente. Inoltre, l’utente dovrebbe prestare attenzione ai campi raggruppati: le voci devono essere raggruppate per campo porta, campo tipo e intervallo min_GAdB e max_GAdB.

L’immagine seguente è un esempio che include una serie di voci correttamente ordinate e raggruppate:

SATSAGEN v.0.9.0.1

Download Page

I punti salienti di questa versione sono:

Radio

Le condizioni preliminari per l’utilizzo della Radio sono:

  • In Settings, scheda Extra, se non già attiva, abilitare la voce Multithreading
  • Se si usa il dispositivo Pluto, abilitare anche la voce Kernel buffers in Settings, scheda Device Options
  • I filtri LO F ed EF presenti nella scheda SA Filters/trace types devono essere spenti
  • Lo Span deve essere inferiore o uguale al massimo bandwidth istantaneo del dispositivo. Per esempio, con Pluto lo Span deve essere al massimo di 2 MHz (4 MSPS)
  • Il resolution bandwidth, nella voce del FFT size, deve rientrare in un range adatto per il dispositivo SDR utilizzato. All’accensione della Radio, Satsagen pone l’FFT size, se troppo basso, a 4K come base di partenza adatta per la maggior parte dei dispositivi.

Se una o più delle suddette condizioni non sono soddisfatte, la Radio può rimanere in standby o funzionare con una riproduzione all’ascolto non soddisfacente.

Declino ogni responsabilità per eventuali danni all’udito derivanti da un utilizzo improprio delle funzioni audio di Satsagen, soprattutto con l’ausilio di cuffie.

Prima di accendere la radio, selezionando uno dei modi di demodulazione previsti, posizionare sempre i controlli AF Gain e Volume ad un livello il più basso possibile, per poi alzarli gradualmente fino ad ottenere un’ampiezza di riproduzione desiderata.

Bump, scariche ed altri fastidiosi suoni possono essere riprodotti, nonostante abbia previsto un fading automatico in alcune occasioni, come per esempio quando si passa da una demodulazione ad un’altra. Questi forti e pericolosi suoni sono riprodotti soprattutto utilizzando delle demodulazioni dipendenti dall’ampiezza del segnale in ingresso, che non è prevedibile, quali l’AM ed SSB.

Per accendere la Radio:

  • Avviare lo Spectrum Analyzer alla frequenza centrale desiderata e RX Gain sufficiente
  • Attivare la scheda Radio e scegliere la demodulazione desiderata dalla lista Mode:
La radio attiva con una demodulazione FM e 50uS di de-emphasis

Una volta scelto il tipo di demodulazione, la Radio si avvia riproducendo sull’audio predefinito del PC.

Un cursore di sintonia, largo quanto l’IF BW selezionato, viene visualizzato nel display. Per spostare la sintonia è sufficiente effettuare un click sul display alla posizione della frequenza desiderata oppure agendo sulla manopolina di sintonia posta accanto alla lista dei modi di demodulazione. Se la stazione che si desidera ascoltare è al di fuori dello span visualizzato, occorre necessariamente agire sulla frequenza centrale dello spectrum analyzer mediante i consueti controlli, compresi quelli offerti dal gesture su display touch screen.

Effettuando un doppio click sul cursore di sintonia si ottiene un ingrandimento che permette un più agevole centramento in frequenza del segnale che si desidera demodulare. Un successivo doppio click nell’area di sintonia riporta il fattore di zoom ai valori precedenti.

Il cursore di sintonia è in sostanza un marcatore visibile nella Edit SA markers table come CalcMode DEMOD. Quando la radio è attiva, l’utilizzo degli altri marcatori non è consentito, mentre è possibile utilizzare i cursori per eventuali misurazioni.

Per spegnere la Radio, scegliere dalla lista Mode la voce No demod.

Le demodulazioni previste sono:

  • AM. L’IF bandwidth parte di default da 12 kHz e può essere regolato nel range da 2 a 250 kHz. L’ AF Gain può raggiungere i 45 dB. La sintonia può essere controllata a step di 100 Hz.
  • N-FM. L’IF bandwidth parte di default da 12 kHz e può essere regolato nel range da 2 a 16 kHz. L’ AF Gain può essere impostato al massimo a 30 dB. La demodulazione narrow FM utilizza un filtro passa banda audio da 200 Hz a 4200 Hz e un filtro di de-enfasi da 530 uS. E’ possibile l’utilizzo dello squelch. La sintonia può essere controllata a step di 100 Hz.
  • FM. L’IF bandwidth parte di default da 150 kHz e può essere regolato nel range da 2 a 250 kHz. L’ AF Gain può essere impostato al massimo a 30 dB. Questa demodulazione non utilizza nessun filtro se non l’AF Filter impostato dall’utente. E’ possibile l’utilizzo dello squelch. La sintonia può essere controllata a step di circa 1 kHz.
  • FM 50uS DE e FM 75uS DE. L’IF bandwidth parte di default da 150 kHz e può essere regolato nel range da 2 a 250 kHz. L’ AF Gain può essere impostato al massimo a 30 dB. Queste demodulazioni sono in FM mono, il 19 kHz presente nelle emittenti stereo viene soppresso in parte dal filtro di de-enfasi e dalla impostazione del AF Filter. Il filtro di de-enfasi è rispettivamente di 50 uS e 75 uS. E’ possibile l’utilizzo dello squelch. La sintonia può essere controllata a step di circa 1 kHz.
  • LSB e USB. L’IF bandwidth parte di default da 2.8 kHz e può essere regolato nel range da 2 a 8 kHz. L’ AF Gain può raggiungere i 45 dB. La sintonia può essere controllata a step di 1 Hz, con la granularità prevista dal dispositivo SDR in uso.

La radio non è compatibile con le seguenti funzionalità di Satsagen: Full Band, Zero Span, NF/G Analyzer e i filtri LO F ed EF. Se si tenta l’utilizzo contemporaneo di una delle suddette funzionalità con la Radio, quest’ultima verrà posta in standby o le funzionalità non si attiveranno.

Misuratore di deviazione e ampiezza di modulazione

E’ possibile effettuare misure di deviazione FM e modulazione AM con l’ausilio della Radio.

Misura deviazione FM
  • Accendere la Radio su uno dei modi di demodulazione FM
  • La portante da misurare dovrebbe preferibilmente essere modulata con 1 kHz circa ed avere una potenza sufficiente. Indicativamente, utilizzando un ADALM-PLUTO, occorre una portante di almeno -80 dBm. Con una impostazione di 40 dB di RX Gain, la tolleranza della misura è intorno al 5%.
  • Impostare un IF BW adatto con la misurazione di deviazione da effettuare
  • Centrare il più possibile la portante o la sintonia sulla portante
  • Attivare la voce Radio Modulation Metering dal menu View
  • La terza riga di testo del cursore di sintonia visualizzerà in tempo reale le misurazioni di deviazione e deviazione negativa/positiva dalla frequenza centrale del canale sintonizzato, in kHz per wide FM ed in Hz per narrow FM:
Misurazione di deviazione FM, in questo esempio risulta essere di circa 79 kHz

Per migliorare la precisione della misura, effettuare la calibrazione:

  • Accendere la Radio su uno dei modi di demodulazione FM
  • Sintonizzare la portante, in questo caso deve essere non modulata, CW
  • Dal menu Run, voce FM modulation metering calibration scegliere Run Calibration
  • Dopo circa un secondo, se la calibrazione è avvenuta correttamente, dovrebbero essere visualizzati valori misurati intorno allo zero.
  • Proseguire con la misura modulando ora la portante con circa un kHz
Misura modulazione AM
  • Accendere la Radio su demodulazione AM
  • La portante da misurare dovrebbe preferibilmente essere modulata con 1 kHz circa
  • Attivare la voce Radio Modulation Metering dal menu View
  • La terza riga di testo del cursore di sintonia visualizzerà in tempo reale la misurazione di ampiezza in percentuale di modulazione :
Misurazione di modulazione AM, in questo esempio risulta essere di circa 88 %

Anche nel caso dell’AM è possibile effettuare una calibrazione a priori per migliorare la precisione della misura di modulazione:

  • Accendere la Radio su uno dei modi di demodulazione AM
  • Sintonizzare sulla frequenza desiderata senza la portante presente, in modo che Satsagen acquisisca solo il livello del noise floor
  • Dal menu Run, voce AM modulation metering calibration selezionare Run Calibration
  • Dopo circa un secondo, se la calibrazione è avvenuta correttamente, dovrebbero essere visualizzati valori oscillanti inferiori a 99%.
  • Proseguire con la misura attivando la portante modulata in AM a circa un kHz

Noise/Gain Analyzer

La funzionalità di Noise/Gain Analyzer è stata potenziata, soprattutto al fine di migliorarne la precisione delle misure e ridurre le attività ripetitive di calibrazione.

Modalità adattiva

In Settings, scheda Computations, si abilita la nuova modalità adattiva mediante la voce Adaptive on three gain settings:

La scheda Computations in Settings dove abilitare la modalità adattiva

La modalità adattiva, in fase di misura, imposta il guadagno di ricezione più idoneo per le caratteristiche del dispositivo in prova, evitando in questo modo letture falsate in seguito ad overload degli stadi di ingresso e ADC del dispositivo SDR utilizzato.

Una volta configurata la modalità adattiva si può procedere con la calibrazione e la misura con la stessa procedura di sempre, in sostanza sarà solo il tempo occorrente alla calibrazione a cambiare, ma vediamo nel dettaglio cosa il programma effettua in questa nuova modalità:

La fase di calibrazione richiede più tempo per completarsi rispetto alla modalità classica non adattiva, in quanto il programma deve analizzare su diversi livelli di Gain il comportamento del sistema noise source e ricevitore SDR per poi utilizzare queste informazioni in fase di misura.

La calibrazione in modalità adattiva si compone delle seguenti macro fasi:

  • Determina il range di RX Gain fruibile facendo partire l’acquisizione con il massimo RX Gain disponibile e riducendolo progressivamente fino a trovarne il livello minimo dove le variazioni ON/OFF del noise source possono essere ancora utilizzabili.
  • Divide in tre livelli di gain il suddetto range
  • Effettua tre calibrazioni mediante i tre livelli di gain individuati
  • Calcola il guadagno massimo misurabile dei dispositivi in prova e mappa le tre calibrazioni su tre range del guadagno dei DUT

In fase di misura, il programma determina quale dei tre livelli di RX Gain e annessa calibrazione utilizzare in base al guadagno approssimativo del dispositivo in prova.

Se in fase di calibrazione, il programma determina che non ci siano le condizioni per creare tre range di RX Gain, perché lo scostamento tra massimo gain ed il minimo fruibile è troppo piccolo, allora la modalità adattiva è automaticamente disabilitata e il sistema procede nel modo classico.

Compensazione armoniche

Alcuni dispositivi SDR, quali per esempio il Pluto, possono introdurre un errore di lettura in fase di calibrazione dovuto al comportamento armonico enfatizzato dei mixer in ricezione e per il fatto che non è presente un filtro preselettore in ingresso. Queste condizioni fanno sì che il livello di noise della testina sorgente non sia solo ricevuto alla frequenza fondamentale di misura ma anche alle frequenze armoniche, in modo più marcato alla terza e quinta armonica. Tale errore si riflette sui risultati delle misure, soprattutto in una sottostima del Gain del dispositivo in prova, in modo particolare questo avviene misurando DUT a banda stretta.

Da questa versione, Satsagen prevede l’applicazione di una compensazione che riduce notevolmente l’errore sia sul Gain che sul Noise figure misurato. Per attivare tale meccanismo di compensazione è sufficiente compilare il campo Bandwidth del marcatore utilizzato per le misure con il valore approssimativo del bandwidth del dispositivo in prova:

La markers table e la colonna BandWidth da compilare per abilitare il meccanismo di compensazione

La compensazione verrà calcolata dal programma in base alle caratteristiche del SDR utilizzato e da come si comporta alle frequenze armoniche abbinate alle informazioni ENR della tabella del Noise Source utilizzato.

La compensazione verrà applicata solo durante la visualizzazione finale della misura del dispositivo, quindi quando quest’ultimo verrà collegato al sistema, per cui non sarà visualizzato al termine della calibrazione dove i display di Gain e Noise Figure oscillerannno sempre intorno allo zero.

Se si vuole conoscere il livello di compensazione già in fase di calibrazione, attivare la voce Show the mixer’s harmonic compensation at the calibration level dal menu Computations->NF/G Analyzer->Session settings.

Utilizzo del TX SDR come Noise Source!

Ho pensato che poteva essere interessante, in via sperimentale, utilizzare la parte TX del SDR come Noise Source!

Satsagen era già dotato nella parte del generatore di una modulazione NPR che consente la misurazione della intermodulazione di canali adiacenti. In sostanza è un generatore di noise pseudo-casuale comprensivo di tre filtri notch. Ora la parte di NF/G Analyzer può essere configurata per utilizzare tale generatore come Noise Source per le misure di Noise Figure e Gain.

Va detto che tale possibilità produce risultati attendibili di Noise Figure solo se il sistema verrà caratterizzato mediante strumentazione professionale e calibrata, al fine di crearne una tabella personalizzata ENR da inserire nel programma. Inoltre, rispetto ad una testina Noise Source, l’utilizzo di un dispositivo SDR come sorgente di rumore ha i seguenti svantaggi:

  • Una volta caratterizzato l’SDR con attenuatore installato mediante strumentazione calibrata, il dispositivo deve essere dedicato solo per le misure NF/G; per esempio, anche solo l’operazione di svitare l’attenuatore per poi rimetterlo può invalidare la caratterizzazione appena effettuata.
  • L’instabilità in frequenza e potenza di un SDR rispetto alle variazioni termiche è superiore a quella di una testina tradizionale e potrebbe introdurre errori di misura di Noise Figure inaccettabili.
  • Il range di frequenza utilizzabile è normalmente inferiore rispetto ad una tradizionale testina Noise Source. Ad esempio con un Pluto si può generare noise da circa 70 MHz a 6 GHz.
  • Non per ultimo, un SDR come sorgente di rumore può essere utilizzato solo da Satsagen, mentre una tradizionale testina può essere utilizzata con la maggior parte dei sistemi di misura hardware e con Satsagen.

Per le suddette ragioni, l’utilizzo di una testina Noise Source è sempre la scelta migliore. Poiché l’acquisto di una testina branded sta diventando con il tempo sempre più un’operazione onerosa, varrebbe la pena tentarne l’autocostruzione o scegliere prodotti emergenti come quelli proposti dal collega radioamatore Mauro IZ1OTT che offre un portfolio di componenti RF microonde dall’ottimo rapporto qualità/prezzo. Informazioni a riguardo si possono trovare sul sito di Mauro: https://www.mauroottaviani.com.

Abilitare il TX SDR come noise source è semplice. In Settings, tab Ext In/Out scegliere la voce Generator as a Noise Source dalla lista Noise source power interface, quindi nella tab Computations, inserire il nome del file contenente la tabella di caratterizzazione ENR del TX SDR. Le istruzioni come caratterizzare un SDR come Noise Source le illustro nel successivo capitolo. A scopo puramente indicativo, ho inserito nel setup di Satsagen, alcuni esempi di tabelle ENR dei dispositivi SDR, si trovano in Documenti\satsagen\settings\ENRTables. I nomi dei file di esempio sono composti in questo modo: un prefisso ENR seguito dal nome del dispositivo SDR e opzionale la frequenza di campionamento usata nella caratterizzazione. Il nome del file termina sempre con un suffisso indicante il valore dell’attenuatore TX utilizzato. Per esempio, il nome della tabella per l’ADALM-PLUTO a 8 MSPS con un attenuatore da 20 dB è: ENRADALMPLUTO8MSPS-20. Se la frequenza di campionamento non è specificata nel nome, la tabella è adatta nella condizione peggiore di utilizzo del TX SDR come Noise Source, dove il dispositivo viene utilizzato contemporaneamente anche come RX e la banda base è condivisa, per cui la frequenza di campionamento è fissata dalla parte di ricezione e può non essere l’ottimale, come nel caso di ADALM-PLUTO a 8 MSPS.

I dispositivi SDR contemplati da Satsagen come Noise Source sono:

  • ADALM-PLUTO e annessi con attenuatore su connettore TX da 20 dB
  • USRP con attenuatore TX da 30 dB
  • AntSDR E200 con attenuatore TX da 30 dB
  • HackRF One con attenuatore TX da 50 dB
Caratterizzazione di un TX SDR come Noise Source

Per la caratterizzazione ENR di un dispositivo è necessario uno strumento di misura ENR affidabile e calibrato.

Di seguito la procedura per caratterizzare un ADALM-PLUTO come Noise Source:

Il setup deve coincidere con quello finale di misura, quindi per esempio se si utilizzerà il NF/G Analyzer con un singolo dispositivo ADALM-PLUTO con i ruoli sia di ricevitore che di Noise Source (la condizione peggiore in termini di affidabilità nelle misure), il setup di caratterizzazione sarà un singolo ADALM-PLUTO con un attenuatore sul connettore TX di -20 dB. Mentre se si ha la possibilità di utilizzare due ADALM-PLUTO, uno dedicato alla ricezione e un altro come Noise Source, allora il setup di caratterizzazione dovrà essere composto da due ADALM-PLUTO con il dispositivo dedicato a Noise Source corredato di un attenuatore da -20 dB sul connettore TX.

  • Collegare il TX (chiaramente l’uscita dell’attenuatore) allo strumento di misura ENR
  • In Settings, tab Ext In/Out scegliere la voce Generator as a Noise Source dalla lista Noise source power interface
  • Creare tanti marcatori di tipo CalcMode NF/G con span 400000 alle frequenze che si desidera caratterizzare in ordine crescente. Per esempio 71000000, 100000000, 144000000, 432000000 e così via di seguito.
  • Selezionare il primo marcatore con la frequenza più bassa
  • Avviare il NF/G Analyzer facendo un click sul pulsante ON nella tab NF/G Analyzer
  • Configurare lo strumento di misura ENR con un bandwidth corrispondente alla metà del valore visualizzato nella casella Sampling kHz del generatore di Satsagen
  • Fare un click sul piccolo pulsante TX On del generatore e annotare la frequenza e il valore ENR letto sullo strumento di misura
  • Selezionare il successivo marcatore e fare di nuovo click sul pulsante TX On e annotare frequenza e valore ENR visualizzati dallo strumento di misura. Ripetere questo passo per tutti i marcatori creati.
  • Aprire in Settings, tab Computations, il tool di scrittura dei file ENR tramite il pulsante ENR INI Edit Tool e copiare frequenze ed ENR annotate nella tabella. Quindi salvare tramite il pulsante Export su un file ENRADALMPLUTO-20.ini

Salvataggio dati di calibrazione

Il sistema di NF/G Analyzer da questa versione salverà automaticamente i dati di calibrazione. I dati salvati possono essere riutilizzati per effettuare nuove misure risparmiando il tempo occorrente per la calibrazione. Per esempio è da ora possibile effettuare una calibrazione e misura di un DUT, chiudere l’applicazione, riaprirla ed effettuare la misura su un nuovo DUT con le stesse caratteristiche di frequenza e bandwidth, saltando la fase di calibrazione. E’ possibile altresì calibrare il sistema su più frequenze e bandwidth e successivamente effettuare la misura su più DUT, senza dover ricalibrare il sistema ogni volta.

Usufruire di questa nuova funzionalità è molto semplice. Se sono presenti dei dati di calibrazione in memoria, utilizzabili per le caratteristiche del marcatore attualmente selezionato, allora un piccolo LED posto accanto al pulsante di calibrazione si colorerà di giallo:

Il piccolo LED di colore giallo posto accanto al pulsante SYS CAL

A questo punto, si può decidere se utilizzare i dati in memoria o effettuare un nuovo ciclo di calibrazione e misura. Per utilizzare i dati di calibrazione in memoria ed avviare immediatamente la misura del DUT, fare click sul pulsante SYS CAL tenendo premuto contemporaneamente il tasto CTRL della tastiera. Il pulsante SYS CAL si colorerà immediatamente di verde ad indicare il recupero corretto dei dati di calibrazione e l’avvio della fase di misura. Invece, per ignorare la presenza di dati di calibrazione salvati ed effettuare un nuovo ciclo di calibrazione, sovrascrivendo così sui dati in memoria, allora è sufficiente fare click sul pulsante SYS CAL come di consueto.

Per far sì che il sistema proponga come riutilizzabili dei dati di calibrazione, alcuni parametri di configurazione della nuova misura devono essere identici a quelli salvati, tra cui i principali sono:

  • Stessa tipologia di misura: Manuale, Auto o Auto Adaptive
  • Stessa Frequenza
  • Stessa Frequenza IF se specificata
  • Stesso Bandwidth (Span)

Se uno o più dei suddetti parametri principali non coincide, allora il piccolo LED dedicato a segnalare la presenza di dati di calibrazione riutilizzabili, rimarra spento.

Per visualizzare la lista dei dati di calibrazione presenti in memoria, selezionare la voce List the saved calibration data to the trace log dal menu Computation->NF/G Analyzer->Calibration data:

Un esempio di lista dei dati di calibrazione salvati

Nel caso siano presenti dei dati di calibrazione riutilizzabili che rispecchiano i suddetti principali parametri, ma uno o più parametri secondari che potrebbero pregiudicare la bontà delle misure differiscono, allora il piccolo LED si colorerà di rosso ed è possibile utilizzare le informazioni visualizzate nel ballon tip per risalire ai parametri non corrispondenti:

Il piccolo LED accanto al pulsante SYS CAL è di colore rosso per via del parametro 24 non coerente rispetto ai dati di calibrazione salvati

In questo esempio, il parametro di configurazione attuale non corrispondente con quello salvato è il #24. Per risalire ad una descrizione del parametro partendo da questo numero, scegliere la voce Dump the selected calibration data to the trace log dal menu Computation->NF/G Analyzer->Calibration data:

Uno stralcio dei dati di calibrazione salvati del marcatore NF/G attualmente selezionato

Nell’esempio, il parametro che differisce è relativo alla temperatura dell’ambiente di lavoro che risulta essere di 296 Kelvins nei dati salvati mentre ad esempio è stata modificata dall’utente in configurazione a 290 Kelvins.

Misuratore di ENR

Il NF/G Analyzer di Satsagen può essere utilizzato per misurare l’ENR di una sorgente di rumore. Va premesso che per effettuare tale misura occorre una testina Noise Source perfettamente caratterizzata da usarsi come campione. Inoltre, questo misuratore non può sostituire una strumentazione professionale e calibrata in quanto gli errori introdotti dal sistema SDR possono accumularsi e portare a risultati non soddisfacenti. A tale proposito, si consiglia per queste misure l’utilizzo di un SDR che non abbia i mixer con comportamento armonico enfatizzato, come per esempio un RTL-SDR, con il quale è possibile misurare ENR con buoni risultati fino a circa 1,4 GHz.

  • Configurare il sistema come se si dovessero effettuare tradizionali misure di Noise Figure e Gain. Eventualmente visionare questo post dove illustro le basi per l’utilizzo del NF/G Analyzer.
  • Disattivare la voce Adaptive on three gain settings da Settings, tab Computations, in quanto tale modalità non è compatibile con la misura ENR
  • Attivare la voce ENR measurement dal menu Computation->NF/G Analyzer->Modes
  • Creare tanti marcatori di tipo CalcMode NF/G con span 400000 alle frequenze che si desidera caratterizzare in ordine crescente. Per esempio 71000000, 100000000, 144000000, 432000000 e così via di seguito.
  • Collegare la testina Noise Source campione
  • Selezionare il primo marcatore creato
  • Avviare il NF/G Analyzer facendo un click sul pulsante ON nella tab NF/G Analyzer
  • Fare click su SYS CAL e attendere il termine dell’acquisizione quando il pulsante diverrà di colore verde
  • Selezionare il prossimo marcatore ed effettuare nuovamente la procedura cliccando su SYS CAL, proseguendo poi per tutti i marcatori restanti, in questo modo il sistema memorizzerà i dati ENR della testina campione
  • Collegare la testina Noise Source da caratterizzare
  • Selezionare il primo marcatore
  • Tenendo premuto il tasto CTRL fare click sul pulsante SYS CAL
  • Annotare la lettura ENR:
Il display centrale visualizza il valore di ENR dB
  • Selezionare il successivo marcatore e tenendo premuto il tasto CTRL fare click su SYS CAL. Proseguire quindi con i restanti marcatori.
Varie, nuovi parametri di configurazione

In Settings, tab Computations, si possono specificare questi nuovi parametri al fine di perfezionare la precisione delle misure del NF/G Analyzer:

I nuovi parametri di configurazione per l’NF/G Analyzer

NS ON/OFF è un tempo di ritardo che il sistema introduce di seguito all’accensione o spegnimento della testina Noise Source prima di proseguire nella lettura. Può essere specificato in millisecondi o in drop samples, fare un click sul titolo dell’unità di misura per passare da una all’altra.

Ambient temperature può essere specificato in gradi Celsius o Kelvins

I campi Loss 1 e Loss 2 permettono rispettivamente di specificare la perdita di inserimento di cavi o connettori utilizzati per collegare verso l’ingresso e l’uscita dei DUT, i quali non sono contemplati dalla calibrazione.

Average/Time e Cumulative Folding

Average/Time e Cumulative sono metodi di folding che permettono di discriminare in modo netto i segnali dal rumore di fondo, soprattutto usati in ambito della radioastronomia.

Average/Time Folding

E’ un filtro che si seleziona tra i disponibili presenti nella lista VFilter Type con la voce Folding:

La manopola VF F per il controllo dei parametri di Folding attualmente selezionata per i cicli di AVG

Questo filtro è funzionante solo con il Multithreading attivo e con valori di Span inferiori o uguali al massimo bandwidth istantaneo del dispositivo, quindi per esempio nel caso di un RTL-SDR equivale a 1 MHz o per un ADALM-PLUTO rev B corrisponde a 30 MHz. Se una o più delle suddette condizioni non è soddisfatta, allora il filtro si disattiverà e la scritta VFilter Type lampeggierà in colore rosso.

Descrizione del funzionamento: I dati visualizzati sullo spettro sono processati in prima battuta da un filtro average classico che ne effettua una media su un numero di passaggi che l’utente può specificare da 1 (disabilitato) a 30 mediante la manopola VF F AVG. Nel suddetto esempio, il filtro average è configurato per 17 cicli. Successivamente i dati sono inseriti in un registro a scorrimento composto da un numero di blocchi che l’utente può specificare con la stessa manopola posizionata su VF F Blocks:

La manopola VF F per il controllo dei parametri di Folding attualmente selezionata per modificare il numero di blocchi del registro a scorrimento

Nell’esempio, il registro a scorrimento del filtro è costituito da 2362 blocchi.

I dati vengono quindi processati dal registro a scorrimento e visualizzati. Nell’esempio, in uscita dal registro a scorrimento avremo la media degli ultimi 2362 blocchi in un periodo di tempo (Folding Period) determinato dalla dimensione del pre-filtro average e dal numero di blocchi del registro, il quale periodo è stimato in tempo reale e visualizzato in secondi accanto alla manopola, 32 secondi nel nostro esempio.

Poiché il consumo di memoria di questo filtro può raggiungere valori elevati per via della quantità dei dati presenti nel registro a scorrimento che corrisponde ai dati dello spettro nella risoluzione determinata dal FFT size moltiplicata per il numero dei blocchi costituenti il registro, il sistema ne limita la dimensione a circa 1 GB di RAM massimi.

Cumulative Folding

Il Cumulative Folding è implementato in Satsagen partendo dai dati grezzi processati dal FFT in un flusso a se stante, quindi indipendente dai filtri VFilter e da quanto verrà poi visualizzato sul display principale dello spettro. Difatti, i risultati del Cumulative Folding sono visualizzati in una finestra indipendente in un display dedicato, dove l’ampiezza è espressa in mW.

Il Cumulative Folding si avvia con la voce SA cumulative folding dal menu Run.

In sostanza, il Cumulative Folding ripiega su se stesso lo spettro effettuandone una mera somma algebrica, in modo ripetitivo fino a quando l’utente non lo ferma tramite la stessa voce del menu Run->SA cumulative folding o all’occorrenza di uno dei seguenti eventi:

  • Chiusura completa del programma Satsagen
  • Modifica della frequenza centrale, dello span o del resolution bandwidth dello spectrum analyzer di Satsagen

Mentre l’azione di spegnimento e riaccensione dello spectrum analyzer implica solo una interruzione momentanea del Cumulative Folding.

Il tempo di esposizione accumulato dal Folding viene visualizzato in secondi nel titolo del display della finestra dedicata.

Lo stesso titolo visualizza il nome del file di appoggio dove il programma salva i risultati automaticamente ogni circa 10 secondi.

I file sono salvati nella cartella documenti\satsagen\export e possono essere aperti anche off-line per essere visionati tramite il menu File con la voce Load Cumulative Folding Data. Da questa visualizzazione è possibile anche esportare i dati in formato CSV tramite il menu File e la voce Save as CSV.

Se si fa ripartire da zero innavertitamente il Cumulative Folding, è possibile comunque ripristinare l’acquisizione con i dati accumulati e salvati mediante la seguente procedura:

  • Far partire una nuova acquisizione
  • Dal menu File scegliere Load cumulative folding data e aprire il file della registrazione interrotta dalla directory documenti\satsagen\export
  • Dal menu File della stessa finestra di caricamento scegliere la voce Merge e confermare la volontà di effettuare il merge dei dati del file appena caricato sulla sessione di acquisizione in corso

Miglioramenti e aggiunte

Profili di configurazione

Da queste versione, oltre all’icona shortcut principale, il setup crea ulteriori tre shortcut al programma Satsagen con tre profili di configurazione distinti: SATSAGEN Config #1, #2 e #3.

I quattro shortcut creati dal Setup di Satsagen

Le tre configurazioni aggiuntive sono assolutamente separate, è possibile in questo modo avviare in totale quattro istanze di Satsagen (non necessariamente in modo contemporaneo) con quattro distinte configurazioni, da eventualmente dedicare per l’utilizzo del NF/G Analyzer, o del VNA, o al power meter e così via, senza dover necessariamente modificare la configurazione per adattarla ai dispositivi e alle funzionalità che servono di volta in volta.

Nel titolo della finestra principale di SATSAGEN viene visualizzato in numero di configurazione attualmente in uso
Filtro Smoothing in secondi per dB

E’ stato aggiunto un filtro di tipo Smoothing selezionabile dalla lista VFilter Type come Smooth S/dB.

Nel filtro Smoothing tradizionale, la visualizzazione dei segnali ricevuti è “levigata” aggiungendo ad ogni passaggio una frazione di dBm impostata dall’utente, fino al raggiungimento della potenza reale.

In questo filtro, la visualizzazione nella potenza piena dei segnali si raggiunge in termini di secondi per dB impostabili dall’utente, da un minimo di 0.01 secondi per dB ad un massimo di 600 secondi per dB.

Immaginando la presenza di un segnale CW a -90 dBm, un noise floor a circa -100 dBm e un’impostazione di Smooth S/dB a 1 secondo/dB, il suddetto segnale verrà visualizzato con una crescita progressiva fino alla potenza di -90 dBm in circa 10 secondi.

In questo modo è possibile discriminare i segnali che hanno una continuità definita nel tempo.

Bias DC su connettore RX

Alcuni dispositivi SDR (quali l’RTL-SDR, AirSpy, HackRF ed altri) possono fornire una tensione DC sul connettore RX utile per eventualmente alimentare amplificatori esterni di antenna.

Di default, questa opzione, se presente nel dispositivo, è disabilitata.

Da questa versione di Satsagen, è possibile manualmente attivare il Bias DC agendo sul menu Settings->Device session settings alla voce Enable DC Bias Antenna.

Se il dispositivo di ricezione non prevede la suddetta opzione, la voce di menu sarà disabilitata.

Poiché la tensione DC fornita dal SDR può danneggiare eventuali dispositivi sensibili quali attenuatori o altri SDR direttamente collegati che hanno un accoppiamento in corrente continua, l’abilitazione avrà una validità solo all’interno della sessione di collegamento al dispositivo, per cui al riavvio del programma, o ad un ciclo di Power Off/On, il DC Bias verrà disabilitato e dovrà essere all’occorrenza acceso manualmente di nuovo tramite la suddetta voce di menu.

Un’ulteriore sicurezza è data dal messaggio di conferma per l’abilitazione del DC bias che verrà visualizzato in seguito alla scelta della voce Enable DC Bias Antenna:

Il messaggio di richiesta conferma per l’abilitazione del DC Bias
Generatore, pulsante TX On

Nel pannello del Generatore, ho aggiunto un pulsante TX On utilizzabile per spegnere o accendere l’output TX.

Il piccolo pulsante TX On del pannello Generator

Rispetto al pulsante che avvia il Generatore, il TX On ha una risposta immediata perché agisce direttamente sugli stadi di output, mentre il pulsante di avvio Generatore determina e prepara la configurazione del dispositivo SDR in base alle impostazioni dell’utente e poi avvia lo stream in output, per cui, per esempio, la creazione in memoria di uno stream di modulazione a 10 Hz può richiedere un tempo attesa che può anche superare un secondo, in base alle caratteristiche del PC in uso.

Se Satsagen viene configurato nella modalità dual-devices, dove un dispositivo ha un ruolo esclusivo di RX e l’altro di TX, è possibile abilitare la voce Discipline XO nei Device Options del riquadro TX device. La suddetta funzione è già presente da tempo nella storia delle versioni di Satsagen ed è un meccanismo che automaticamente regola la correzione sul clock di riferimento del dispositivo TX in modo da mantenerlo costantemente allineato alla frequenza del RX durante le scansioni di Spectrum Analyzer con tracking.

Poiché ho riscontrato che può essere poco pratico all’occorrenza abilitare o disabilitare tale funzionalità di disciplina XO passando da Settings e di conseguenza bloccando la scansione in corso, ho aggiunto un menu contestuale che permette tale manovra (ed anche altro) durante le scansioni facendo semplicemente un click destro nell’area di stato del pannello Spectrum Analyzer con tracking e scegliendo l’azione desiderata:

Il menu pop-up che permette di controllare la funzione discipline XO durante le scansioni

Multithread Max instant bandwidth

Con il multithreading abilitato, Satsagen esegue una serie di processi dedicati che si occupano di acquisire in tempo reale dal dispositivo SDR il flusso di dati (stream).

Questo avviene solo se lo Span impostato dall’utente rientra nel massimo bandwidth istantaneo del dispositivo SDR.

Se il sistema PC/USB o Ethernet/SDR non è sufficientemente veloce, avvengono degli overflow che sono conteggiati e visualizzati sotto il display dello spettro con la voce OF.

In situazioni limite, dove la frequenza degli overflow è alta, con determinati dispositivi SDR possono avvenire dei blocchi o i thread che si occupano dell’acquisizione possono chiudersi in modo inaspettato fermando la visualizzazione dello spettro.

Per evitare i suddetti blocchi e chiusure inaspettate, è possibile impostare in configurazione il massimo instant bandwidth oltre il quale Satsagen spegne l’acquisizione in tempo reale commutando in una modalità più lenta, ma che non produce più blocchi e chiusure inaspettate.

Per impostare tale soglia andare in Settings alla scheda Extra:

Il selettore per impostare il massimo instant bandwidth

La voce Max instant bandwidth è di default impostata sulla massima velocità del dispositivo (Device MAX); è possibile quindi posizionarla da un minimo di 5 MSPS fino ad un massimo di 56 MSPS. Il valore corretto deve essere trovato effettuando dei test, per esempio partendo dal valore più basso e innalzandolo fino a quando il sistema “regge” senza provocare blocchi o chiusure inaspettate.

SATSAGEN INTERFACE


Franck F1SSF ha prodotto un interessante circuito stampato che raccoglie tutte le interfacce del progetto USBDAALBFER (Video).

Franck's SATSAGEN INTERFACE REV. E
Il PCB di Franck SATSAGEN INTERFACE REV. E


Con il PCB di Franck e Satsagen si può:

  • Alimentare un Noise Source per effettuare misure di Noise Figure and Gain Analyzer.
  • Collegare una scheda ADF5355 PLL synthesizer ed usarla come un dispositivo TX di Satsagen
  • Collegare una scheda AD831x log detectors per effettuare misurazioni di potenza fino a 10 GHz
  • Ottenere degli ingressi digitali ed analogici per utilizzare gli spectrum analyzer triggers
  • Pilotare SNA esterni con una rampa da 0 a 10 V sincronizzata con le scansioni SNA/VNA di Satsagen
  • Connettere un RF switch per abilitare le due porte effettive nella modalità VNA

Scarica i Gerber files o se vuoi puoi contattare Franck F1SSF, ma la disponibilità di PCB è limitata perché non ha un vero e proprio stock.

Scarica lo sketch Arduino da compilare e caricare sull’interfaccia.


Di seguito le istruzioni di Franck sul montaggio e calibrazione della sua realizzazione:

Hi All, Some information here. This PCBA is the first realization:

  • Inserted components except Nano and resistors 0U:
    • Use IBom:
  • Power UP:
    • Power supply on 12V IN connector
  • ADF5355 power supply
    • Measure R10 pad = 6V, if OK solder R10=0U
  • Step Up 28V – Warning, add modify R19 as below picture
    • Measure R23 pad, adjust P3 to obtain 28V max, If OK solder R23=0
  • Detector Step Up = ON:
    • Measure divider R2/R3, you must have 3Vmax
  • +15V DAC
    • Measure R13 pad = 15V, if OK solder R13=0U
  • Power OFF
  • Solder wires directly on serial chip Arduino (see schematic for pin numbers)
    • Plug Arduino on support for removal easily, and solder wires DCD = TP1, RI=TP2
  • Check the values of the ADF5355 voltage dividers
    • R12/R22. R16/R24. R18/R25
  • Now you can connect all peripherals
    • Use connectors J6 , J11, J5, J7, J10
  • +3V ref
    • Adjust P4 to have +3V on Arduino pin ref N°18
  • Configure Satsagen in tracking mode 0 to 6Ghz
    • See on J3 voltage ramp from 0V to about 12V.

SW1 allows you to select the operating modes of the Arduino, depending on the use.

You can deport SW1, LED1, and LED3 on the front end with J11 and J9.

If you move the LEDs, then remove the SMD LEDs or if you leave them, then change the R6 and R22 to adapt the current. SW1 can stay on board.

J1 / J2 / J10 Footprints are BNC connectors, but you can use SMA connectors after cutting legs. You solder ground around directly around the body.

Because the ADF5355 consumes approximately 200mA, it is recommended not to exceed 12V power supply to reduce the dissipation of the 6V regulator. I added a small radiator with thermal glue.

If your RF switch HMC536 already contains 100U resistors on ports A and B under the shield, replace R34 and R35 with 0U.

73’s  Franck F1SSF


Questa immagine ha l'attributo alt vuoto; il nome del file è Schematic_e01-1024x704.png
Schema dell’interfaccia di Franck Rev E-01

Questa immagine ha l'attributo alt vuoto; il nome del file è image1.png
Porzione dello schema relative al MT3608 step-up a 28 Volts con la R19 da aggiungere

Questa immagine ha l'attributo alt vuoto; il nome del file è image2.png
Particolare del montaggio della 2k2 R19 da aggiungere

Questa immagine ha l'attributo alt vuoto; il nome del file è image4.png
Il regolatore da 6 Volt con il piccolo dissipatore

SATSAGEN v.0.8.0.0

Download Page

I punti salienti di questa versione sono:

Cambiamenti importanti in Satsagen 0.8.0.0

Rimando alla fine dell’articolo l’elenco dei cambiamenti importanti da leggere per non trovarsi eventualmente in difficoltà utilizzando questa nuova versione. Forse andavano collocati qui, ma mi dispiaceva togliere troppo spazio in testa ai punti salienti!

Noise Figure and Gain Analyzer

L’analizzatore di NF/G si integra nello spectrum analyzer di Satsagen con l’ausilio dei marcatori per la configurazione delle frequenze, IF e bandwidth dei dispositivi in prova. L’analizzatore si basa sul metodo Y-Factor.

Occorrente:

Per effettuare le misure occorrono una sorgente di rumore con annessa tabella di caratterizzazione ENR e un dispositivo SDR con adeguata sensibilità supportato da Satsagen. Inoltre sarebbe necessaria, ma comunque facoltativa, un’interfaccia che sia in grado di alimentare a 28V la sorgente di rumore e che sia pilotabile dall’applicazione.

Ho ottenuto dei risultati attendibili e comparabili con strumenti quali l’Eaton 2075 utilizzando un ADALM-PLUTO o un RTL-SDR v3 come ricevitori SDR. Il bandwidth massimo utilizzabile e consigliato per le misure risulta essere di circa 1 MHz con ADALM-PLUTO e di 500 kHz con RTL-SDR v3. Tuttavia si possono utilizzare bandwidth superiori con i suddetti due dispositivi SDR, ma a scapito dei tempi di misura e precisione.

La sorgente di rumore che ho utilizzato nelle prove è una NH 5-12 costruita da Mauro IZ1OTT e caratterizzata in comparazione con una HP346B. La NH 5-12 di Mauro ha ENR media di circa 6.67 dB da 40 MHz a 10368MHz.

Possono essere utilizzati anche altri SDR supportati da Satsagen oltre a quelli citati sopra, ma per quello che ho potuto appurare, non si hanno garanzie di successo nelle misure per tutte le canoniche frequenze radioamatoriali coperte dai dispositivi SDR senza l’impiego di ulteriori LNA da anteporre all’ingresso degli SDR per migliorarne la sensibilità.

La bontà delle misure è legata dal binomio sorgente di rumore e SDR, dove per la sorgente di rumore è importante il valore ENR che sia sufficiente, ma non eccessivo e caratterizzato in una tabella mediante strumentazione professionale. Per gli SDR sono importanti sensibilità di ricezione e ovviamente un adeguato SNR.

Alcune note a riguardo da Mauro IZ1OTT:

<<Data la scarsa sensibilità degli SDR, si raccomanda l’interposizione di un preamplificatore tra il DUT e la SDR, specialmente in caso di misura di DUT con Gain basso (< 20 dB) o addirittura nullo. Riguardo l’ENR delle sorgenti, solo le teste commerciali hanno già una tabella con valori intorno ai 15 dB, adatte quindi per ogni tipo di misura. ENR inferiori, ottenibili con l’interposizione di un attenuatore, possono migliorare la precisione di misura per basse NF (ENR~NF), in ragione di un migliore adattamento tra DUT e sorgente.>>.

Come primo test empirico per escludere che il proprio sistema SDR/sorgente di rumore sia del tutto inutilizzabile, verificare dopo la calibrazione – mantenendo la sorgente di rumore collegata direttamente al RX del SDR – che non siano segnalati errori da Satsagen e che i valori letti di cifra di rumore e di guadagno non oscillino oltre i +/- 0.2dB per tutte le frequenze di misura che ci interessano.

Per quanto riguarda l’interfaccia di alimentazione della sorgente di rumore – al momento della scrittura di questo articolo – si hanno due possibilità di scelta supportate da Satsagen: usare un Arduino Nano o compatibile con questo sketch e uno Step-Up converter più un optoisolatore (schema circuito semplificato, schema circuito con controllo tensione) oppure utilizzare la linea RTS (attivo alto) della seriale del proprio PC (o di una interfaccia seriale USB/Seriale) che piloti un optoisolatore o un mosfet collegati all’alimentazione dei 28V. Va detto che Satsagen offre comunque la possibilità di misure one-shot anche senza l’ausilio della suddetta interfaccia; occorre in questo caso alimentare la sorgente di rumore manualmente nelle fasi di calibrazione e di misura, ovviamente il tutto a scapito di comodità e velocità nelle misure.

Infine, per migliorare l’adattamento d’impedenza verso l’ingresso del SDR, consiglio di inserire il solito attenuatore sull’ingresso RX del SDR, da 1 dB o al massimo 3 dB.

Operazioni preliminari:

Inserimento tabella ENR

Prima di tutto va inserita in Satsagen la tabella ENR in modo che l’applicazione possa caricarla ad ogni avvio del programma. Eseguire Satsagen, andare nella scheda Settings->Computations, aprire il tool di editing della tabella ENR con un click sul pulsante ENR INI Edit Tool:

Inserire a questo punto i valori ENR della sorgente di rumore a nostra disposizione (ricordati di selezionare la casella Append per facilitare l’inserimento dei dati) in questo modo ad esempio per la sorgente che ho utilizzato:

Al termine della compilazione, esportare con un click sul pulsante Export in un file, per esempio Documenti\satsagen\settings\mioENR.ini. Chiudere il tool ed inserire il suddetto percorso completo nella casella File ENR INI e dare OK (per facilitare l’inserimento, fare click sul pulsante … per la scelta diretta del file):

Selezione SDR e interfaccia pilota power noise source

Procedere in questo modo utilizzando un ADALM-PLUTO come SDR:

Andare in Settings->Devices e scegliere, come di consuetudine, il device SDR che si andrà ad utilizzare, in questo caso un ADALM-PLUTO. Mantenere le altre impostazioni così come da immagini:

Andare quindi nella scheda EXT in/Out e configurare l’interfaccia selezionando dalla lista Noise source power interface:

Misurare un DUT amplificatore:

Ad esempio, abbiamo un LNA in banda 23cm di cui vogliamo misurare la cifra di rumore e il guadagno in un bandwidth di 400 kHz:

  • Avviare lo spectrum analyzer di SATSAGEN
  • Aprire la tabella marcatori con un click sul pulsante Edit SA markers della toolbar
  • Compilare i campi ReqFrequency con la frequenza in Hz desiderata, in questo caso 1296000000, Span (è il bandwidth) con 400000 e CalcMode con NF/G (scegliere la voce NF/G dal menu a tendina). Confermiamo la creazione del marcatore con un click sul pulsante Post della toolbar:
  • A questo punto fare un click sul pulsante ON della scheda NF/G Analyzer:
Se si notano componenti indesiderate o altri transitori nello spettro all’interno della finestra grigia di acquisizione, è possibile spostare tale finestra (il marcatore) manualmente tramite i tasti J e K della tastiera o mediante la rotella del mouse, fino a quando la finestra non comprenda uno spettro “pulito” con solo il noise floor, cercando di evitare di includere la componente DC presente al centro.

SATSAGEN configurerà automaticamente tutti i parametri dello spectrum analyzer quali frequenza centrale, Span, RX gain, FFT size, video filter size ed altro, conformi per la misura di cifra di rumore e guadagno del DUT. Va detto che, terminate le misure, SATSAGEN riporterà tutti i parametri modificati dello spectrum analyzer ai valori utente precedenti.

  • Connettere il noise source alla porta RX del Pluto e avviare la calibrazione del sistema facendo un click sul pulsante Cal SYS del pannello NF/G Analyzer, dopo circa 12 secondi la calibrazione dovrebbe completarsi e il pulsante Cal SYS diventare di colore verde.
L’interfaccia noise source power come si può notare è più complessa del necessario, in quanto si tratta di un prototipo che ha anche altre funzioni, tra le quali gli ingressi trigger digitali e analogici, la possibilità di pilotare sintetizzatori PLL come l’ADF5355 e switch RF per l’utilizzo in modalità VNA.
La calibrazione del sistema è completata.
  • Connettere il DUT ed alimentarlo, dopo pochi secondi otterremo le misure di cifra di rumore e gain relative.
SATSAGEN riporta un guadagno del DUT di circa 14,5 dB e di una cifra di rumore di 4.0 dB a 1296 MHz.

Le misure del DUT amplificatore sono terminate. Chiudere l’analizzatore di NF/G cliccando sul pulsante verde ON del pannello NF/G Analyzer o spegnendo lo Spectrum Analyzer.

Misurare un DUT convertente, ad esempio un transverter:

Per misurare un DUT convertente si procede con la stessa modalità vista in precedenza per il DUT amplificatore, con la sola differenza nella compilazione del marcatore, dove per i DUT convertenti si deve inserire anche la frequenza IF, ovvero dell’oscillatore locale del dispositivo in prova. Se si misura come down-converter, la frequenza IF va inserita con segno negativo.

Ad esempio, abbiamo un transverter dei 13 cm e vogliamo misurarlo come down-converter da 2304 MHz a 144MHz:

  • Avviare lo spectrum analyzer di SATSAGEN
  • Aprire la tabella marcatori con un click sul pulsante Edit SA markers della toolbar
  • Riutilizzando un record preesistente di tipo CalcMode NF/G o creandone uno nuovo, compilare i campi ReqFrequency con 2304000000, Span con 400000, IF Frequency con -2160000000 e CalcMode con NF/G. Confermare con un click sul pulsante Post della toolbar la creazione/modifica del marcatore.
  • Fare un click sul pulsante ON della scheda NF/G Analyzer per avviare l’analizzatore:
Come si può notare, lo spectrum analyzer si sintonizza sulla frequenza in uscita del transverter, 144 MHz (2304MHz-2160MHz=144MHz).
  • Connettere il noise source alla porta RX del Pluto e avviare la calibrazione del sistema facendo un click sul pulsante Cal SYS del pannello NF/G Analyzer, dopo circa 12 secondi la calibrazione dovrebbe completarsi e il pulsante Cal SYS diventare di colore verde.
  • Connettere il transverter in prova ed alimentarlo, dopo pochi secondi otterremo le misure di cifra di rumore e gain del DUT convertente:
In prova il no-tune transverter Down East Microwave 2304 MHz WA8NLC
SATSAGEN misura un guadagno del DUT convertente di circa 14,4 dB e di una cifra di rumore di circa 2,8 dB.

Le misure del DUT convertente sono terminate. Chiudere l’analizzatore di NF/G cliccando sul pulsante verde ON del pannello NF/G Analyzer o spegnendo lo Spectrum Analyzer.

Digital Phosphor Display

Un analizzatore di spettro può effettuare migliaia di acquisizioni al secondo in base alle impostazioni. A queste alte velocità di acquisizione, per le caratteristiche tipiche dei monitor dei PC attuali e dell’occhio umano, molte delle informazioni visualizzate possono risultare impercettibili e andare irrimediabilmente perse.

Un tempo, alcuni strumenti di misura, come ad esempio gli oscilloscopi, usavano tubi catodici con fosfori a lunga persistenza che permettevano di vedere tanto i veloci transienti quanto di analizzare meglio eventi molto lenti.

Alcuni importanti produttori di analizzatori di spettro hanno pensato di riprodurre digitalmente la caratteristica dei vecchi tubi con fosfori a lunga persistenza, questa tecnologia è chiamata Digital Phosphor Display.

Su suggerimento di Bruno IK1OSG, ho pensato di dotare anche Satsagen del DPD, anche se in una forma credo semplificata.

Dal pannello SA DPD fare click sul pulsante Digital Phosphor Display per attivare tale funzione.

A differenza della già presente funzione di Max Hold che “fotografa” e permette di vedere eventi veloci, purché di intensità maggiore ai precedenti, il DPD mantiene visibili tutti gli spettri acquisiti indipendentemente dall’ampiezza, per un tempo (persistenza) impostabile dall’utente tramite i controlli presenti nel tool panel della finestra DPD. Inoltre le successive sovrapposizioni possono essere discriminate grazie al fatto che il DPD le colora diversamente, passando da una scala che parte dal blu per arrivare al colore rosso. Anche questo livello di profondità di colore è impostabile dall’utente dal tool panel DPD.

Poiché il DPD deve necessariamente contare le occorrenze per ogni punto di risoluzione, gli spettri acquisiti sono riversati da Satsagen in una memoria a matrice bitmap. Per tale ragione è necessario definire la dimensione di lavoro del bitmap. Tale impostazione si effettua dal pannello SA DPD con i controlli Max Data Samples (asse X) e Amp Samples (asse Y), di default i valori sono 1024 x 64.

Un possibile rovescio della medaglia di tale tecnologia è la normalmente più bassa risoluzione rispetto alla visualizzazione classica dello spettro, per cui la visione risulta più “squadrettata”, soprattutto se sottoposta a zoom.

E’ possibile ovviare alla granulosità della visualizzazione del DPD aumentandone la risoluzione tramite i suddetti controlli Amp Samples e Max Data Samples, ma occorre tenere conto del conseguente esponenziale aumento di occupazione di memoria e progressivo carico gravoso della CPU del sistema.

Per venire incontro a tale problematica del DPD e individuare il giusto compromesso nelle impostazioni per qualità di risoluzione e velocità di esecuzione, ho pensato di impostare una finestra di lavoro sull’asse Y dell’ampiezza, in modo che l’utente possa definire il limite minimo e massimo in dBm entro il quale gli Amp Samples sono renderizzati. Tali controlli Min e Max sono accedibili dal riquadro Amplitude nel tool panel della finestra DPD.

In alto la visualizzazione dello spettro aggiornata ogni 16ms circa. In basso la finestra DPD. In questo esempio Sono presenti due sorgenti RF attive, la prima è un CW in scansione da 2447 MHz a 2457 MHz e una sorgente wireless (mouse) in fase di ricerca dispositivo ricevente da circa 2461 MHz a oltre 2475 MHz. Come si può notare, nella visualizzazione classica è visibile soltanto il CW in un istante preciso della scansione.

Riepilogo controlli del Digital Phosphor Display:

Pannello SA DPD
  • Pulsante Digital Phosphor Display: accende o spegne il DPD
  • Lista Amp Samples: definisce in pixel la risoluzione asse Y
  • List Max Data Samples: definisce in pixel la risoluzione asse X
Tool panel finestra DPD
  • Manopole Min e Max: definiscono la finestra di lavoro espressa in dBm nella quale effettuare il rendering asse Y
  • Pulsante Reset: Azzera la persistenza facendo ripartire il rendering da un display vuoto
  • Manopola Depth: definisce il livello di profondità della persistenza. Se impostato a 10 come nell’esempio, le acquisizioni che supereranno i 10 hits, perché più frequenti dell’intervallo della persistenza, andranno perse.
  • Manopola Display Max: definisce il mapping tra il livello di profondità della persistenza e la scala colori. Se impostato come nell’esempio, dove il map è 1 a 1 con il livello di profondità della persistenza, la prima occorrenza sarà in colore blu e la decima in colore rosso. Portando invece ad esempio il Display Max a 5, la prima occorrenza sarà sempre in colore blu, ma dalla quinta alla decima saranno in colore rosso.
  • Manopola Persistence: definisce la persistenza in secondi a passi di 1 ms per ogni pixel nel display. Per esempio, l’impostazione di 0.23 secondi determina la cancellazione dal display del singolo evento registrato 230ms prima. A fianco della manopola sono visualizzati due valori. Il primo è la persistenza, il secondo è la persistenza massima totale di ogni pixel, in sostanza Depth x Persistence.
  • Pulsante Res Adapt: Adatta la risoluzione dei dati asse X alla dimensione in pixel della finestra DPD, in modo che eventuali segnali presenti più “stretti” della risoluzione video siano comunque visualizzati. Se si utilizza la funzione di zoom, la funzione Res Adapt andrebbe spenta al fine di usufruire del massimo dettaglio disponibile.
  • Pulsante Hold: “Congela” la visualizzazione.
  • Pulsante ZReset: Azzera eventuali fattori di zoom di entrambi gli assi X ed Y.

Zero Span

Zero Span è una modalità dello spectrum analyzer che permette la visualizzazione dell’ampiezza di un segnale in funzione del tempo.

Per attivare questa modalità fare click sul pulsante Zero Span con lo Spectrum Analyzer già in funzione.

Nella modalità Zero Span, i controlli Span MHz, Full Band e Span Coupled sono disattivi e una apposita manopola Time Base è visibile nel pannello.

La frequenza di lavoro può essere specificata come di consueto con il controllo Frequency kHz e il resolution bandwidth con il controllo RBW.

Time Base permette l’impostazione della base tempi con passi di 1 ms, 2 ms, 5 ms, 10 ms, 20ms, 50ms, 100ms e 500ms. Il Time Base si intende per l’intera escursione dell’asse X, quindi per esempio se è impostato a 10 ms, con una scala in dieci divisioni si ottiene 1 ms/div.

I valori sulla scala dell’asse X dello scope sono espressi in ms e sono visualizzati nella precisione dei decimali selezionata dall’utente. La scala potrebbe non terminare con un numero intero, va detto infatti che con un Time Base impostato a 10ms, la scala potrebbe terminare in base alle caratteristiche del sistema per esempio a 10,048ms.

Questo è dovuto anche alla natura intera dei punti che formano la visualizzazione. La formula della risoluzione dell’asse X è la seguente: TimeBase/(1/(MSPS/FFTSize)). Con un TimeBase di 10ms, un MSPS di 8000000 ed FFTSize di 512 si ottengono 156,25 punti. I punti devono essere necessariamente arrotondati a 157, per cui il TimeBase effettivo è di: punti_risoluzione (1/(MSPS/FFTSize)) = 0.010048 secondi.

Alcuni valori della base tempi sono strettamente legati alle frequenze di campionamento disponibili nel dispositivo SDR ed alle caratteristiche del computer in uso. Per esempio se l’hardware SDR non consente sampling rate superiori a 2,4MSPS, i valori di 1ms, 2ms e 5ms non sono disponibili.

Satsagen sceglie automaticamente il sampling rate migliore per il dispositivo SDR selezionato. Per esempio, con un RTL-SDR, Satsagen imposta il sampling rate a 2,4MSPS. Date le costanti di un FFT size di 512 e una risoluzione minima di 40 punti, si ha una base tempi che parte da 10 ms in poi con il suddetto dispositivo. E’ possibile ottenere una impostazione di Time Base più veloce usando SDR più performanti, ma le caratteristiche del computer e dell’applicazione diventano via via sempre più importanti per il corretto funzionamento della modalità Zero Span.

In tali circostanze, possiamo agire tramite la manopola MSPS dai controlli estesi per individuare il sampling rate migliore per il nostro sistema (SDR/Computer/Satsagen) al fine di ottenere una base tempi più veloce in assenza di errori di acquisizione. Per accedere ai controlli estesi, fare click sulla scritta RBW:

Procedura per verificare il corretto funzionamento del modo Zero Span e individuare il migliore sampling rate:

  • Collegare un generatore esterno modulato in AM al nostro SDR
  • Avviare lo spectrum analyzer e la modalità Zero Span
  • Impostare Frequency kHz e RBW adatti per visualizzare il segnale dal generatore
  • Dal pannello SA Triggers attivare Video e ruotare la manopola Level su un livello idoneo per ottenere una visualizzazione “ferma” del segnale in ingresso. Se occorre, fare click su Level della manopola Trigger per passare da uno Slope negativo a positivo o viceversa.
  • Ruotare la manopola MSPS aumentando o diminuendone il valore al fine di individuare il più alto sampling rate nel quale la visualizzazione risulti ferma e completa.
In questo caso il sampling rate è superiore alla capacità del sistema per un regolare funzionamento dello Zero Span, si verificano overflow e perdita di informazioni.

Una volta individuato il valore migliore di MSPS, l’impostazione verrà automaticamente salvata e caricata nelle successive sessioni di Satsagen con il dispositivo SDR per il quale si è effettuato il tuning.

Attivando il modo Zero Span, lo spectrum analyzer passa dalla visualizzazione in dominio di frequenza ad una visualizzazione in dominio del tempo, per cui tutte le unità riferite all’asse X del display, ai marcatori ed ai cursori sono espresse in ns, us o ms. I marcatori inseriti in modo Zero Span sono di Type = Time ed hanno il campo Time valorizzato in nanosecondi ed ovviamente non sono disponibili nella modalità classica in dominio di frequenza dello spectrum analyzer; analogamente i marcatori inseriti in dominio di frequenza non sono disponibili in Zero Span.

In modo Zero Span le funzioni di MKR Monitor e di Digital Phosphor Display possono essere attivate, mentre non è possibile aprire waterfall.

Il modo Zero Span non si attiva (il pulsante lampeggia di colore rosso e poi si spegne) nel caso una o più delle seguenti condizioni è vera:

  • La modalità Full Band è attiva
  • Il Noise Figure/Gain Analyzer è attivo
  • Il device di ricezione non è un SDR
  • Lo spectrum analyzer non è in funzione
  • Il multithreading non è attivo
  • Uno dei filtri LO F o E F è attivo
  • La frequenza impostata è troppo bassa. La frequenza minima impostabile in modo Zero Span corrisponde approssimativamente alla frequenza minima del device SDR più la frequenza di campionamento diviso per otto.

USRP B200mini e NI USRP 2920

Grazie all’infinita generosità dei miei amici radioamatori, ho avuto in prestito per alcuni mesi un USRP B200mini e un NI USRP 2920. Ho pensato potesse essere interessante aggiungere il supporto in Satsagen per i suddetti performanti SDR.

Premetto che i risultati ottenibili in Satsagen non sono unicamente condizionati dalle caratteristiche dei dispositivi SDR collegati, ma in buona parte anche dalla qualità del computer e delle periferiche di comunicazione annesse, oltre ovviamente dalla bontà del software!

Per tali ragioni mi prendo tutte le colpe nel caso non riusciste ad ottenere mediante Satsagen i risultati sperati con i suddetti USRP; la tecnologia di Satsagen è in continua evoluzione e i computer a mia disposizione per lo sviluppo e i test possono non aver avuto i requisiti necessari per il pieno utilizzo di questi performanti SDR.

Se non si desidera il supporto in Satsagen per i dispositivi USRP, è possibile escludero in fase di installazione da custom setup, deselezionando la voce USRP Support sotto DefaultProgram.

B200mini

Come è noto, il prerequisito per ogni hardware che si va ad installare è il driver. Visitare questa pagina Ettus driver per l’installazione in Windows dei pacchetti necessari. Alcuni USRP, come il B200mini, hanno anche bisogno dei file di firmware e FPGA installati sul computer, in modo che possano essere caricati sul dispositivo al primo utilizzo. Questi file sono contenuti nei package UHD; effettua il download e l’installazione del più recente package uhd_x.x.x.x-release_Win32_VS2017.exe dalla directory Windows-10-x64.

Per l’utilizzo del B200mini occorre installarne i driver; dalla suddetta pagina effettuare il download da Download and install Windows UHD USB Drivers, sezione Post-Install Tasks.

Terminata l’installazione di UHD e dei driver, connettere il B200mini ad una porta USB3 del computer e verificare in Gestione computer->Gestione dispositivi che sia presente un Ettus Research LLC B200mini sotto USRPs.

Avviare quindi Satsagen e da Settings->Devices->Model scegliere la voce USRP B200mini. Potrebbero essere necessari circa dieci secondi prima che il dispositivo venga visualizzato, in questo lasso di tempo l’applicazione potrebbe risultare bloccata in quanto impegnata con l’upload del firmware verso il dispositivo.

Controllare nella tab Device Options che la voce CM recv frame size sia selezionata. Questa opzione aggiunge il parametro recv_frame_size=131072 agli argomenti della connessione; è un parametro custom che ho constatato essere utile per migliorare le prestazioni di comunicazione con Satsagen.

A questo punto si può chiudere Settings confermando su Ok e cliccare sul pulsante Power di Satsagen.

Anche in questo caso, al primo collegamento con il B200mini, saranno necessari alcuni secondi prima che l’interfaccia risulti operativa per via dei tempi di upload dei file per la FPGA verso il dispositivo.

Ora si può usare Satsagen come di consueto, collegato con l’SDR B200mini.

Di seguito alcune note importanti per l’utilizzo di B200mini in Satsagen:

Il B200mini ha il transceiver AD9364, della stessa famiglia del AD9363 di ADALM-PLUTO, per cui le caratteristiche di range di frequenza e bandwidth sono simili al Pluto, ma con alcune differenze dovute principalmente al firmware ed alla diversa progettazione del front-end RF.

  • L’output TX può arrivare a circa 20 dBm su alcune frequenze grazie ad un booster interno
  • Probabilmente a causa del suddetto amplificatore, il cross-talk risultante è abbastanza importante.
  • La modalità armonica non è disponibile per il B200mini, in quanto non sono riuscito ad ottenere risultati soddisfacenti già a partire dalla terza armonica dei 2 GHz (6 GHz).
  • I transceiver AD936x hanno la banda base condivisa tra RX e TX, per cui l’utilizzo in full-duplex può risultare limitato e produrre effetti come la produzione di componenti indesiderate ed altro. Inoltre la calibrazione automatica del TX a cura del firmware del B200mini, richiede che il bandwidth filter del RX sia impostato sempre a 56MHz (il massimo valore).
  • La FPGA non è programmata come DDS in TX, per cui lo stream TX impegnerà sempre la CPU del computer e la banda USB. Poiche la banda base è condivisa, in un utilizzo full-duplex, come nel caso dello Spectrum Analyzer e del generatore entrambi attivi, il sampling rate della sezione TX è allineato al RX. Se per esempio si impostano 10 MHz di span nello Spectrum Analyzer, Satsagen è costretto a generare ed inviare al dispositivo lo stream TX a circa 20 MSPS. Per tali ragioni, può succedere che una impostazione di span prossima al massimo bandwidth del dispositivo possa addirittura compromettere la bontà dell’output TX, in quanto Satsagen e il computer non riescono a produrre ed inviare uno stream verso il dispositivo senza errori.
  • Ho notato una leggera lentezza nella quadratura e riduzione automatica della componente DC nei cambi di frequenza in ricezione. Questa lentezza si riflette nei tempi complessivi di scansione quando si utilizza lo Spectrum Analyzer in modalità swept-mode, cioè da 31 MHz di span in poi.

NI USRP 2920

Ho aggiunto il supporto e testato il dispositivo NI USRP 2920 usando il firmware USRP2/N-Series Ettus Research.

Anche altri programmi, come GNU Radio o SDR Console possono utilizzare il NI USRP 2920 con il firmware USRP2/N-Series Ettus Research. Tale configurazione tuttavia non è supportata da National Instruments.

Declino ogni responsabilità in caso di malfunzionamenti, blocchi, perdita di dati o compromissione della sicurezza del PC derivanti da operazioni svolte seguendo questo tutorial.

Il NI USRP 2920 comunica con il computer mediante una connessione di rete gigabit ethernet. Normalmente il NI USRP 2920 di fabbrica ha un indirizzo nella classe C 192.168.10.x. La rete del PC deve essere configurata in modo che possa raggiungere tale indirizzo.

Nella maggior parte dei casi, i PC sono configurati con un indirizzo dinamico in classe C 192.168.1.0, per cui il modo più semplice e veloce per far comunicare il PC con il NI USRP 2920, se per esempio il PC ha indirizzo appartenente alla suddetta classe C, come può essere 192.168.1.100, è di assegnare staticamente al PC l’indirizzo specificando una subnet mask 255.255.0.0 in vece di 255.255.255.0.

Come nel caso del B200mini, visitare questa pagina Ettus driver per l’installazione in Windows del package UHD; effettua il download e l’installazione del più recente package uhd_x.x.x.x-release_Win32_VS2017.exe dalla directory Windows-10-x64.

Una volta installato il package UHD, connettere in rete NI USRP 2920 ed accenderlo.

Da un prompt dei comandi, effettuare un change nella directory di SATSAGEN: cd C:\Program Files (x86)\albfer.com\SATSAGEN quindi eseguire ..\..\UHD\bin\uhd_usrp_probe.exe

L’utility uhd_usrp_probe effettuerà una ricerca dei dispositivi in rete mediante multicast, quindi anche senza conoscere l’indirizzo IP del NI USRP 2920 potrà raggiungerlo ed interrogarlo.

Se l’utility non riconoscerà il dispositivo come USRP2 / N-Series Device, non ne elencherà le caratteristiche e potrà presentare un errore come il seguente:

In tal caso, seguendo le suddette istruzioni potremo caricare il firmware USRP2/N-Series Ettus Research sul nostro NI USRP 2920, in modo che possa esssere “visto” da Satsagen e anche da altri programmi SDR come un USRP2 / N-Series Device.

Una volta terminata l’installazione del firmware mediante l’utility uhd_images_downloader.py, ed aver nuovamente controllato con l’utility uhd_usrp_probe.exe la configurazione del NI USRP 2920, possiamo eseguire Satsagen e collegarlo al SDR.

Avviare quindi Satsagen e da Settings->Devices->Model scegliere la voce USRP2 (N210/2920).

Controllare nella tab Device Options che la voce CM recv frame size sia selezionata. Questa opzione aggiunge il parametro recv_frame_size=131072 agli argomenti della connessione; è un parametro custom che ho constatato essere utile per migliorare le prestazioni di comunicazione con Satsagen.

Come si può notare, la modalità armonica per NI USRP 2920 è disponibile.

A questo punto si può chiudere Settings confermando su Ok e cliccare sul pulsante Power di Satsagen.

Ora si può usare Satsagen come di consueto, collegato con l’SDR NI USRP 2920.

Di seguito alcune note importanti per l’utilizzo di NI USRP 2920 in Satsagen:

  • Il range di frequenze vanno da circa 68 MHz (circa 58 MHz sfruttando 10 MHz di span in sola ricezione) a circa 2,2 GHz.
  • La modalità armonica è disponibile, attivandola, la ricezione e trasmissione si può estendere da 2,2 GHz fino ad arrivare a 6,4GHz
  • Il dispositivo non ha una granularità fine nell’impostazione dei sampling rate. Per esempio, se l’utente imposta 4 MHz di Span nello Spectrum Analyzer, corrispondenti a 8 MSPS, Satsagen configurerà il sampling rate di ricezione a 8 MSPS, ma il dispositivo ritornerà il valore di circa 7,7 MSPS. Questo si riflette sull’effettiva scala visualizzata, in uno span inferiore a ciò che l’utente ha richiesto. Anche nella modalità Zero Span, il time base potrebbe non risultare perfettamente in scala con i passi 10 ms, 20 ms, 50 ms, etc, perché direttamente legati al sampling rate del dispositivo. Non so se questa particolarità è dovuta al firmware Ettus Research.
  • Ho notato che il lock del PLL su alcune determinate frequenze non funziona. Per esempio, con il dispositivo che ho avuto in esame, non è possibile impostare il PLL di TX alla frequenza di 127328760 Hz. Non so se anche questo malfunzionamento è dovuto all’utilizzo di un firmware non NI.
  • Ho notato altresì una importante lentezza nell’annullamento della componente DC in ricezione in seguito ai cambi di frequenza. Questa lentezza comporta una visualizzazione delle righe di DC quando lo spectrum analyzer è in modalità swept-mode:
400 MHz di span corrispondono a 40 cambi di frequenza del LO di ricezione

Si può ovviare a tale visualizzazione “disturbata” attivando il filtro E F:

L’opzione CBX-120.

Il NI USRP 2920 può ospitare delle opzioni in sostituzione della scheda front-end RF.

Ho potuto testare il NI USRP 2920 con a bordo l’opzione CBX-120, la quale permette di ottenere un range di frequenze in fondamentale da circa 1,2 GHz a 6 GHz.

Questa configurazione è abbastanza singolare, poiché la CBX-120 è normalmente destinata ai più performanti SDR della serie X della NI, difatti con la serie X tale scheda permette di raggiungere 120 MHz di bandwidth, mentre se utilizzata in un NI USRP 2920 si ottengono circa 25 MHz di bandwidth (50 MHz con profondità 8 bit).

Per utilizzare in Satsagen un NI USRP 2920 con a bordo la CBX-120 è necessario selezionare il dispositivo USRP2 (N210/2920) w/CBX120 da Settings->Devices->Model.

La modalità armonica con la CBX-120 non è attivabile.

Spettrometro AS7265x

Da tempo pensavo a quanto sarebbe stato intrigante visualizzare in Satsagen i dati prodotti da uno spettrometro ottico, in una rappresentazione non più come di consueto in MHz, ma in lunghezze d’onda nm!

La recente riproposizione di uno spettrometro dal costo abbordabile per l’hobbista in un noto blog di progetti elettronici, mi ha convinto che doveva essere il momento giusto per realizzare il suddetto desiderio.

Lo spettrometro in questione utilizza tre sensori della AMS, serie AS7265x, capaci ognuno di misurare sei lunghezze d’onda con filtri gaussiani larghi circa 20nm, per un totale di 18 sensori/lunghezze d’onda misurate.

Non si tratta di uno strumento professionale dal costo proibitivo, ma nonostante questo AMS lo propone per svariati campi di applicazione nell’analisi dei materiali, tra i quali l’anticontraffazione, la ricerca di prodotti adulterati, in orticoltura e nella spettroscopia portatile in generale.

Questo articolo scritto da Boris Landoni, Technical Manager di Futura Group, è una completa descrizione dello spettrometro in oggetto.

La demo board che ho utilizzato è pilotabile dal PC tramite una connessione seriale. Poiché i livelli della seriale dello spettrometro sono a 3,3V, risulta conveniente utilizzare una interfaccia USB/seriale come per esempio FTDI232 per completare il collegamento con il PC.

Il mio prototipo di spettrometro AMS AS7265x su breadboard con interfaccia USB/seriale FTDI232

Utilizzare lo spettrometro AS7265x con Satsagen è abbastanza semplice:

  • Collegare lo spettrometro al PC
  • Assicurarsi che all’interfaccia USB/seriale sia stata assegnata una porta controllando da gestione dispositivi di Windows che il ramo Porte (COM e LPT) contenga una voce USB Serial Port come nell’immagine seguente
  • Aprire Satsagen e da Settings->Devices-Models scegliere la voce AS7265X Spectrometer.
  • Satsagen individuerà automaticamente lo spettrometro interrogando le porte disponibili nel sistema e ne visualizzerà il numero di COM e la versione del dispositivo nella casella Spectrometer Device
  • Confermare con OK la chiusura di Settings e accendere Satsagen con un click sul pulsante Power, da questo istante il programma farà partire un thread dedicato alla comunicazione con il dispositivo, difatti si noterà dai led dell’interfaccia seriale una costante attività di traffico dati.
  • Fare click sul pulsante Spectrum Analyzer (Spectrometer) per far partire la visualizzazione dei dati in arrivo dallo spettrometro.
In questo esempio ho puntato lo spettrometro verso lo schermo bianco del PC

I dati in arrivo dai sensori AMS sono visualizzati di default in curve gaussiane su una scala lineare di intensità (I) che va da 0 a 65535, tali curve riproducono le caratteristiche dei reticoli di diffrazione dei sensori.

Se si desidera, è possibile attivare una visualizzazione a barre cliccando sul pulsante Bar Graph:

Tramite il controllo Gain si imposta il guadagno dei sensori su quattro step:

  • 0=1X
  • 1=3,7X
  • 2=16X
  • 3=64X

Mentre dal pannello dedicato Spectrometer è possibile impostare l’integration time (tempo di esposizione) in millisecondi tramite la manopola ITime e la modalità di calibrazione

La calibrazione in sostanza applica una tabella di 18 moltiplicatori ai valori letti dai sensori del dispositivo.

Se si sceglie la voce Device dalla lista Calibration mode, la calibrazione è demandata al dispositivo con i dati contenuti nella memoria dello stesso, mentre la voce Custom permette all’utente di specificare la tabella di calibrazione con un file .INI.

Va fatto notare che la calibrazione demandata al dispositivo è piuttosto impegnativa per le poche risorse del microcontroller del sensore principale, per cui incide sui tempi di sweep time nell’ordine di circa 60ms per ciclo.

L’installazione di Satsagen crea un file di esempio di calibrazione in Documenti\satsagen\settings con nome altdefcfg_SPM.ini. Per rendere attiva la calibrazione Custom è sufficiente aprire con blocco note il suddetto file, modificarne all’occorrenza i valori e salvarlo nella stessa directory con nome altdefcfg.ini, quindi selezionare la voce Custom dalla lista Calibration mode.

Dal pannello normalmente dedicato al Generatore di Satsagen, è possibile comandare l’accensione dei LED a bordo dello spettrometro con un click sul pulsante LEDs

Se si possiede uno spettrometro AMS con LED adatti ad essere variati in intensità, è possibile impostare l’intensità di corrente dei LED mediante il controllo Pwr su quattro step:

  • 1=12,5 mA
  • 2=25 mA
  • 3=50 mA
  • 4=100 mA

Molte delle funzioni di Satsagen usate in ambito RF sono disponibili anche con lo spettrometro, quali i triggers, Min Hold, Max Hold o il Waterfall:

Anche i marcatori possono essere utilizzati, per esempio per misurare differenze di intensità o soprattutto per innescare delle azioni in seguito al superamento di livelli con segnali acustici o producendo delle esportazioni dei dati di lettura.

Se interessati, consiglio la lettura dei paragrafi Marker Monitor e Auto esportazione dati di spettro in questo articolo.

Spero che il supporto dello spettrometro in Satsagen possa tornare utile per chi si approccia in tale ambito, anche solo come utility per testare i dispositivi della serie AS7265x o come riferimento per eventuali sviluppi di applicativi ad-hoc.

Fatemi sapere delle vostre esperienze in merito, grazie!

Cambiamenti importanti in Satsagen 0.8.0.0

  • Spectrum Analyzer multithreading: Le nuove funzioni di Satsagen quali il Noise Figure analyzer, il Phosphor display e la modalità Zero Span, richiedono un uso importante del multithread con conseguente carico della CPU/core del PC. Poiché ho sempre desiderato che il programma possa essere utilizzato senza che si blocchi anche su PC con poche risorse e non proprio di recente costruzione, ho aggiunto la possibilità di disabilitare il multithreading, con il rovescio della medaglia che ovviamente, una volta disabilitato, alcune delle suddette funzioni non saranno più disponibili, o saranno comunque fruibili, ma in una forma limitata, più lenta. Se occorre, disabilitare quindi la voce Multithreading nella tab Extra in Settings.
  • Autozoom: In molti mi hanno fatto sapere che la funzione di autozoom era fastidiosa, soprattutto perché annullava un’eventuale impostazione di scala quando si facevano ripartire le scansioni SNA o VNA. Ora l’autozoom è disabilitato di default, inoltre mediante la manopola dB/div è possibile impostare la scala dell’asse Y con passi di 1 dB, 2 dB, 5 dB, 10 dB e via di seguito.

Poiché ora l’autozoom è disabilitato di default, può succedere che in seguito ad un cambiamento di gain o dei livelli del segnale in ingresso, la traccia sullo schermo non sia più visibile; è un’eventualità che può capitare sia in modo spectrum analyzer che in SNA o VNA. In tal caso cliccare sul pulsante TFinder (e accanto alla suddetta manopola dB/div) e Satsagen riporterà in pochi secondi di nuovo visibile la traccia sullo schermo.

Infine, se non si gradisce questa nuova modalità, è possibile ritornare al vecchio modo di zoom delle precedenti versioni abilitando la voce Zoom OldStyle, nella tab Appearance in Settings.

  • Le opzioni dei dispositivi: Nella tab Devices in Settings, erano presenti delle opzioni relative ai device che permettevano di abilitare il modo armonico, l’auto TX calibration, il direct sampling, etc… Ora questi controlli sono stati spostati e meglio organizzati visivamente in base ai modelli dei dispositivi selezionati, nella nuova tab Device Options sempre sotto Settings.