venerdì 27 luglio 2018

Appunti su DSD con GQRX e RTL-FM in Linux

Sistemando il Thinkpad con Ubuntu Linux, dopo la prematura dipartita del Chromebook.

DSD, il software originale per la decodifica del DMR, ha bisogno di audio campionato a 48000 Hz. Su alcuni pc / schede audio che lavorano a 44100 l'esecuzione fallisce con questo messaggio:
Error message: Invalid sample rate
Il problema si può aggirare utilizzando padsp, un wrapper pensato per mantenere compatibilità con i device audio legacy di Linux che si occupa anche del necessario resampling.
>padsp dsd
Digital Speech Decoder 1.7.0-dev (build:v1.6.0-86-g7ee04e5)
mbelib version 1.3.0
Audio In/Out Device: /dev/audio
La tecnica funziona anche quando vogliamo alimentare DSD direttamente da GQRX o RTL_FM per l'impiego con la nostra SDR preferita.
Esempi:

=== con GQRX, dopo aver attivato lo stream UDP ===
socat stdout udp-listen:7355 | padsp dsd -i -
=== RTL-FM ===
rtl_fm -f 145.125M -M fm -g 100 -s 70K -r 48K -E dc| padsp dsd -fr -i –

Bonus track: quando non esiste il device /dev/audio e/o il sample rate non è compatibile, anche il flag -n per disattivare l'output sugli altoparlanti non viene riconosciuto, anche se la scheda audio non verrebbe impiegata in alcun modo.
>socat stdout udp-listen:7355 | dsd -i - -n
Digital Speech Decoder 1.7.0-dev (build:v1.6.0-86-g7ee04e5)
mbelib version 1.3.0
Disabling audio output to soundcard.
Error, couldn't open /dev/audio
2018/07/27 08:45:23 socat[3592] E read(1, 0x55ba6bcafbc0, 8192): Bad file descriptor
Per ovviare al problema basta, nello stile Unix, usare come output il device NULL:
socat stdout udp-listen:7355 | dsd -i - -o /dev/null

venerdì 9 marzo 2018

GenComm GC7105b Base Station Analyzer


Here's the new toy in the shack.
Less than 10 years ago (mine has a 2010 board revision) these instruments retailed for over $50k but these days you can get some nice reconditioned units for around $1k from Korea, where they are probably phased out in favour of new 5G capable tools.
And yet they can be extremely useful in the lab of a radio hacker.
Features packed in my unit, excluding all the mobile phone protocol analyzers:


  • 100 kHz - 4 GHz spectrum analyzer
  • 25 MHz - 4 GHz single port VNA
  • 10 MHz - 4 GHz power meter
  • "interference analyzer" software, allowing to signals in waterfall and map levels to GPS positions


Maybe I'm wrong, but it appears that all units were created with the same hardware and the different functions are enable just by adding the proper software keycode. I enquired around to see if I could get a license to enable bias-T and 2 ports VNA measurements on my units but with no luck.

JDViewer software works when connected via USB. No luck with the others or via LAN.


Related thinkering: probing the instrument via LAN revealed it runs a 2.6 Linux o.s. and there's TELNET and FTP ports open. Unfortunately I didn't manage to brute force into them.
Yet the discovery opens up the possibility of backing up the disk and have a deeper inspection offline.



Cracking it open revealed that o.s. is stored on a 2Gb SD-card: making a backup (dd utility under Linux) is a good idea anyway, being one of the most likely points of failure. Pulling it out requires taking away a large number of screws from the control board and the SMA nuts on the outside. You don't need to take it off completely: just slide it enough to have clearance for the SD to come off.
Hopefully it'll still work this evening when I close it back.


O.s. image alone might not be enough for a restore, in case there's a link to the card serial number, but there may be ways around that.
Moreover, the following can be investigated:

  • getting out the passwords, that may be the reason software doesn't work via LAN
  • understanding the licensing mechanism

giovedì 25 maggio 2017

Volpino - trasmettitore ARDF basato su Arduino e DDS

Grazie ai modulini a basso costo che arrivano dall'oriente oggi è possible realizzare trasmettitori per ARDF agili in frequenza, a basso costo e in pochissimo tempo, se escludiamo quello necessario alle poste per recapitarci il pacchettino.
La realizzazione minima mette a disposizione un oscillatore dalla ridotta potenza di uscita (regione di -12dBm / 0,06mW) che occorrerà integrare con un finale per uso sul campo.

Ingredienti:
  • Arduino Nano - circa €3 al pezzo per i cloni cinesi.
  • modulo DDS. Nel mio caso basato su AD9850. Quando li acquistai io si trovavano a circa €3 al pezzo, forse perché si trattava di uno stock con il filtro passabanda in uscita mal disegnato. Oggi lo stesso costa attorno ai €10. Con ogni probabilità si possono usare anche altri moduli più economici, per esempio ne vedo al momento in vendita basati su AD9833 a meno di €5: la copertura in frequenza è limitata a 12,5MHz e quindi idonea per le "volpi" in 80 metri.

Le connessioni tra Arduino e modulo DDS si limitano a tre pin:
Il DDS può essere alimentato direttamente dai 5V regolati in uscita dall'Arduino.
Sul mio modulo il segnale RF sinusoidale è prelevabile dal piedino "ZOUT1".

La modulazione in CW viene ottenuta, all'atto pratico, generando una FSK piuttosto lenta: nei momenti di riposo del trasmettitore in realtà viene irradiata una portante a una frequenza arbitraria che potremo sopprimere con un filtro passa basso. Già impostando la frequenza di riposo al doppio di quella di operazione l'antenna ci darà una mano, con il suo disadattamento, a sopprimere il secondo segnale.
Nel video qui sotto ho impostato l'offset a pochi kHz in modo da renderlo visibile sul waterfall.


Queste sono le specifiche richieste dai trasmettitori ARDF 80m nella regione 1 IARU:

Perché lo sketch funzioni è necessario installare nell'ambiente Arduino la libreria di "radio Artisan" K3NG.

Frequenza e testo da trasmettere si possono modificare in queste righe del codice:
// Declare variables...
#define strBeacondID "MOE"
long frequency = 3580000LL;
long offset = 7160000LL;
Lo sketch può essere scaricato da GitHub all'indirizzo qui sotto.
Per il momento ho implementato soltanto la trasmissione in loop, ma conto di renderlo anche conforme alle specifiche IARU.

https://github.com/Sinager/Volpino.git

domenica 24 luglio 2016

FT817 - riparazione della commutazione per il lineare

Dopo l'esperienza con l'857, quando un amico ha riscontrato un'analoga anomalia al suo FT817 mi sono offerto di verificare se si fosse trattato dello stesso problema, dato che le Yaesu della serie 8x7 hanno schemi virtualmente identici.
In questo caso il transverter connesso alla presa ACC andava sempre in trasmissione, invece di essere azionato dal PTT. In effetti il pin relativo risultava in corto su GND.
Stavolta il componente da sostituire non è stato il transistor Q1046 (2SD2211) ma il diodo D1057 (D1F20).
E' possibile che la causa del guasto sia stato il tentativo di commutare un relé che non aveva il diodo di protezione attraverso la bobina e ha generato un transiente negativo. Per bruciare un diodo da 200V 1A deve essere stata una bella schicchera.

In questo stadio ci sono solo altri due componenti che potrebbero guastarsi: di sicuro non vorrò essere io a sostituire C1225 o R1188 su un FT817 perché sono minuscoli SMD che si trovano in mezzo piazzati in mezzo ai connettori posteriori. Salvo non essere dei virtuosi delle pinzette a becco lungo, c'è il rischio di dover rimuovere la presa ACC, che non sarà una passeggiata.





venerdì 22 luglio 2016

FVC99 VCO 10GHZ

E' un oggetto che si trova per pochi soldi su eBay.
Sfortunatamente non c'è molta letteratura in rete che permetta di valutarne la reale utilità in progetti a microonde.
Ne acquistai uno con l'intento di farne l'oscillatore locale o di un transverter (i famosi moduli Eyal-Gal) o un'estensione di frequenza per il mio analizzatore di spettro, che si ferma a 1,5GHz.

Gli unici link che ne parlano sono questi:
E' quest'ultimo a menzionare l'esistenza di modelli dalla copertura leggermente diversa: celui-ci couvre dans mon cas de 9,5 à 10,7 Ghz d'autres modèles plus anciens couvraient de 9 à 10,3 Ghz , ce qui ne convient pas pour toute la bande , avec 0 à 5.5 v on couvre la bande amateur.

Siccome un amico aveva necessità di una sorgente di segnale da usare come riferimento nella riparazione del proprio transverter, ho voluto finalmente trovargli un'applicazione.
Il montaggio che si vede in fotografia è ridotto all'osso: un 7805 per l'alimentazione e un LM317 per la VTune.
I primi test hanno purtroppo fatto intuire subito come l'esemplare in mio possesso fosse per la banda "bassa", con un Fout di 10,2GHz appena prima dei 5V.
Siccome lo schema di SM7PNV prevede un pilotaggio di VTune anche poco sopra i 6V indicati sul datasheet come Absolute Maximum Rating, ho voluto provare a seviziarlo oltre. La caduta sul campo del componente è prevista come opzione.
Ho spinto sino a 7,5V prima di arrendermi all'evidenza che il modulo non sarebbe arrivato a 10,368. Non sono andato oltre perché in ogni caso il lock oltre i 6,5V è molto sporadico.
Questo è il grafico tensione/frequenza del mio esemplare:
Curiosamente a 5V si rifiuta di agganciare in maniera lineare, così come sotto i 3,5V.

Purtroppo sul datasheet non ci sono indicazioni circa eventuali codici che aiutino a distinguere tra le diverse coperture in frequenza.
Le uniche cose che possono notare confrontando la mia unità con quella di F4FDW sono:
  • un codice "D01" in fondo alla 4a riga di testo, che per il collega cisalpino è invece "B01"
  • un numero seriale che punta a lotti molto diversi, senza lasciar capire nulla di più
Avete anche voi esperienza con questo VCO? Ogni aggiunta attraverso i commenti è benvenuta.

sabato 29 agosto 2015

Modificare il BJ-150V - 2 aggiunta del PTT esterno

La commutazione solo a RF non è affidabile in SSB, portando a sganci nelle pause di modulazione. Ecco come aggiungere una commutazione esterna che funziona nel modo abituale: quando si chiude verso terra l'amplificatore passa in TX.
Nel progetto originale una piccola parte del segnale in ingresso viene raddrizzata da due diodi e usata per pilotare i relé attraverso due transistor. Con questa modifica, allo stesso modo, iniettiamo una piccola corrente sulla base degli stessi.
La scelta di usare un optoisolatore e il modello è casuale: è stato il primo componente utile che ho trovato aprendo la cassettina dove tengo i semiconduttori da smontaggio e non richiedeva particolari approfondimenti sui datasheet.

I pochi componenti sono montati su un francobollo di vetronite inciso con il Dremel e incollato con una goccia di adesivo cianoacrilico in un punto libero dello stampato.
Qui si vede il punto in cui inietto la tensione tra D3 e R7.

Il prossimo intervento sarà quello di aggiungere un bias ai due stadi per modificarne la classe di funzionamento, visto che il tasto "AM/SSB" sul frontale è finto.
Naturalmente con i miei tempi ...

mercoledì 26 agosto 2015

da dBm a Watt e viceversa in LibreOffice e OpenOffice

Facendo misurazioni e conti su segnalia RF può far comodo passare spesso da una all'altra unità: si può fare aggiungendo due semplici funzioni. Ecco come:

Strumenti > Macro > Organizza Macro > LibreOffice Basic > modifica

Trasformare così la macro vuota presente:
REM  *****  BASIC  *****

Function DBM2W(a)
    DBM2W = 1*10^(a/10)/1000
End Function

Function W2DBM(a)
    W2DBM = 10*(Log(1000*(a/1)) / Log(10))
    REM W2DBM = 10*LOG10(1000*(a/1))
End Function

Sub Main

End Sub
 Una volta salvata avremo a disposizione due nuove funzioni:
DBM2W e W2DBM da usare nello stesso modo di tutte le altre.
Per esempio:
=DBM2W(H18)
 trasforma in dBm il valore contenuto nella cella H18.