
Sintonizza la tua radio su 148.500 MHz, seleziona la modalità FM, USB o CW e imposta lo squelch su 0 o 1. Quindi, estendi l'antenna della tua radio verso la porta HDMI del monitor e, congratulazioni: ora puoi trasmettere in codice Morse direttamente dal tuo monitor!
Autore: TA1EEI (Efe Işık)
Versione: 1.2
Licenza: MIT (Open Source / Educativo e Sperimentale)
Il Trasmettitore RF per Monitor VHF è uno strumento sperimentale basato su browser che trasforma un normale display di computer in un trasmettitore Morse VHF a corto raggio.
Sorprendentemente, questo progetto opera senza alcuna componente radio hardware, trasmettitori RF, SDR o modem esterni. Controllando la resa precisa dei pixel sullo schermo tramite un motore di rendering HTML5 Canvas ottimizzato, manipola l'unità di elaborazione video interna del display (GPU/Scaler) e le interfacce di trasmissione (HDMI/DisplayPort) per irradiare segnali elettromagnetici modulati direttamente attraverso emissioni side-channel (TEMPEST).
Le pipeline video moderne non sono puramente ottiche; sono elettronica digitale ad alta velocità che opera ad alte frequenze. Questo progetto sfrutta le Radiazioni Elettromagnetiche Non Intenzionali (EMI) per trasmettere segnali RF leggibili.
Per visualizzare un'immagine stabile, una scheda grafica invia continuamente dati video a un monitor fotogramma per fotogramma, riga per riga. La frequenza di clock di base che governa questo flusso di pixel è nota come Frequenza del Pixel Clock ($f_{\text{pixel}}$).
Il Pixel Clock è calcolato in base alle dimensioni totali del fotogramma (inclusa l'area di visualizzazione attiva più gli intervalli di blanking orizzontale e verticale) moltiplicato per la frequenza di aggiornamento dello schermo:
$$f_{\text{pixel}} = H_{\text{total}} \times V_{\text{total}} \times f_{\text{refresh}}$$
Dove:
Esempio di Calcolo (1080p Standard @ 60Hz):
Quando lo schermo visualizza uno sfondo nero o statico, la corrente del segnale attraverso il cavo video rimane relativamente uniforme.
Tuttavia, quando l'applicazione renderizza un pattern alternato di pixel $1 \times 1$ (pixel neri #000000 e bianchi #FFFFFF alternati fianco a fianco), ogni ciclo di clock adiacente costringe il serializzatore dell'interfaccia di visualizzazione (TMDS o FRL in HDMI; Main Link Lanes in DisplayPort) a commutare rapidamente il suo stato di tensione.
Questa commutazione massima di stato induce un forte campo elettromagnetico esattamente alla frequenza del pixel clock (148.500 MHz), trasmettendo un'onda portante RF nello spazio.
Per codificare dati leggibili in questa radiazione elettromagnetica:
#000000). Le transizioni di clock scendono al rumore di base minimo, facendo collassare l'emissione RF irradiata.Temporizzando queste commutazioni di pattern per corrispondere alle lunghezze standard degli elementi del Codice Morse (Punti = 1 unità, Linee = 3 unità), un ricevitore radio vicino capta un tono CW/AM udibile.
Diverse risoluzioni del monitor e frequenze di aggiornamento producono frequenze fondamentali distinte. Di seguito sono riportate le frequenze target calcolate comunemente generate dalle temporizzazioni dei display:
Nota sulle Armoniche: Oltre alla frequenza fondamentale del pixel clock, forti armoniche secondarie e terziarie possono essere rilevate anche su bande superiori ($2 \times f_{\text{pixel}}$, $3 \times f_{\text{pixel}}$).
navigator.language all'avvio e localizza automaticamente l'interfaccia in inglese, turco, francese, tedesco, spagnolo o cinese.performance.now()) per prevedere dinamicamente la frequenza di trasmissione attiva.Per ascoltare le trasmissioni con una radio portatile (es., Quansheng, Baofeng, Yaesu, Icom) o un SDR (RTL-SDR, HackRF, Airspy):
148.500 MHz).Se utilizzi questo progetto nella tua ricerca, lavoro accademico o esperimenti tecnici, ti preghiamo di citarlo come segue:
@software{isik2026vhf,
author = {Isik, Efe},
title = {VHF Monitor RF Transmitter: Browser-Based TEMPEST / EMI Side-Channel Morse Generator},
year = {2026},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{[https://github.com/TA1EEI/vhf-morse-transmitter-monitor](https://github.com/TA1EEI/vhf-morse-transmitter-monitor)}},
license = {MIT}
}
| Risoluzione | Frequenza di Aggiornamento (Hz) | Temporizzazioni Totali ($H_{\text{total}} \times V_{\text{total}}$) | Frequenza Target Fondamentale |
|---|
| 1920 x 1080 | 60 Hz | $2200 \times 1125$ | 148.500 MHz (Banda VHF Amatoriale 2m) |
| 1920 x 1080 | 144 Hz | $2200 \times 1125$ | 356.400 MHz (UHF Militare / Aviazione) |
| 2560 x 1440 | 60 Hz | $2720 \times 1481$ | 241.500 MHz (VHF Alta) |
| 1280 x 720 | 60 Hz | $1650 \times 750$ | 74.250 MHz (VHF Bassa / Banda 4m) |