MMDVM: 두 판 사이의 차이
더 많은 작업
새 문서: == 개요 == Multi Mode Digital Voice Modem에 대해서 설명하는 문서이다. (추가예정) |
편집 요약 없음 |
||
| (다른 사용자 한 명의 중간 판 하나는 보이지 않습니다) | |||
| 1번째 줄: | 1번째 줄: | ||
{{정보상자 | |||
|전체모양 = border:2px solid #444; border-radius:12px; overflow:hidden; | |||
|제목 = MMDVM<br>Multi-Mode Digital Voice Modem | |||
|제목모양 = background:#444; color:#fff; padding:14px 10px; font-size:1.15rem; line-height:1.45; | |||
|항목모양 = background:#444; color:#fff; font-weight:600; | |||
|내용모양 = | |||
|항목1 = 명칭 | |||
|내용1 = Multi-Mode Digital Voice Modem | |||
|항목2 = 개발자 | |||
|내용2 = Jonathan Naylor(G4KLX) 외 오픈소스 커뮤니티 | |||
|항목3 = 종류 | |||
|내용3 = 디지털 음성 모뎀<br>[[핫스팟]] / 중계기 인터페이스 | |||
|항목4 = 지원 모드 | |||
|내용4 = [[D-STAR]]<br>[[DMR]]<br>[[System Fusion|YSF]]<br>P25<br>[[NXDN]]<br>POCSAG<br>FM | |||
|항목5 = 주요 소프트웨어 | |||
|내용5 = MMDVM<br>MMDVMHost<br>Pi-Star 등 | |||
|항목6 = 라이선스 | |||
|내용6 = 오픈소스 | |||
|항목7 = 저장소 | |||
|내용7 = [https://github.com/g4klx/MMDVM GitHub MMDVM] | |||
}} | |||
== 개요 == | == 개요 == | ||
Multi Mode Digital Voice | '''MMDVM'''은 '''Multi-Mode Digital Voice Modem'''의 약자로, 여러 종류의 디지털 음성 무선 방식을 하나의 하드웨어와 소프트웨어에서 처리하기 위해 만들어진 오픈소스 모뎀 프로젝트이다. Jonathan Naylor(G4KLX)를 중심으로 개발되었으며, [[D-STAR]], [[DMR]], [[System Fusion|YSF]], P25, [[NXDN]], POCSAG 등을 지원한다. | ||
아마추어 무선에서는 주로 소형 컴퓨터와 MMDVM 보드를 결합해 '''개인용 디지털 핫스팟'''을 만들거나, 실제 중계기의 송수신기에 연결해 '''멀티모드 디지털 중계기'''를 구성하는 데 사용한다. | |||
흔히 인터넷 쇼핑몰에서 판매되는 작은 OLED 화면 달린 '''MMDVM Hotspot''' 자체를 MMDVM이라고 부르는 경우가 많지만, 엄밀히 말하면 MMDVM은 특정 완제품 이름이 아니다. 원래는 모뎀 펌웨어와 관련 소프트웨어를 포함한 오픈소스 프로젝트이고, 시중에 판매되는 수많은 MMDVM 보드는 이를 구현한 호환 하드웨어에 가깝다. 공식 MMDVM 펌웨어 저장소에서도 MMDVM을 D-STAR, DMR, System Fusion, P25, NXDN, POCSAG, FM을 지원하는 펌웨어로 설명하고 있다. | |||
== 구조 == | |||
MMDVM 시스템은 크게 '''RF 모뎀'''과 '''호스트 컴퓨터'''로 나뉜다. | |||
일반적인 개인용 핫스팟에서는 Raspberry Pi 같은 소형 컴퓨터 위에 MMDVM HAT을 장착하고, Raspberry Pi에서는 MMDVMHost나 이를 포함한 배포판을 실행한다. MMDVM 보드는 무전기에서 들어오는 디지털 RF 신호를 처리하고, 호스트 프로그램은 이 데이터를 인터넷상의 디지털 음성 네트워크로 전달한다. | |||
대략적인 구조는 다음과 같다. | |||
무전기 | |||
↕ RF | |||
MMDVM 모뎀 | |||
↕ USB / UART | |||
Raspberry Pi 등의 호스트 | |||
↕ 인터넷 | |||
D-STAR / DMR / YSF / NXDN 등의 네트워크 | |||
쉽게 말하면 '''무전기와 인터넷상의 디지털 음성 네트워크 사이에서 통역해 주는 장치'''라고 생각하면 된다. | |||
== MMDVM 펌웨어 == | |||
MMDVM 보드의 마이크로컨트롤러에서 실행되는 펌웨어이다. | |||
공식 MMDVM 프로젝트는 현재 다음과 같은 모드를 지원한다. | |||
* [[D-STAR]] | |||
* [[DMR]] | |||
* [[System Fusion|System Fusion]] | |||
* P25 | |||
* [[NXDN]] | |||
* POCSAG | |||
* FM | |||
각 디지털 방식의 RF 신호를 직접 변복조하고 호스트 컴퓨터와 데이터를 주고받는다. 즉 실제 디지털 무선 신호 처리의 상당 부분은 Raspberry Pi가 아니라 이 MMDVM 펌웨어를 실행하는 마이크로컨트롤러에서 이루어진다. :contentReference[oaicite:1]{index=1} | |||
== MMDVMHost == | |||
'''MMDVMHost'''는 MMDVM 모뎀과 네트워크를 연결하는 호스트 프로그램이다. Linux와 Windows에서 사용할 수 있으며 MMDVM뿐 아니라 DVMega 같은 호환 모뎀도 사용할 수 있다. :contentReference[oaicite:2]{index=2} | |||
MMDVM 보드에서 받은 DMR이나 D-STAR 등의 데이터를 적절한 네트워크로 보내고, 반대로 인터넷에서 들어온 데이터를 MMDVM 보드로 전달한다. | |||
따라서 MMDVM 핫스팟을 구성하면 실제로는 | |||
'''MMDVM 펌웨어 + MMDVMHost + 네트워크 프로그램''' | |||
이 함께 움직이는 구조가 된다. | |||
사용자는 MMDVMHost 설정에서 Callsign, 주파수, 각 디지털 모드 활성화 여부, 네트워크 서버 등의 정보를 지정한다. | |||
== 핫스팟 == | |||
아마추어 무선에서 MMDVM을 가장 흔하게 접하는 형태이다. | |||
'''MMDVM Hotspot'''은 저출력 송수신기를 내장한 작은 MMDVM 보드와 Raspberry Pi 등을 결합한 장치다. 사용자의 디지털 무전기와 수십 cm에서 수십 m 정도의 짧은 거리에서 통신한 뒤 인터넷을 통해 DMR이나 D-STAR 등의 네트워크에 연결한다. | |||
즉 주변에 디지털 중계기가 없어도 인터넷만 있으면 자신의 DMR 또는 D-STAR 무전기로 네트워크 교신을 할 수 있게 해준다. | |||
예를 들어 D-STAR 핸디를 사용하는 경우 | |||
D-STAR 무전기 | |||
→ MMDVM Hotspot | |||
→ 인터넷 | |||
→ D-STAR 네트워크 | |||
→ 다른 중계기 또는 핫스팟 | |||
→ 상대방 무전기 | |||
와 같은 흐름으로 교신한다. | |||
DMR이나 YSF 역시 기본적인 원리는 비슷하다. | |||
== simplex와 duplex == | |||
MMDVM 핫스팟은 크게 '''Simplex'''와 '''Duplex''' 방식으로 나뉜다. | |||
=== Simplex === | |||
가장 흔한 개인용 MMDVM 핫스팟이다. 하나의 주파수에서 송신과 수신을 번갈아 처리한다. | |||
하드웨어가 단순하고 저렴하기 때문에 개인이 사용하는 소형 핫스팟 대부분이 이 방식이다. | |||
D-STAR나 YSF처럼 기본적으로 하나의 RF 채널을 사용하는 모드에서는 큰 문제가 없고, DMR에서도 개인용 핫스팟으로 충분히 사용할 수 있다. | |||
=== Duplex === | |||
송신과 수신 주파수를 따로 사용하는 형태이다. | |||
두 개의 RF 경로를 갖는 MMDVM Duplex 보드를 사용하며 실제 중계기와 비슷하게 서로 다른 입력·출력 주파수를 사용할 수 있다. | |||
DMR에서는 Duplex MMDVM을 이용하면 '''2개의 Time Slot'''을 보다 제대로 활용할 수 있다는 장점이 있다. | |||
다만 단순 개인 핫스팟으로 사용하기에는 보드 가격과 설정 난도가 올라간다. | |||
== Raspberry Pi == | |||
MMDVM 핫스팟에서는 Raspberry Pi가 가장 많이 사용된다. | |||
대표적으로 | |||
* Raspberry Pi Zero | |||
* Raspberry Pi Zero W | |||
* Raspberry Pi Zero 2 W | |||
* Raspberry Pi 3 | |||
* Raspberry Pi 4 | |||
등을 사용할 수 있다. | |||
MMDVM HAT을 GPIO에 직접 꽂아 사용하는 구성이 흔하다. 작은 OLED 디스플레이까지 장착하면 현재 접속 중인 호출부호와 모드, Talkgroup 등을 표시할 수도 있다. | |||
다만 MMDVM 자체가 Raspberry Pi 전용인 것은 아니다. MMDVMHost가 실행되고 MMDVM 보드와 통신할 수 있는 환경이면 다른 Linux 시스템이나 Windows에서도 구성할 수 있다. 공식 MMDVMHost 역시 32비트 및 64비트 Linux와 Windows를 대상으로 한다. :contentReference[oaicite:3]{index=3} | |||
== Pi-Star == | |||
'''Pi-Star'''는 MMDVM 핫스팟에서 널리 사용되는 Raspberry Pi용 디지털 음성 소프트웨어 이미지이다. Raspberry Pi에 필요한 프로그램을 일일이 설치하고 설정하는 과정을 줄이기 위해 만들어졌으며, 웹 브라우저에서 대부분의 설정을 할 수 있도록 구성되어 있다. Pi-Star 공식 사이트도 이를 디지털 음성 아마추어 무선을 쉽게 설정할 수 있도록 만든 Raspberry Pi용 소프트웨어 이미지로 설명한다. :contentReference[oaicite:4]{index=4} | |||
설치 후 웹 관리 페이지에서 Callsign, 주파수, 모뎀 종류와 DMR·D-STAR·YSF 등의 활성화 여부를 설정할 수 있다. | |||
때문에 MMDVM 입문자가 직접 Linux에서 MMDVMHost를 빌드하기보다는 | |||
'''Raspberry Pi + MMDVM HAT + Pi-Star''' | |||
조합으로 시작하는 경우가 많았다. | |||
다만 '''Pi-Star와 MMDVM은 같은 것이 아니다.''' MMDVM은 모뎀 프로젝트이고 Pi-Star는 MMDVMHost 등을 쉽게 사용할 수 있도록 만든 소프트웨어 배포판이다. | |||
== D-STAR == | |||
[[D-STAR]]를 지원한다. | |||
MMDVM 핫스팟을 사용하면 주변에 D-STAR 중계기가 없어도 D-STAR 무전기로 인터넷 기반 D-STAR 네트워크에 접속할 수 있다. | |||
예를 들어 [[ID-51]], [[ID-52]], [[IC-705]] 같은 D-STAR 무전기를 핫스팟 주파수에 맞춰놓고 Reflector 등에 접속하는 식이다. | |||
D-STAR 핫스팟에서는 보통 자신의 호출부호와 모듈 설정, 핫스팟 주파수를 정확하게 설정해야 한다. | |||
== DMR == | |||
[[DMR]] 역시 MMDVM에서 매우 많이 사용되는 모드이다. | |||
DMR 핫스팟은 BrandMeister 같은 DMR 네트워크와 연결해서 사용하는 경우가 많다. BrandMeister에서도 Pi-Star와 MMDVMHost를 이용한 MMDVM 핫스팟 설정 방법을 별도로 안내하고 있다. :contentReference[oaicite:5]{index=5} | |||
사용자는 자신의 DMR ID와 Callsign, Hotspot Security 등의 정보를 설정하고 원하는 Talkgroup에 접속한다. | |||
Simplex MMDVM도 사용할 수 있지만 Duplex 보드를 사용하면 DMR의 Time Slot 구조를 보다 제대로 활용할 수 있다. | |||
== System Fusion == | |||
[[Yaesu]]의 [[System Fusion]] 계열인 YSF도 지원한다. | |||
FT-70D, FT3D, FT5D 등의 C4FM 무전기로 MMDVM 핫스팟에 접속해 YSF Reflector 등의 네트워크를 사용할 수 있다. | |||
다만 MMDVM이 Yaesu의 정식 WIRES-X 중계기 자체가 되는 것은 아니며, MMDVM에서 사용되는 YSF 네트워크와 Yaesu의 WIRES-X는 구조적으로 구분할 필요가 있다. | |||
== NXDN == | |||
[[NXDN]] 디지털 음성도 지원한다. | |||
NXDN 지원 무전기를 이용해 MMDVM을 통해 NXDN 네트워크에 접속할 수 있다. DMR이나 D-STAR에 비하면 사용자층이 작은 편이지만 하나의 MMDVM 핫스팟으로 여러 디지털 방식을 사용할 수 있다는 점을 잘 보여주는 기능이다. | |||
== P25 == | |||
APCO P25 디지털 음성도 지원한다. | |||
P25는 주로 북미의 공공안전 통신에서 많이 사용하는 규격이지만 아마추어 무선에서도 일부 사용한다. MMDVM은 이러한 P25 아마추어 네트워크에도 사용할 수 있다. | |||
== 여러 모드 사용 == | |||
MMDVM이라는 이름 그대로 하나의 보드에서 여러 디지털 모드를 사용할 수 있다. | |||
예를 들어 설정에서 | |||
* D-STAR | |||
* DMR | |||
* YSF | |||
* NXDN | |||
을 동시에 활성화해 놓으면 서로 다른 종류의 디지털 무전기를 하나의 핫스팟에서 사용할 수 있다. | |||
다만 '''여러 모드를 동시에 수신한다는 것이 여러 교신을 완전히 동시에 처리한다는 뜻은 아니다.''' 하나의 Simplex RF 채널을 사용하는 핫스팟에서는 특정 모드가 사용 중일 때 다른 모드가 대기해야 하는 등의 제약이 있다. | |||
== 모드 변환 == | |||
MMDVM 기반 시스템에서는 별도의 소프트웨어를 이용해 서로 다른 디지털 네트워크 사이를 변환하는 기능도 사용할 수 있다. | |||
대표적으로 | |||
* YSF2DMR | |||
* YSF2NXDN | |||
* YSF2P25 | |||
* DMR2YSF | |||
* DMR2NXDN | |||
등이 있다. | |||
예를 들어 C4FM 무전기밖에 없더라도 YSF2DMR을 통해 일부 DMR 네트워크에 접속하는 식의 운용이 가능하다. | |||
다만 이것은 MMDVM RF 모뎀이 음성 코덱을 마법처럼 실시간 변환하는 것과는 조금 다르다. 각 네트워크와 프로토콜 사이에서 필요한 데이터 변환과 게이트웨이 처리를 하는 구조이며, 사용하는 코덱과 네트워크 구성에 따라 지원 여부가 달라진다. | |||
== 중계기용 MMDVM == | |||
MMDVM은 개인용 핫스팟뿐 아니라 실제 중계기를 만드는 데도 사용된다. | |||
상용 또는 아마추어용 아날로그 중계기 송수신기에 MMDVM 모뎀을 연결하면 하나의 중계기에서 DMR, D-STAR, YSF 등의 여러 디지털 모드를 제공할 수 있다. | |||
이 경우 핫스팟용 수 mW급 RF 모듈을 사용하는 것이 아니라 기존 중계기의 송수신기와 MMDVM 모뎀을 직접 연결한다. | |||
구조는 대략 | |||
중계기 수신부 | |||
→ MMDVM Modem | |||
→ MMDVMHost | |||
→ 디지털 네트워크 | |||
→ MMDVM Modem | |||
→ 중계기 송신부 | |||
와 같다. | |||
덕분에 기존 아날로그 중계기를 디지털 중계기로 개조하거나 멀티모드 중계기를 구성할 때 많이 사용된다. | |||
== 핫스팟 보드 == | |||
시중에는 매우 많은 종류의 MMDVM 호환 보드가 존재한다. | |||
대표적인 형태는 Raspberry Pi GPIO에 직접 장착하는 HAT이며, 작은 RF 모듈과 안테나 단자, 상태 표시 LED 등이 들어 있다. | |||
일명 | |||
* MMDVM HAT | |||
* MMDVM HS HAT | |||
* JumboSpot | |||
* Duplex MMDVM | |||
* Nano Hotspot | |||
등의 이름으로 판매된다. | |||
하지만 이 이름들이 하나의 제조사를 의미하는 것은 아니다. 오픈소스 설계를 기반으로 수많은 업체에서 비슷한 보드를 생산하기 때문에 외형이 같아 보여도 RF 성능과 TCXO, 필터, PCB 설계 등이 다를 수 있다. | |||
그래서 '''MMDVM이라고 적혀 있다고 해서 모든 보드의 품질이 같은 것은 아니다.''' | |||
== 주파수 Offset == | |||
MMDVM 핫스팟을 사용하다 보면 '''RX Offset'''과 '''TX Offset'''이라는 설정을 자주 보게 된다. | |||
저가형 MMDVM 보드에서는 실제 RF 주파수와 설정 주파수 사이에 작은 오차가 발생할 수 있다. 이 오차가 너무 크면 DMR이나 D-STAR 같은 디지털 신호의 BER이 증가하고 심하면 아예 디코딩되지 않는다. | |||
이때 RX/TX Offset 값을 조절해 무전기와 핫스팟 사이의 주파수 오차를 보정한다. | |||
다만 무조건 인터넷에서 본 Offset 숫자를 그대로 넣는 것은 좋은 방법이 아니다. 보드마다 오차가 다르기 때문에 실제 BER이나 RF 측정값을 보고 자신의 보드에 맞게 조정해야 한다. | |||
== BER == | |||
'''BER(Bit Error Rate)'''은 MMDVM을 설정할 때 상당히 자주 보는 값이다. | |||
디지털 무전기에서 MMDVM으로 들어온 데이터 가운데 오류가 발생한 비율을 의미한다. 값이 낮을수록 안정적으로 수신되고 있다는 뜻이다. | |||
주파수 Offset이나 RF 레벨이 잘못되어 있으면 BER이 올라갈 수 있다. | |||
그래서 MMDVM 핫스팟을 처음 설정할 때는 단순히 음성이 들리는지만 확인하기보다 Dashboard에서 BER을 같이 확인하면서 RF 설정을 맞추는 편이 좋다. | |||
== 장점 == | |||
MMDVM의 가장 큰 장점은 '''하드웨어 하나로 여러 종류의 디지털 무선을 사용할 수 있다는 점'''이다. DMR 전용 핫스팟, D-STAR 전용 핫스팟을 각각 따로 둘 필요 없이 하나의 장치에서 여러 모드를 활성화할 수 있다. | |||
또한 오픈소스이기 때문에 하드웨어와 소프트웨어를 자유롭게 구성할 수 있고, 소형 개인 핫스팟부터 본격적인 중계기까지 같은 계열의 소프트웨어를 사용할 수 있다. | |||
주변에 디지털 중계기가 없는 사용자에게는 특히 유용하다. 인터넷만 있으면 저출력 핫스팟을 통해 멀리 떨어진 디지털 음성 네트워크와 교신할 수 있다. | |||
== 단점 == | |||
가장 큰 문제는 '''MMDVM이라는 이름으로 판매되는 하드웨어의 품질이 천차만별'''이라는 점이다. MMDVM 자체가 특정 업체의 완제품 규격이 아니기 때문에 저가형 복제품부터 비교적 품질이 좋은 보드까지 매우 다양한 제품이 존재한다. | |||
보드에 따라 주파수 오차가 크거나 RF 출력과 수신감도가 좋지 않을 수 있으며, TCXO 품질이나 필터 설계에도 차이가 있다. 이런 경우 RX/TX Offset 조정에 꽤 많은 시간을 쓰게 된다. | |||
또 하나는 인터넷 의존성이다. 개인용 핫스팟은 대부분 인터넷상의 DMR, D-STAR, YSF 네트워크를 이용하기 때문에 인터넷 연결이 끊기면 원격 네트워크 교신도 사용할 수 없다. | |||
== 오해 == | |||
=== MMDVM은 디지털 무전기가 아니다 === | |||
MMDVM 핫스팟 자체만 가지고 일반 무전기처럼 교신하는 장비는 아니다. 기본적으로 사용자의 DMR, D-STAR, C4FM 등의 디지털 무전기가 별도로 필요하다. | |||
=== MMDVM은 특정 회사 제품이 아니다 === | |||
MMDVM은 오픈소스 프로젝트다. 따라서 인터넷 쇼핑몰에서 판매되는 MMDVM Hotspot은 여러 제조사가 MMDVM 호환 하드웨어를 만들어 판매하는 것이다. | |||
=== Pi-Star와 MMDVM은 같은 것이 아니다 === | |||
MMDVM은 모뎀이고 Pi-Star는 이를 쉽게 사용하도록 구성된 소프트웨어 이미지이다. Pi-Star가 없어도 MMDVMHost를 직접 설치해 사용할 수 있다. Pi-Star 공식 설명 역시 Raspberry Pi에서 디지털 음성 서비스를 쉽게 설정하기 위한 소프트웨어 이미지로 정의한다. | |||
=== 핫스팟과 중계기는 같지 않다 === | |||
개인용 Simplex MMDVM Hotspot은 보통 매우 낮은 출력으로 집 안이나 주변에서 사용하는 장치다. 산 정상에 설치해 광범위한 지역을 서비스하는 실제 중계기와 역할과 RF 구성이 다르다. | |||
== 여담 == | |||
* MMDVM의 약자는 Multi-Mode Digital Voice Modem이다. | |||
* Jonathan Naylor(G4KLX)가 개발을 주도한 오픈소스 프로젝트이다. | |||
* D-STAR, DMR, System Fusion, P25, NXDN, POCSAG, FM을 지원한다. | |||
* MMDVMHost는 MMDVM 모뎀과 디지털 음성 네트워크 사이를 연결하는 프로그램이다. | |||
* Raspberry Pi와 MMDVM HAT을 결합한 개인용 핫스팟이 가장 흔하다. | |||
* Pi-Star는 MMDVM 자체가 아니라 MMDVMHost 등을 쉽게 설정하기 위한 소프트웨어 이미지이다. | |||
* Simplex와 Duplex MMDVM 보드가 존재한다. | |||
* Duplex 보드는 DMR의 두 Time Slot을 활용하는 구성에 유리하다. | |||
* 시중에는 수많은 MMDVM 호환 및 복제 보드가 있어 제품별 RF 품질 차이가 큰 편이다. | |||
* 주파수 오차가 있는 보드는 RX/TX Offset을 조정해야 할 수 있다. | |||
* MMDVM은 핫스팟뿐 아니라 실제 디지털 중계기 구축에도 사용할 수 있다. | |||
== 같이 보기 == | |||
* [[D-STAR]] | |||
* [[DMR]] | |||
* [[System Fusion]] | |||
* [[NXDN]] | |||
* [[디지털 무전]] | |||
* [[핫스팟]] | |||
* [[중계기]] | |||
* [[Pi-Star]] | |||
== 외부 링크 == | |||
* [https://github.com/g4klx/MMDVM MMDVM 공식 GitHub] | |||
* [https://github.com/g4klx/MMDVMHost MMDVMHost 공식 GitHub] | |||
* [https://www.pistar.uk/ Pi-Star 공식 사이트] | |||
* [https://help.brandmeister.network/hotspots/connecting-hotspots/pi-star-mmdvm/ BrandMeister MMDVM/Pi-Star 설정 안내] | |||
[[분류:아마추어 무선]] | |||
[[분류:디지털]] | |||
2026년 8월 11일 (화) 01:18 기준 최신판
개요
MMDVM은 Multi-Mode Digital Voice Modem의 약자로, 여러 종류의 디지털 음성 무선 방식을 하나의 하드웨어와 소프트웨어에서 처리하기 위해 만들어진 오픈소스 모뎀 프로젝트이다. Jonathan Naylor(G4KLX)를 중심으로 개발되었으며, D-STAR, DMR, YSF, P25, NXDN, POCSAG 등을 지원한다.
아마추어 무선에서는 주로 소형 컴퓨터와 MMDVM 보드를 결합해 개인용 디지털 핫스팟을 만들거나, 실제 중계기의 송수신기에 연결해 멀티모드 디지털 중계기를 구성하는 데 사용한다.
흔히 인터넷 쇼핑몰에서 판매되는 작은 OLED 화면 달린 MMDVM Hotspot 자체를 MMDVM이라고 부르는 경우가 많지만, 엄밀히 말하면 MMDVM은 특정 완제품 이름이 아니다. 원래는 모뎀 펌웨어와 관련 소프트웨어를 포함한 오픈소스 프로젝트이고, 시중에 판매되는 수많은 MMDVM 보드는 이를 구현한 호환 하드웨어에 가깝다. 공식 MMDVM 펌웨어 저장소에서도 MMDVM을 D-STAR, DMR, System Fusion, P25, NXDN, POCSAG, FM을 지원하는 펌웨어로 설명하고 있다.
구조
MMDVM 시스템은 크게 RF 모뎀과 호스트 컴퓨터로 나뉜다.
일반적인 개인용 핫스팟에서는 Raspberry Pi 같은 소형 컴퓨터 위에 MMDVM HAT을 장착하고, Raspberry Pi에서는 MMDVMHost나 이를 포함한 배포판을 실행한다. MMDVM 보드는 무전기에서 들어오는 디지털 RF 신호를 처리하고, 호스트 프로그램은 이 데이터를 인터넷상의 디지털 음성 네트워크로 전달한다.
대략적인 구조는 다음과 같다.
- 무전기
- ↕ RF
- MMDVM 모뎀
- ↕ USB / UART
- Raspberry Pi 등의 호스트
- ↕ 인터넷
- D-STAR / DMR / YSF / NXDN 등의 네트워크
쉽게 말하면 무전기와 인터넷상의 디지털 음성 네트워크 사이에서 통역해 주는 장치라고 생각하면 된다.
MMDVM 펌웨어
MMDVM 보드의 마이크로컨트롤러에서 실행되는 펌웨어이다.
공식 MMDVM 프로젝트는 현재 다음과 같은 모드를 지원한다.
- D-STAR
- DMR
- System Fusion
- P25
- NXDN
- POCSAG
- FM
각 디지털 방식의 RF 신호를 직접 변복조하고 호스트 컴퓨터와 데이터를 주고받는다. 즉 실제 디지털 무선 신호 처리의 상당 부분은 Raspberry Pi가 아니라 이 MMDVM 펌웨어를 실행하는 마이크로컨트롤러에서 이루어진다. :contentReference[oaicite:1]{index=1}
MMDVMHost
MMDVMHost는 MMDVM 모뎀과 네트워크를 연결하는 호스트 프로그램이다. Linux와 Windows에서 사용할 수 있으며 MMDVM뿐 아니라 DVMega 같은 호환 모뎀도 사용할 수 있다. :contentReference[oaicite:2]{index=2}
MMDVM 보드에서 받은 DMR이나 D-STAR 등의 데이터를 적절한 네트워크로 보내고, 반대로 인터넷에서 들어온 데이터를 MMDVM 보드로 전달한다.
따라서 MMDVM 핫스팟을 구성하면 실제로는
MMDVM 펌웨어 + MMDVMHost + 네트워크 프로그램
이 함께 움직이는 구조가 된다.
사용자는 MMDVMHost 설정에서 Callsign, 주파수, 각 디지털 모드 활성화 여부, 네트워크 서버 등의 정보를 지정한다.
핫스팟
아마추어 무선에서 MMDVM을 가장 흔하게 접하는 형태이다.
MMDVM Hotspot은 저출력 송수신기를 내장한 작은 MMDVM 보드와 Raspberry Pi 등을 결합한 장치다. 사용자의 디지털 무전기와 수십 cm에서 수십 m 정도의 짧은 거리에서 통신한 뒤 인터넷을 통해 DMR이나 D-STAR 등의 네트워크에 연결한다.
즉 주변에 디지털 중계기가 없어도 인터넷만 있으면 자신의 DMR 또는 D-STAR 무전기로 네트워크 교신을 할 수 있게 해준다.
예를 들어 D-STAR 핸디를 사용하는 경우
- D-STAR 무전기
- → MMDVM Hotspot
- → 인터넷
- → D-STAR 네트워크
- → 다른 중계기 또는 핫스팟
- → 상대방 무전기
와 같은 흐름으로 교신한다.
DMR이나 YSF 역시 기본적인 원리는 비슷하다.
simplex와 duplex
MMDVM 핫스팟은 크게 Simplex와 Duplex 방식으로 나뉜다.
Simplex
가장 흔한 개인용 MMDVM 핫스팟이다. 하나의 주파수에서 송신과 수신을 번갈아 처리한다.
하드웨어가 단순하고 저렴하기 때문에 개인이 사용하는 소형 핫스팟 대부분이 이 방식이다.
D-STAR나 YSF처럼 기본적으로 하나의 RF 채널을 사용하는 모드에서는 큰 문제가 없고, DMR에서도 개인용 핫스팟으로 충분히 사용할 수 있다.
Duplex
송신과 수신 주파수를 따로 사용하는 형태이다.
두 개의 RF 경로를 갖는 MMDVM Duplex 보드를 사용하며 실제 중계기와 비슷하게 서로 다른 입력·출력 주파수를 사용할 수 있다.
DMR에서는 Duplex MMDVM을 이용하면 2개의 Time Slot을 보다 제대로 활용할 수 있다는 장점이 있다.
다만 단순 개인 핫스팟으로 사용하기에는 보드 가격과 설정 난도가 올라간다.
Raspberry Pi
MMDVM 핫스팟에서는 Raspberry Pi가 가장 많이 사용된다.
대표적으로
- Raspberry Pi Zero
- Raspberry Pi Zero W
- Raspberry Pi Zero 2 W
- Raspberry Pi 3
- Raspberry Pi 4
등을 사용할 수 있다.
MMDVM HAT을 GPIO에 직접 꽂아 사용하는 구성이 흔하다. 작은 OLED 디스플레이까지 장착하면 현재 접속 중인 호출부호와 모드, Talkgroup 등을 표시할 수도 있다.
다만 MMDVM 자체가 Raspberry Pi 전용인 것은 아니다. MMDVMHost가 실행되고 MMDVM 보드와 통신할 수 있는 환경이면 다른 Linux 시스템이나 Windows에서도 구성할 수 있다. 공식 MMDVMHost 역시 32비트 및 64비트 Linux와 Windows를 대상으로 한다. :contentReference[oaicite:3]{index=3}
Pi-Star
Pi-Star는 MMDVM 핫스팟에서 널리 사용되는 Raspberry Pi용 디지털 음성 소프트웨어 이미지이다. Raspberry Pi에 필요한 프로그램을 일일이 설치하고 설정하는 과정을 줄이기 위해 만들어졌으며, 웹 브라우저에서 대부분의 설정을 할 수 있도록 구성되어 있다. Pi-Star 공식 사이트도 이를 디지털 음성 아마추어 무선을 쉽게 설정할 수 있도록 만든 Raspberry Pi용 소프트웨어 이미지로 설명한다. :contentReference[oaicite:4]{index=4}
설치 후 웹 관리 페이지에서 Callsign, 주파수, 모뎀 종류와 DMR·D-STAR·YSF 등의 활성화 여부를 설정할 수 있다.
때문에 MMDVM 입문자가 직접 Linux에서 MMDVMHost를 빌드하기보다는
Raspberry Pi + MMDVM HAT + Pi-Star
조합으로 시작하는 경우가 많았다.
다만 Pi-Star와 MMDVM은 같은 것이 아니다. MMDVM은 모뎀 프로젝트이고 Pi-Star는 MMDVMHost 등을 쉽게 사용할 수 있도록 만든 소프트웨어 배포판이다.
D-STAR
D-STAR를 지원한다.
MMDVM 핫스팟을 사용하면 주변에 D-STAR 중계기가 없어도 D-STAR 무전기로 인터넷 기반 D-STAR 네트워크에 접속할 수 있다.
예를 들어 ID-51, ID-52, IC-705 같은 D-STAR 무전기를 핫스팟 주파수에 맞춰놓고 Reflector 등에 접속하는 식이다.
D-STAR 핫스팟에서는 보통 자신의 호출부호와 모듈 설정, 핫스팟 주파수를 정확하게 설정해야 한다.
DMR
DMR 역시 MMDVM에서 매우 많이 사용되는 모드이다.
DMR 핫스팟은 BrandMeister 같은 DMR 네트워크와 연결해서 사용하는 경우가 많다. BrandMeister에서도 Pi-Star와 MMDVMHost를 이용한 MMDVM 핫스팟 설정 방법을 별도로 안내하고 있다. :contentReference[oaicite:5]{index=5}
사용자는 자신의 DMR ID와 Callsign, Hotspot Security 등의 정보를 설정하고 원하는 Talkgroup에 접속한다.
Simplex MMDVM도 사용할 수 있지만 Duplex 보드를 사용하면 DMR의 Time Slot 구조를 보다 제대로 활용할 수 있다.
System Fusion
Yaesu의 System Fusion 계열인 YSF도 지원한다.
FT-70D, FT3D, FT5D 등의 C4FM 무전기로 MMDVM 핫스팟에 접속해 YSF Reflector 등의 네트워크를 사용할 수 있다.
다만 MMDVM이 Yaesu의 정식 WIRES-X 중계기 자체가 되는 것은 아니며, MMDVM에서 사용되는 YSF 네트워크와 Yaesu의 WIRES-X는 구조적으로 구분할 필요가 있다.
NXDN
NXDN 디지털 음성도 지원한다.
NXDN 지원 무전기를 이용해 MMDVM을 통해 NXDN 네트워크에 접속할 수 있다. DMR이나 D-STAR에 비하면 사용자층이 작은 편이지만 하나의 MMDVM 핫스팟으로 여러 디지털 방식을 사용할 수 있다는 점을 잘 보여주는 기능이다.
P25
APCO P25 디지털 음성도 지원한다.
P25는 주로 북미의 공공안전 통신에서 많이 사용하는 규격이지만 아마추어 무선에서도 일부 사용한다. MMDVM은 이러한 P25 아마추어 네트워크에도 사용할 수 있다.
여러 모드 사용
MMDVM이라는 이름 그대로 하나의 보드에서 여러 디지털 모드를 사용할 수 있다.
예를 들어 설정에서
- D-STAR
- DMR
- YSF
- NXDN
을 동시에 활성화해 놓으면 서로 다른 종류의 디지털 무전기를 하나의 핫스팟에서 사용할 수 있다.
다만 여러 모드를 동시에 수신한다는 것이 여러 교신을 완전히 동시에 처리한다는 뜻은 아니다. 하나의 Simplex RF 채널을 사용하는 핫스팟에서는 특정 모드가 사용 중일 때 다른 모드가 대기해야 하는 등의 제약이 있다.
모드 변환
MMDVM 기반 시스템에서는 별도의 소프트웨어를 이용해 서로 다른 디지털 네트워크 사이를 변환하는 기능도 사용할 수 있다.
대표적으로
- YSF2DMR
- YSF2NXDN
- YSF2P25
- DMR2YSF
- DMR2NXDN
등이 있다.
예를 들어 C4FM 무전기밖에 없더라도 YSF2DMR을 통해 일부 DMR 네트워크에 접속하는 식의 운용이 가능하다.
다만 이것은 MMDVM RF 모뎀이 음성 코덱을 마법처럼 실시간 변환하는 것과는 조금 다르다. 각 네트워크와 프로토콜 사이에서 필요한 데이터 변환과 게이트웨이 처리를 하는 구조이며, 사용하는 코덱과 네트워크 구성에 따라 지원 여부가 달라진다.
중계기용 MMDVM
MMDVM은 개인용 핫스팟뿐 아니라 실제 중계기를 만드는 데도 사용된다.
상용 또는 아마추어용 아날로그 중계기 송수신기에 MMDVM 모뎀을 연결하면 하나의 중계기에서 DMR, D-STAR, YSF 등의 여러 디지털 모드를 제공할 수 있다.
이 경우 핫스팟용 수 mW급 RF 모듈을 사용하는 것이 아니라 기존 중계기의 송수신기와 MMDVM 모뎀을 직접 연결한다.
구조는 대략
- 중계기 수신부
- → MMDVM Modem
- → MMDVMHost
- → 디지털 네트워크
- → MMDVM Modem
- → 중계기 송신부
와 같다.
덕분에 기존 아날로그 중계기를 디지털 중계기로 개조하거나 멀티모드 중계기를 구성할 때 많이 사용된다.
핫스팟 보드
시중에는 매우 많은 종류의 MMDVM 호환 보드가 존재한다.
대표적인 형태는 Raspberry Pi GPIO에 직접 장착하는 HAT이며, 작은 RF 모듈과 안테나 단자, 상태 표시 LED 등이 들어 있다.
일명
- MMDVM HAT
- MMDVM HS HAT
- JumboSpot
- Duplex MMDVM
- Nano Hotspot
등의 이름으로 판매된다.
하지만 이 이름들이 하나의 제조사를 의미하는 것은 아니다. 오픈소스 설계를 기반으로 수많은 업체에서 비슷한 보드를 생산하기 때문에 외형이 같아 보여도 RF 성능과 TCXO, 필터, PCB 설계 등이 다를 수 있다.
그래서 MMDVM이라고 적혀 있다고 해서 모든 보드의 품질이 같은 것은 아니다.
주파수 Offset
MMDVM 핫스팟을 사용하다 보면 RX Offset과 TX Offset이라는 설정을 자주 보게 된다.
저가형 MMDVM 보드에서는 실제 RF 주파수와 설정 주파수 사이에 작은 오차가 발생할 수 있다. 이 오차가 너무 크면 DMR이나 D-STAR 같은 디지털 신호의 BER이 증가하고 심하면 아예 디코딩되지 않는다.
이때 RX/TX Offset 값을 조절해 무전기와 핫스팟 사이의 주파수 오차를 보정한다.
다만 무조건 인터넷에서 본 Offset 숫자를 그대로 넣는 것은 좋은 방법이 아니다. 보드마다 오차가 다르기 때문에 실제 BER이나 RF 측정값을 보고 자신의 보드에 맞게 조정해야 한다.
BER
BER(Bit Error Rate)은 MMDVM을 설정할 때 상당히 자주 보는 값이다.
디지털 무전기에서 MMDVM으로 들어온 데이터 가운데 오류가 발생한 비율을 의미한다. 값이 낮을수록 안정적으로 수신되고 있다는 뜻이다.
주파수 Offset이나 RF 레벨이 잘못되어 있으면 BER이 올라갈 수 있다.
그래서 MMDVM 핫스팟을 처음 설정할 때는 단순히 음성이 들리는지만 확인하기보다 Dashboard에서 BER을 같이 확인하면서 RF 설정을 맞추는 편이 좋다.
장점
MMDVM의 가장 큰 장점은 하드웨어 하나로 여러 종류의 디지털 무선을 사용할 수 있다는 점이다. DMR 전용 핫스팟, D-STAR 전용 핫스팟을 각각 따로 둘 필요 없이 하나의 장치에서 여러 모드를 활성화할 수 있다.
또한 오픈소스이기 때문에 하드웨어와 소프트웨어를 자유롭게 구성할 수 있고, 소형 개인 핫스팟부터 본격적인 중계기까지 같은 계열의 소프트웨어를 사용할 수 있다.
주변에 디지털 중계기가 없는 사용자에게는 특히 유용하다. 인터넷만 있으면 저출력 핫스팟을 통해 멀리 떨어진 디지털 음성 네트워크와 교신할 수 있다.
단점
가장 큰 문제는 MMDVM이라는 이름으로 판매되는 하드웨어의 품질이 천차만별이라는 점이다. MMDVM 자체가 특정 업체의 완제품 규격이 아니기 때문에 저가형 복제품부터 비교적 품질이 좋은 보드까지 매우 다양한 제품이 존재한다.
보드에 따라 주파수 오차가 크거나 RF 출력과 수신감도가 좋지 않을 수 있으며, TCXO 품질이나 필터 설계에도 차이가 있다. 이런 경우 RX/TX Offset 조정에 꽤 많은 시간을 쓰게 된다.
또 하나는 인터넷 의존성이다. 개인용 핫스팟은 대부분 인터넷상의 DMR, D-STAR, YSF 네트워크를 이용하기 때문에 인터넷 연결이 끊기면 원격 네트워크 교신도 사용할 수 없다.
오해
MMDVM은 디지털 무전기가 아니다
MMDVM 핫스팟 자체만 가지고 일반 무전기처럼 교신하는 장비는 아니다. 기본적으로 사용자의 DMR, D-STAR, C4FM 등의 디지털 무전기가 별도로 필요하다.
MMDVM은 특정 회사 제품이 아니다
MMDVM은 오픈소스 프로젝트다. 따라서 인터넷 쇼핑몰에서 판매되는 MMDVM Hotspot은 여러 제조사가 MMDVM 호환 하드웨어를 만들어 판매하는 것이다.
Pi-Star와 MMDVM은 같은 것이 아니다
MMDVM은 모뎀이고 Pi-Star는 이를 쉽게 사용하도록 구성된 소프트웨어 이미지이다. Pi-Star가 없어도 MMDVMHost를 직접 설치해 사용할 수 있다. Pi-Star 공식 설명 역시 Raspberry Pi에서 디지털 음성 서비스를 쉽게 설정하기 위한 소프트웨어 이미지로 정의한다.
핫스팟과 중계기는 같지 않다
개인용 Simplex MMDVM Hotspot은 보통 매우 낮은 출력으로 집 안이나 주변에서 사용하는 장치다. 산 정상에 설치해 광범위한 지역을 서비스하는 실제 중계기와 역할과 RF 구성이 다르다.
여담
- MMDVM의 약자는 Multi-Mode Digital Voice Modem이다.
- Jonathan Naylor(G4KLX)가 개발을 주도한 오픈소스 프로젝트이다.
- D-STAR, DMR, System Fusion, P25, NXDN, POCSAG, FM을 지원한다.
- MMDVMHost는 MMDVM 모뎀과 디지털 음성 네트워크 사이를 연결하는 프로그램이다.
- Raspberry Pi와 MMDVM HAT을 결합한 개인용 핫스팟이 가장 흔하다.
- Pi-Star는 MMDVM 자체가 아니라 MMDVMHost 등을 쉽게 설정하기 위한 소프트웨어 이미지이다.
- Simplex와 Duplex MMDVM 보드가 존재한다.
- Duplex 보드는 DMR의 두 Time Slot을 활용하는 구성에 유리하다.
- 시중에는 수많은 MMDVM 호환 및 복제 보드가 있어 제품별 RF 품질 차이가 큰 편이다.
- 주파수 오차가 있는 보드는 RX/TX Offset을 조정해야 할 수 있다.
- MMDVM은 핫스팟뿐 아니라 실제 디지털 중계기 구축에도 사용할 수 있다.