Archivi tag: sdr

Noise e Cavità

Per attivare una stazione di ascolto presso la Torre della Facoltà di Ingegneria dell’Università Politecnica delle Marche, ho dovuto rimettere le mani su dei vecchi filtri in cavità che erano stato acquistati per il progetto iRGP negli anni 90. Ricordo che, all’epoca li avevamo tarati utilizzando un bell’analizzatore di spettro con tracking generator.

Dovendo ritarare il sistema per adattarlo alle nuove condizioni operative (WebSDR, ne riparleremo) ho deciso di procedere in un altro modo, soprattutto per evitare di scarrozzare l’analizzatore di spettro in giro per la Facoltà. Mi sono servito di un noise generator e di un ricevitore SDR.

Il noise generator è un prodotto molto semplice ed economico, acquistato per pochi dollari su ebay. Lo avevo acquistato alcuni anni addietro per fare delle prove di larghezza di banda su una IF.

Il ricevitore SDR è il famoso AIRSPY MINI, corredato da una versione aggiornata di SDR# e dall’utilissimo SpectrumSpy. Questo programma trasforma il ricevitore SDR in un analizzatore di spettro a larga banda e consente di fare delle misure piuttosto interessanti, anche se piuttosto limitate in dinamica ed in tempo di risposta.

Nelle due immagini che seguono, la risposta in frequenza del filtro in cavità prima della taratura e dopo la taratura.

Scegliendo in modo opportuno lo “span” dell’analizzatore è possibile ottenere una risposta del sistema molto rapida, che consente di apprezzare facilmente le minime variazioni di taratura.

WebSdr – PmSDR and RTL-SDR configuration Guide

PMSDR is a small, cheap and high quality SDR Receiver. It was conceived by Martin Pernter Iw3AUT some years ago. I have been using it for both hobby and scientific research, loving its stability and ease of use.

After a long time, during which the receiver collected dust on a shelf in my office, I decided to bring it again to life for the WebSDR project. I’ll not give details on the work of PA3FWM, please visit its site to learn about its work.

The WebSDR project is addressed both to hamradio  enthusiast both to students of the University where I work. SDR technologies are wide spread and it’s time to talk about this subject in the telecommunications oriented courses that are held at University. So I think that the possibility to show some real application of SDR can support the learning path of students, trying to catch their curiosity.

Phase 1 of the projects requires to setup a basic system, using PMSDR and RTL-SDR dongle in order to evaluate performances and get acquainted with WebSDR software.

RTL-SDR.
Configuring the dongle to work in WebSDR is quite easy. It requires the installation of rtl-sdr package in order to provide rtl_tcp command.

After connecting the dongle to the PC, you can check it has been correctly recognised with the lsusb command.

websdr@websdr:~$ lsusb
Bus 002 Device 002: ID 0bda:2832 Realtek Semiconductor Corp. RTL2832U DVB-T

In order to let the dongle receive and forward data, you can use the rtl_tcp program. It will create a socket and stream I/Q samples through it. Put this command in your rc.local file to execute it as a daemon during computer boot.

rtl_tcp -a 127.0.0.1 -p 65144 -f 145000000 -d 0

Remembre that if you want to change the receiving frequency, you have to modify THIS script, otherwise nothing will happen. The command stated shows -p switch, in order to set the streaming port, the -f to set the working frequency and -d to address a specific device in case you have multiple dongles.

WebSDR configuration lines for RTL-SDR are very simple:
#rtl_sdr per i 3cm
band 3cm
device !rtlsdr 127.0.0.1:65144 85
samplerate 2048000
centerfreq 681000
antenna lnb

The “85” shows the amount of ppm correction to apply in the frequency.

PMSDR
Setting up the PMSDR may be a little “tricky”. First of all you have to consider this is a “near-zero IF SDR”: it will provide an audio baseband signal to a sound-card. First of all you have to setup an ALSA sound system. If you (like me) are not very familiar with Linux audio world, well “don’t panic”. The sound-card I use with PMSDR is USB connected. So let’s check it:

websdr@websdr:~$ lsusb
Bus 002 Device 002: ID 0bda:2832 Realtek Semiconductor Corp. RTL2832U DVB-T
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 002: ID 041e:30df Creative Technology, Ltd

Now it’s time to hadle permissions for using the soundcard:
websdr@websdr:~$ cat /etc/udev/
hwdb.d/ rules.d/ udev.conf
websdr@websdr:~$ cat /etc/udev/rules.d/90-creative.rules
ACTION==”add”, SUBSYSTEM==”usb”, SYSFS{idVendor}==”041e”, SYSFS{idProduct}==”30df”, GROUP=”audio”
websdr@websdr:~$

Now you should be able to use the “magic” command:
websdr@websdr:~$ arecord -l
**** List of CAPTURE Hardware Devices ****
(…)
card 1: Pro [SB X-Fi Surround 5.1 Pro], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0

Before trying to go any further is mandatory to check if ALSA can support your hardware. In any other case all your efforts will result in a total loss of time. According to ALSA site, the SB X-Fi in UNSUPPORTED.

So let’s give up and try another Audio Adapter, this time embedded device:

root@websdr:~# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 2: ALC662 rev1 Alt Analog [ALC662 rev1 Alt Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0

WebSDR configuration file wants to know 3 parameters: card,device, subdevice. Using this command we can retrive all data we need, as the card number is “0”, the device is “0” and the device is “0” as well. Write this parameters and  forget them.

Now you need a way to interact with PMSDR internal PIC in order to program the internal oscillators. More over, if your PMSDR is equipped with a Downconverter board, you have to program it as well. There is a small,yet realiable and easy-to-use, client which was written by Andrea Montefusco and is available on sourceforge. You have to build it, so install gcc and read carefully the installation notes. After the program has been built, run it by “pmsdr”. There is an embedded help system.

Linux PMSDR 2.0/2.1 control program, version 2.5.1
Original code by Martin Pernter IW3AUT
Linux porting by Andrea Montefusco IW0HDV
www.obdev.at – DG8SAQ-I2C
Interface 0 claimed.
Firmware reports version 2.5.0
Si570 detected.
CY22393 detected.
Downconverter Board detected.
Si570 on Downconverter Board detected.
Type ‘help’ or ‘?’ for get online help.
/tmp/PMSDRcommands FIFO unavailable [No such file or directory]
Input switched to standard input.
—> help

<command> [<value>] //
FREQUENCY : f <d> // f 7050000 == ( 7.050,000 kHz)
F3Harmonic : f3 <d> // f3 100300000 == ( 100.300 MHz)
FREQUENCY Dc : fd <d> // down converter conversion frequency in Hz
FILTER : filter <d> // 0 (no filter),1 (2-6MHz),2 (5-12MHz),3 (10-24MHz), 4 (<2MHz)
DFILTER : dfilter <d> // 0 (down converter bypass), 1 (VHF filter), 2 (UHF filter), 3 (unfiltered)
QSDbias : qsdbias <d> // qsdbias 512 (default), 346-692 (interval allowed)
QSDmute : qsdmute <on,off> // qsdmute on, qsd off (i.e. 0,1
STOREfreq : memf <d> // store init freq into PMSDR EEPROM f 585000 == (585,000 kHz)
STOREfreq3 : memf3 <d> // store init f3/3 into PMSDR EEPROM
RESTORE freq : rmemf // restore init freq from PMSDR EEPROM
PRINTlcd : plcd <col> <row> <message_text> // print the message text at specified coord on the LCD
QUIT : quit // exit from pmsdr
HELP : help // this help!

INPUT-SEQUENCE-example:
->help,filter 4,f 1611000,f 585000,memf 585000,filter 0,f3 100300000,quit

In order to set PMSDR for 2m reception you need to program downconverter first:
dfilter 1
fd 116000000
In this way 144MHz is downconverted to 28MHz. So the next step is
filter 0
f 28000000
save it!
memf 28000000.

Now let’s go back to WebSDR and let’s write some configuration for PMSDR as well:
#pmsdr per i 2m
band 2m
#alsa devices are: card/dev/subdev
device $hw:0,0,0
samplerate 96000
centerfreq 144320

Some screenshot taken with lab equipment, showing the receiver busy in demodulating a carrier at 144.290 MHz (frequency choosen where the waterfall was clean).

So the work is over. Everything should be fine and you should be able to run the server. I’m still very disappointed that I was unable to use a better soundcard. I did some testing with a PCI M-Audio Audiophile 2496 but I was unable to let it work.

AirSpy

Finalmente è arrivata!!!
(questo articolo è in attesa di essere pubblicato dal 3 ottobre 2016)

Packaging minimale, ottima imbottitura, grande protezione  e dentro la chiavetta! Completamente in alluminio, con un bel connettore SMA femmina installato. Il tempo di collegarla al PC e già funziona. Non richiede driver o procedure perverse di installazione. Davvero un dispositivo Plug ‘n Play.

img_20161003_122946

Ho scaricato l’ultima versione di SDR# ed ho avviato la ricezione: eccellente! Il front-end è meno predisposto alla intermodulazione, lo spettro visualizzato è pulito ed i segnali si vedono decisamente peggio.

Forse lascia sul terreno qualche cosa in termini di guadagno: le conversazioni su satelliti MIL a 256 MHz non riesco a riceverle, ma sono piccoli dettagli.

La possibilità di visualizzare una porzione molto ampia di spettro è fantastica ed apre la scena a numerose applicazioni, anche in ambito didattico. Ecco qualche screenshot di SDR# della simpatica applicazione “analizzatore di spettro” che vedo molto bene in congiunzione con il generatore di rumore ad ampio spettro per fare qualche prova sui filtri in cavità. Antenna televisiva, in paese. La prima con 100MHz di span e la seconda in full Bandwidth.

Costa… vero… ma ne vale davvero la pena!!!

Gli aeroplani

La mia prima esperienza con la decodifica del sistema ADS-B risale a qualche anno fa. Avevo giocato con un bellissimo ricevitore della Kinetic Avionic e con il suo programma Basestation.

Mi sono nuovamente cimentato con questa attività, mettendo in campo una chiavetta basata su RTL2832U e tuner 802T. L’antenna è (udite udite…) autocostruita, realizzata qualche anno fa e lasciata a fermentare sul davanzale dell’ufficio. Lo schema è quello presentato sul numero di Aprile di RadioKit Elettronica da Alberto Zanutto. Lo schema si trova anche in giro per la rete.

 

Il tutto è collegato alla ormai immancabile Cubieboard che funge da server. Per fare delle prove in locale ho usato il software rtl_adsb, che restituisce tutti i dati raw. Dopo queste prime prove, ho rediretto l’output del programma su un socket:
rtl_adsb | netcat -lp 8080

PLanes_03

Per decodificare i dati RAW ho trovato un fantastico programma scritto da Joerg Bredendiek. Questi mantiene un sito davvero ricchissimo di  informazioni, che vi invito a visitare (anche se la lingua potrebbe essere un ostacolo). Il software da lui scritto si chiama adsbscope27 e si può scaricare da qui. Funziona molto bene e consente anche la connessione come client di rete.

Dopo qualche ora di funzionamento sono riuscito a ricevere moltissime informazioni e mi possono davvero ritenere soddisfatto. Considerando la PESSIMA posizione della mia antenna e della mia casa, riuscire a ricevere qualche cosa è davvero un miracolo.

PLanes_02

E adesso? Adesso sto pensando di mettere i dati a disposizione del sistema flightradar24, in quanto la ricezione in questo modo è divertente ma… dopo che ho visto che funziona… mi annoia!

Buon divertimento!!!

Sdr Server

Qualche tempo addietro, un radioamatore della zona (IW6ATQ) mi ha fatto vedere un software davvero interessante. Si tratta di una suite client server, mirata all’utilizzo di apparati SDR in rete.

Il software in questione è rilasciato da sdr-radio.com e si tratta della suite SDRconsole ed SDRserver in versione v2.

Test bed la composto dalla solita chiavetta RTL2832 con chipset 820T, collegata ad un calcolatore con processore ATOM, un ABACO che ha ormai parecchi anni sulle spalle ma li porta benissimo. Su questa piattaforma gira un sistema operativo Microsoft t 32bit. Ho installato tutto il software necessario ed avviato la utility rtl_tcp. Concettualmente è molto semplice: rtl_tcp invia i dati al server SDR, il quale provvede a effettuare la loro distribuzione ai client che si connettono. Il comportamento del server può essere ottimizzato per sfruttare al meglio le caratteristiche della connessione di rete.

1  4

Mi sono messo a giocare un po’ con questo sistema nella rete locale, caratterizzata da prestazioni di tutto rispetto. Le prime prove mi hanno lasciato davvero stupito: audio molto intermittente e lentezza nella risposta ai comandi. Dopo essermi connesso al calcolatore remoto ho scoperto che le risorse di CPU necessarie per fare girare il software dignitosamente sono eccessive per la potenza di calcolo di cui dispongo. Se la CPU sale sopra il 40% la qualità di ricezione cala molto, soprattutto cercando di ascoltare un WFM. Dopo avere ridotto molto la dimensione della FFT le cose sono migliorate un poco, anche se l’esperienza di uso è rimasta molto deludente.

Nulla da eccepire sul software, molto ben studiato sial lato client che server. Ha una struttura a pannelli che richiede un minimo di assuefazione ma è discretamente intuitivo da utilizzare. Una volta effettuata la connessione, sembra di usare un sistema residente localmente (soprattutto lavorando in banda stretta).

2 3

Il risultato grafico dell’ascolto (o tentato tale) di una emittente FM stereo è il seguente:

5

Morale della favola, un ottimo prodotto che, se abbinato ad un calcolatore di nuova generazione, sarà in grado di offrire ottime prestazioni e tante ore di divertimento!

 

 

National Instruments VST

Oggi ho avuto la possibilità di mettere le mani su un sistema molto interessante prodotto da National Instruments: il VST, acronimo di Vector Signal Transceiver.

In soldoni si tratta di un dispositivo in grado di funzionare contemporaneamente da generatore vettoriale (quindi modulabile attraverso i segnali I/Q in banda base) e ricevitore vettoriale (quindi in grado di demodulare praticamente ogni tipo di segnale). Maggiori dettagli QUI

Si tratta di un sistema basato su bus PXI, composto pertando da tre moduli fondamentali:

  • lo chassis, che ospita i moduli e può essere declinato in diverse dimensioni;
  • il modulo di controllo;
  • i moduli aggiuntivi.

Attraverso questo paradigma è possibile cucirsi addosso uno strumento, integrando solo i moduli che effettivamente servono, ed aumentando la scalabilità nel tempo.

IMG_20150217_090749

Il sistema che è stato presentato è in grado di lavorare da 65MHz a 6GHz con una larghezza di banda di 80MHz in tempo reale. Si presenta particolarmente bene, con numerosi connettori e possibilità di estrazione ed inserimento dei segnali:

IMG_20150217_091859

A tutti gli effetti si tratta di uno “strumento definito dal software”, il primo programma che ho avuto il piacere di testare è quello che replica le funzioni di un generatore e analizzatore vettoriali.

IMG_20150217_093646

In pratica ho generato un segnale e mi sono messo a giocare con SPAN e RBW per vedere quanto riuscivo a scendere. I risultati mi hanno impressionato. Qui si lavora con una FFT in tempo reale, pertanto scendere a RBW imbarazzanti è un attimo. Notevole anche il livello di rumore minimo ottenibile.

IMG_20150217_112520 IMG_20150217_112056

Qualche riflessione. Le possibilità di misura e di studio offerte da una sistema di questo tipo vanno davvero oltre l’immaginazione. Nel breve “hands-on” di questa mattina sono stato in grado di generare e studiare segnali confacenti agli standard GSM – LTE – GPS, il tutto armeggiando solo con mouse e tastiera. Per la didattica sarebbe un toccasana, per lo sviluppo di nuovi dispositivi o la certificazione di esistenti, idem. Questa è infatti la chiave di lettura di questo sistema. Non possiamo paragonare il VST ad un analizzatore di spettro da rack con tracking. Certo, funziona ANCHE in quel modo ma non nasce per queste applicazioni.

La vera potenza del sistema è il software, che consente di fare funzionare i due dispositivi come richiesto dallaparticolare esigenza di misura o di studio. Anche il punto debole di questo sistema è nel software: basta scrivere qualche idiozia per trovarsi immediatamente con risultati dubbi o del tutto errati (basti pensare agli errori di troncamento).

Ritengo che questi sitemi SDR (…perchè in fondo di questo si tratta…) caratterizzeranno la nostra vita in laboratorio nei prossimi anni. Pertanto, invece che dubitare del software, sarebbe meglio iniziare a capire come scriverne di ottimo, in modo da non trovarsi troppo in difficoltà quando verrà il momento di rimpiazzare il buon vecchoi AMIQ ed SMIQ.

Software Defined Greetings a tutti.

ADS

Acronimo di Automatic Dependent Surveillance è una tecnologia, ormai ben nota, attraverso la quale gli aerei trasmettono in broadcast alcuni dettagli sulla loro posizione. I segnali sono trasmessi a 1090MHz e fino a qualche anno addietro erano ricevibili attraverso apparecchiature piuttosto costose prodotte dalla Kinetic Avionics. Adesso basta una chiavetta basata su RTL 2832 dal costo di 12 euro,  un antenna ed un filtrino per potere fare esperienza in questo senso.

Ho provato anche io a cimentarmi con questa ricezione, memore dei bei risultati ottenuti con il ricevitore SBS-1 che avevo usato tanti anni addietro. Il programma che ho usato lo ho scelto da questo sito ed è RTL1090. Si tratta di un ricevitore dedicato che effettua uno streaming dei dati attraverso porte TCP o UDP. Per la visualizzazione dei dati occorre avere un altro software che li riceva e li presenti all’utente. Per questo ho usato VirtualRadar, programmino che si configura in 10 minuti e funziona alla perfezione.

ads_02

Ho iniziato una sessione di ascolto in ufficio e, dopo  un po’, sono riuscito a visualizzare i miei primi aerei.

ads_01

Poca, pochissima cosa, ma sono con una antenna interna, e 5 metri di RG58.

DSC_1181

Ho riprovato da casa e non sono riuscito a combinare nulla. I motivi sono molteplici.  A casa ho l’antenna sul tetto, ma è una bibanda per 144MHz/430MHz. Non ho idea di come si possa comportare a 1 GHz. Il cavo che uso è un RG213 (ne ho circa 20 metri) che i suoi 5-6dB se li mangia sicuro. Il codino di connessione è realizzato con 1m di RG58 che ne perde almeno un’altro. Morale della favola: sarebbe strano se arrivasse qualche segnale!

SDR# sempre più forte.

Questa mattina ero alla ricerca di un modo per potere ricevere più canali contemporaneamente con SDR#. Mi sono imbattuto in questo sito che presenta solo plug-in per il software SDR#.

Il sito è in Russo, ma google translate consente una facile lettura in Inglese. Dopo qualche lettura mi sono deciso ad utilizzare l’installer proposto dal sito ed a inserire tutti  i plugin nella mia versione di SDR#. L’installer ha fatto bene il suo dovere ed ha richiesto solo un intervento manuale per configurare i VFO multipli, andando ad editare il file “Plugins.xml”.

<sharpPlugins>
    <add key="IQ Balancer" value="SDRSharp.IQCorrection.IQCorrectionPlugin,SDRSharp.IQCorrection" />
    <add key="Noise Blanker" value="SDRSharp.NoiseBlanker.NoiseBlankerPlugin,SDRSharp.NoiseBlanker" />    
    <add key="BasebandRecorder" value="SDRSharp.BasebandRecorder.BasebandRecorderPlugin,SDRSharp.BasebandRecorder" />
    <add key="TimeShift" value="SDRSharp.TimeShift.TimeShiftPlugin,SDRSharp.TimeShift" />
    <add key="DSD" value="SDRSharp.DSD.DSDPlugin,SDRSharp.DSD" />
    <add key="DCSDecoder" value="SDRSharp.DCSDecoder.DCSDecoderPlugin,SDRSharp.DCSDecoder" />
    <add key="CTCSSDecoder" value="SDRSharp.CTCSSDecoder.CTCSSDecoderPlugin,SDRSharp.CTCSSDecoder" />
    <add key="Digital Audio Processor" value="SDRSharp.DAP.DAPPlugin,SDRSharp.DAP" />
    <add key="Digital Noise Reduction" value="SDRSharp.DNR.DNRPlugin,SDRSharp.DNR" />
    <add key="Zoom FFT" value="SDRSharp.ZoomFFT.ZoomFFTPlugin,SDRSharp.ZoomFFT" />    
    <add key="AudioRecorder" value="SDRSharp.AudioRecorder.AudioRecorderPlugin,SDRSharp.AudioRecorder" />    
    <add key="Frequency Scanner" value="SDRSharp.FrequencyScanner.FrequencyScannerPlugin,SDRSharp.FrequencyScanner" />
    <add key="Frequency Manager" value="SDRSharp.FreqMan.FreqManPlugin,SDRSharp.FreqMan" />
    <add key="AuxVFO-1" value="SDRSharp.AuxVFO.AuxVFOPlugin,SDRSharp.AuxVFO" />
    <add key="AuxVFO-2" value="SDRSharp.AuxVFO.AuxVFOPlugin,SDRSharp.AuxVFO" />    
    <add key="AuxVFO-3" value="SDRSharp.AuxVFO.AuxVFOPlugin,SDRSharp.AuxVFO" />
    <add key="AuxVFO-4" value="SDRSharp.AuxVFO.AuxVFOPlugin,SDRSharp.AuxVFO" />
</sharpPlugins>

E’ un mare di roba. Lo so. Le ultime 4 righe consentono di avere 4 VFO indipendenti e di ascoltare quini 4 canali contemporaneamente ed in modo del tutto indipentente. Il front end adesso è piuttosto affollato:

Sdr_Complete

Un dettaglio sulla barra di sinistra:

Sdr_Complete1

Il breve video che segue mostra l’uso di 4 VFO per monitorare 5 canali contemporaneamente (4 VFO + VFO di sintonia). Interessante notare come, una volta agganciata la frequenza, il VFO la tracci anche al variare della frequenza centrale di sintonia.

Buon Ascolto!

Un po’ di SDR

Da qualche tempo ormai mi diletto con gli SDR. In particolare con la declinazione di questa tecnologia che prevede l’uso delle DVB-T dongle. Ho acquistato un paio di queste chiavette su ebay, per una manciata di euro. Unitamente al software SDR# mi danno delle ottime soddisfazioni.

Qualche tempo addietro mi sono imbattuto in delle comunicazioni un po’ strane ad una frequenza in cui immaginavo di trovare solo del DAB (ed in effetti è li vicino).

sdr_blog_20141212_04

Si tratta di comunicazioni in fonia che riesco a ricevere solo se “pompo” al massimo il guadagno degli stadi analogici del ricevitore. L’antenna che utilizzo non aiuta di sicuro, essendo lunga 30 cm ed essendo posizionata tra la finestra ed un pilastro. Con un po’ di attenzione ho capito che l’idioma parlato assomiglia al portoghese.

Ricordo un articolo, letto mesi prima, relativo alle “incursioni” dei pirati brasiliani nella vecchia banda satellitare militare. Bingo. Controllo i dati su alcuni siti di riferimento e trovo conferma al fatto che sto ascoltando una comunicazione proveniente, con molta probabilità, dal satellite FLTSATCOM 8 posizionato a 15°W. Questo satellite fa parte di una costellazione operata da U.S. Navy realizzata alla fine degli anni 70. Caratteristica dei satelliti è quella di avere una antenna di 4.9m che la rende in grado di operare nel range di frequenza delle VHF. Di seguito qualceh screenshot:

sdr_blog_20141212_01 sdr_blog_20141212_02

sdr_blog_20141212_03

Un esempio audio:

Non avete nulla da fare? Provate a fare una spazzolata in frequenza tra 245 MHz e 260 MHz, ma ricordatevi che non è lecito trasmettere su queste frequenze!

Riferimenti essenziali:
http://www.satellitenwelt.de
http://www.uhf-satcom.com/