
라디오를 148.500 MHz로 맞추고, FM, USB 또는 CW 모드를 선택한 다음 스퀠치를 0 또는 1로 설정하세요. 그런 다음 라디오의 안테나를 모니터의 HDMI 포트 쪽으로 펼치면, 축하합니다—이제 모니터에서 직접 모스 부호로 송신할 수 있습니다!
저자: TA1EEI (Efe Işık)
버전: 1.2
라이선스: MIT (오픈소스 / 교육 및 실험용)
VHF 모니터 RF 송신기는 일반 컴퓨터 모니터를 단거리 VHF 모스 부호 송신기로 변환하는 브라우저 기반 실험 도구입니다.
놀랍게도 이 프로젝트는 무선 하드웨어, RF 송신기, SDR 또는 외부 모뎀 없이 작동합니다. 최적화된 HTML5 Canvas 렌더 엔진을 사용하여 화면의 정밀한 픽셀 출력을 제어함으로써, 디스플레이 내부의 비디오 처리 장치(GPU/스케일러)와 전송 인터페이스(HDMI/DisplayPort)를 조작하여 변조된 전자기 신호를 부채널 방출(TEMPEST)을 통해 직접 방사합니다.
현대 비디오 파이프라인은 순수하게 광학적인 것이 아니라 고주파수에서 작동하는 고속 디지털 전자 장치입니다. 이 프로젝트는 비의도적 전자기 방출(EMI) 을 활용하여 읽을 수 있는 RF 신호를 방송합니다.
안정적인 이미지를 표시하기 위해 그래픽 카드는 프레임별, 라인별로 비디오 데이터를 모니터로 지속적으로 전송합니다. 이 픽셀 스트림을 제어하는 기본 클록 주파수를 픽셀 클록 주파수($f_{\text{pixel}}$)라고 합니다.
픽셀 클록은 총 프레임 크기(활성 표시 영역에 수평 및 수직 블랭킹 간격을 더한 값)에 화면 재생률을 곱하여 계산됩니다:
$$f_{\text{pixel}} = H_{\text{total}} \times V_{\text{total}} \times f_{\text{refresh}}$$
여기서:
계산 예시 (표준 1080p @ 60Hz):
화면에 단색 검정 또는 정적 배경이 표시되면 비디오 케이블을 통한 신호 전류는 비교적 균일하게 유지됩니다.
그러나 애플리케이션이 $1 \times 1$ 픽셀 패턴(검정 #000000과 흰색 #FFFFFF 픽셀을 나란히 교대로 배치)을 렌더링하면, 인접한 모든 클록 사이클에서 디스플레이 인터페이스 직렬화기(HDMI의 TMDS 또는 FRL, DisplayPort의 메인 링크 레인)가 전압 상태를 빠르게 토글하도록 강제합니다.
이 최대 상태 토글은 정확한 픽셀 클록 주파수(148.500 MHz)에서 강한 전자기장을 유도하여 RF 반송파를 공간으로 방출합니다.
이 전자기 방사에 읽을 수 있는 데이터를 인코딩하려면:
#000000)으로 전환됩니다. 클록 전환이 최소 기준 잡음 수준으로 떨어져 방출되는 RF 출력이 붕괴됩니다.이 패턴 토글 타이밍을 표준 모스 부호 요소 길이(점 = 1단위, 선 = 3단위)에 맞추면, 근처의 무선 수신기가 가청 CW/AM 톤을 포착합니다.
서로 다른 모니터 해상도와 재생률은 서로 다른 기본 주파수를 생성합니다. 다음은 디스플레이 타이밍에서 일반적으로 생성되는 계산된 대상 주파수입니다:
고조파 참고: 기본 픽셀 클록 주파수 외에도 강한 2차 및 3차 고조파가 더 높은 대역($2 \times f_{\text{pixel}}$, $3 \times f_{\text{pixel}}$)에서도 감지될 수 있습니다.
navigator.language를 읽고 UI를 영어, 터키어, 프랑스어, 독일어, 스페인어 또는 중국어로 자동 현지화합니다.performance.now())를 통해 해상도와 재생률을 감지하여 활성 전송 주파수를 동적으로 예측합니다.휴대용 무전기(예: Quansheng, Baofeng, Yaesu, Icom) 또는 SDR(RTL-SDR, HackRF, Airspy)로 전송을 청취하려면:
148.500 MHz)가 표시됩니다.이 프로젝트를 연구, 학술 작업 또는 기술 실험에 사용하는 경우 다음과 같이 인용해 주십시오:
@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}
}
| 해상도 | 재생률 (Hz) | 총 타이밍 ($H_{\text{total}} \times V_{\text{total}}$) | 기본 대상 주파수 |
|---|
| 1920 x 1080 | 60 Hz | $2200 \times 1125$ | 148.500 MHz (VHF 아마추어 2m 대역) |
| 1920 x 1080 | 144 Hz | $2200 \times 1125$ | 356.400 MHz (UHF 군용 / 항공) |
| 2560 x 1440 | 60 Hz | $2720 \times 1481$ | 241.500 MHz (VHF 고대역) |
| 1280 x 720 | 60 Hz | $1650 \times 750$ | 74.250 MHz (VHF 저대역 / 4m 대역) |