giovedì 6 febbraio 2020

Conteggio automatico film radon con OpenCV

Per lavoro puo' essere che puo' essere che mi trovi a dover contare delle lastre dei rilevatori di radon e volevo provare a fare qualcosa di mio con OpenCV. Per prova ho preso delle immagini da Google Images e le ho trattate con OpenCV e gli Hough Circles

Immagine non elaborata


Immagine non elaborata con sovrapposizione del riconoscimento e del numero degli eventi

Elabotazione Conteggio 126 eventi
questo e' il file Python che e' preso dagli esempi di OpenCV con minime modifiche
=======================================================
import cv2
import numpy as np
# Read image as gray-scale
img = cv2.imread('cr39film.png', cv2.IMREAD_COLOR)
cv2.imshow('Originale',img)

# Convert to gray-scale
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# Blur the image to reduce noise
img_blur = cv2.medianBlur(gray, 5)
# Apply hough transform on the image
circles = cv2.HoughCircles(img_blur, cv2.HOUGH_GRADIENT, 1, img.shape[0]/32, param1=50, param2=5, minRadius=0, maxRadius=10)
conta = 0
# Draw detected circles
if circles is not None:
    circles = np.uint16(np.around(circles))
    for i in circles[0, :]:
        # Draw outer circle
        #cv2.circle(img, (i[0], i[1]), i[2], (0, 255, 0), 2)
        # Draw inner circle
conta=conta+1
        cv2.circle(img, (i[0], i[1]), 2, (0, 0, 255), 2)

print ("Numero identificazioni :"+str(conta))
cv2.imshow('tt',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
=======================================================


Elaborazione Conteggio 175 eventi
diciamo che nonostante  il poco tempo dedicato al problema i risultati non sono niente male

martedì 4 febbraio 2020

Number Station F03a

Ero sempre stato curioso delle Number Station e volevo provare ad ascoltarle ma ho scoperto che sono praticamente tutte in VLF con frequenze dell'ordine delle migliaia di KHz cioe' ben fuori dal sintonizzatore del mio dongle Usb SDR-RTL

Con questo servizio online si puo' esplorare senza troppi problemi queste frequenze


Il problema a questo punto e' che le trasmissioni di solito sono molto brevi. In questo ci viene in aiuto il sito priyom.org.

Sono riuscito a registrare la trasmissione dell'emittente FO3a alle 10:45 del 4 febbraio 2020 (sembra appartenere alla Polonia) ma ovviamente il tutto e' abbastanza inutile (non si tratta peraltro di una trasmissione con voce sintetica ma una vera e propria trasmissione dati da decodificare per la presenza di una modulazione)

lunedì 3 febbraio 2020

ADS-B con Dump1090

ADS-B  e' un sistema per il controllo del traffico aereo su frequenza di 1.09 GHz che si puo' ricevere tranquillamente con un sistema RTL-SDR da pochi euro senza particolari antenne

Lo ho provato con il software dump1090 su Debian (ho dovuto compilare da sorgenti perche' non ho trovato il pacchetto apt su testing)

Una volta avviato il programma con

./dump1090 --interactive si puo' avere la lista dei dati ricevuti


Al momento la funzione --net non funziona perche' GMaps non e' piu pubblico

Usando FlightRadar24 e' stato possibile verificare che ricevevo  anche distanti 100 Km (la stazione ricevente e' posizionata a Firenze)





Abilitando lo switch --raw si osservano i pacchetti esadecimali
Per il dettaglio della decodifica si rimanda a questo sito

-----------------------------------------------------------------------------------
*8d4caa77589704822c7d7a8719c8;
*8d4caa779910a2bcb0082dae0e6c;
*a00012b0b8adc570a8000482522a;
*a800118eba0a432ee01402fc49f1;
*5d4ca815fff886;
*5d3c6742ce5fc7;
*a000133bc4662330a800003a2dd4;
*a8000516a74a392f212c26c0885a;
*8d3c6742991418328004214c8854;
*02e192b030f0ca;
*a00012b0000000000000001d8a97;
*5d4caa77e1bd4d;
*02e197178f112b;
*02e197178f112b;
*02e197178f112b;
*8d4ca815f8230006004878f3f968;
*5d4b9067729b5b;
*02e197178f112b;
*8d3c674258b9715920c213e6d5d7;
*a00012b0b8adc570a8000482522a;
*a000133cc4662330a80000bddf33;
*02e1933c39b1b2;
*8d4caa77589700fd788cb9f6c050;
*8d4ca815e1051600000000a2765f;
*8d4ca815ea447865351c08d85a00;
*a0001717c6500031300000993d6b;
*80e1933c609bc1adaa921b079299;
*02e1933c39b1b2;

ISS SSTV 31/01/2020 16:46 GMT

Questa e' stata acquisita utilizzato il servizio Web SDR  di http://farnham-sdr.com/



venerdì 31 gennaio 2020

Tensorflow Lite su Arduino Ble 33

A questo link e' comparso un interessante esempio su come utilizzare i sensori (accelerometro e giroscopio) di una Arduino BLE per addestrare una rete neurale con Tensorflow Lite e poi utilizzare la stessa libreria per classificare le gesture sempre tramite  Arduino



Per prova ho inserito la Arduino sotto ad un guanto (per tenerla bloccata) e poi registrando un centinaio di rotazione del polso verso l'interno e verso l'esterno


L'ultima modifica che ho apportato e' di modificare a 50 il numero di campioni per gesture
Una volta salvata due file csv (uno per movimento) ho utilizzato questo Colab per creare il file model. h


Grafico accelerazione di riferimento
Come si deve dai grafici l'errore del modello in train/validation e' estremamente ridotto

Grafico giroscopi di riferimento

Training and validation loss


Stesso grafico precedente eliminando i primi 100 dati


Risultati validazione

Il risultato del Notebook sono un file di modello di Tensorflow Lite ed un file model.h che deve essere copiato nello sketch ImuClassifier per fare il deploy del modello

Devo ammettere che il sistema funziona ma e' lontano dall'essere perfetto. Devo ancora capire se e' un problema di posizionamento del sensore durante le varie proprie (che per ovvi motivi non e' sempre identico) od un addestramento errato




SSTV da ISS 30/01/2020 17:33 GTM Firenze

Dopo aver avuto un contatto radio con la ISS via voce nel transito del 30 gennaio 2020 alle 17:33 GMT sono riuscito a registrare una trasmissione della ARISS SSTV


La ricezione e' avvenuta da Firenze con un normalissimo scanner radio palmare Icom IC-R5 ed antenna standard registrando l'audio direttamente dal cellulare


Per la cronaca avevo acceso anche un Baofeng UV-5R ma con questo dispositivo il segnala era praticamente sommerso dal rumore nonostante le due radio fossero  a meno di 3 metri di distanza.


La decodifica e' stata effettuata con la applicazione Android Robot360




L'immagine e' stata poi postata al sito  https://www.spaceflightsoftware.com/ARISS_SSTV/

Alla fine ho anche mandato ad Ariss SSTV Archive la mia immagine ed e' stato impressionante vedere il numero di radioamatori che hanno condiviso nello stesso momento le immagini a giro per il mondo


mercoledì 29 gennaio 2020

NOAA 18

Una volta capito come funziona ci si prende gusto. A questo giro ho provato a ricevere i dati dal satellite NOOA18, un satellite meteo in orbita polare

Il passaggio sull'Europa e' avvenuto alle 21:15 (GMT+1) del 28 gennaio (fonte https://www.heavens-above.com/)






La caratteristica di questo satellite e' che trasmette sui 137.912 MHz con una ampiezza di banda di 38 KHz. In WebSDR per allargare l'ampiezza di banda si deve selezionare FM e poi con il mouse selezionare ciascun estremo della banda e trascinarlo fino a quando non viene coperta tutta l'estenzione del segnale. Il segnale e' caratterizzato da una serie di righe parallele nella modalita' waterfall

Waterfall


Spettro

Vista la frequenza di esercizio non potevo usare il WebSdr utilizzato per la  ISS e mi sono spostato su questo link http://erc-websdr.esa.int/

Di fatto il problema principale con NOOA e' possedere una antenna a polarizzazione circolare destra

Il file .wav deve essere processato attraverso il software WxtoImg ma e' posssibile utilizzare anche https://noaa-apt.mbernardi.com.ar/

Se si usa WxtoImg si deve prima prendere il file .wav in uscita da WebSDR e processarlo con Audacity per ricampionarlo da 8000 Hz s 11025 Hz. Si salva il file ma cio' comporta che il nuovo file abbia un timestamp diverso dal file iniziale. Per correggere questo problema si utilizza il comando

touch -a -m -t 202001282130.00 t1.wav
dove il timestamp e' formato YYYYMMDDHHMM.SS

Il software si chiama in questo modo perche' il protocollo di trasmissione e' denominato WeFax ed e' in pratica molto simile al buon vecchio sistema Fax che si usava in ufficio
Il servizio APT e' invece una trasmissione di due immagini relative a due bande (in questo caso nel termico) di 2080 x 909 pixels

Elaborazioni con WxToImg
Temperatura Mare


MCIR


Tenpeartura


se si usa noaa-apt i passi di cambio ora e resampling sono eseguiti in automatico e questo e' il risultato. Di fatto con questo software non possono essere eseguite elaborazioni. Le due bande vengono visualizzate a fianco con inclusa la banda di sincronia del segnale 



Per confronto questa e' la stessa immagine acquisita da https://www.osservatoriometeoesismicoperugia.it/satellitipolari/index.html


La differenza principale e' che qui le nuvole sono bianche mentre in wxtoimg risultano grigie

Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...