통신 모듈레이션 방식에 관한 연구 및 euphony.js v0.2.0 releas

Modulation 방식 개선을 통한 속도 향상

Modulation 이란?

디지털 통신에서 데이터를 보내기 위해 0, 1 등의 데이터를 전기적 신호로 만들어주는 방법입니다. 1990년대 PC 통신에서 주로 사용하던 MODEM이 MOdulator and DEModulator의 약자인데, 여기서 Modulator가 데이터를 전기적 신호로 만드는 것이고, Demodulator가 전기적 신호를 다시 디지털 데이터로 변화시키는 역할을 합니다. 모든 유/무선 통신에서 Modulator와 Demodulator는 가장 중요하면서도 통신 성능에 영향을 많이 끼칩니다. 참고로 이동통신에서는 1G가 Frequency Shift Keying 방식을 사용하였고, 2G는 GMSK(Gaussian filtered Minimum Shift Keying)라는 Continuous Frequency Shift Keying의 Main Lobe에 Gaussian filter를 적용해 얇게 만들어 송수신 하는 방식을 사용하였으며, 3G는 QPSK(Quadrature Phase Shift Keying)을, 4G LTE는 QPSK와 QAM(Quadrature Amplitude Modulation)을 그리고 마지막으로 요즘 한창 뜨고 있는 5G는 QAM 연장선상의 기술을 사용합니다. 모든 Modulation 방식은 Amplitude, Frequency, Phase 3가지를 활용한 응용 기술이라고 볼 수 있습니다.

음파 통신 euphony 라이브러리의 기존 모듈레이션 방식

13년도에 시작된 Euphony 프로젝트는 최초에 ASK라는 Amplitude 기반 변조 방식의 프로토타이핑 성공 이후 본격적으로 개발하게 되었습니다. Amplitude 방식은 라디오에서는 AM 송출 방식이라고 볼 수 있는데, 이는 Volume 세기에 따라 데이터를 주고받는 방식입니다. 0과 1을 데이터로 보낸다면 0은 Volume이 0인 상태 1은 Volume을 100으로 높인 상태라고 볼 수 있습니다. 아래는 euphony.js를 이용해 1과 0을 보여주는 예시입니다. Euphony를 통한 ASK 방식 데이터 전송 ASK 방식은 속도가 느립니다. FM과 AM 방식 라디오를 들어보면 FM 방식의 라디오가 훨씬 음질이 좋은데, 이는 Amplitude 기반이 진폭에 따른 데이터 구분 방식이라 잡음에 매우 취약하고 음질도 매우 떨어지기 때문입니다. 따라서 Euphony는 최근까지 Frequency Shift Keying 방식을 사용하고 있었습니다. 이동 통신 기술 개발 방향만 본다면 당연히 PSK와 ASK의 조합 기술이라고 볼 수 있는 QAM 방식을 사용하는 것이 맞다고 볼 수 있으나, 음파에서는 Phase를 조정하게 되면 음이 깨지는 소리가 나기 때문에 Phase가 아닌 가급적 Frequency와 Amplitude를 조합 활용해 데이터를 Modulation 하고 있습니다. Crossfade 위 그림은 최근까지 사용했던 Euphony의 기존 방식인 Crossfaded Amplitude를 적용한 FSK 모듈레이션입니다. Crossfaded Amplitude를 특정 주파수의 양 끝에 적용함으로써 음이 깨지는 소리가 나지 않습니다. 가청주파수의 높은 대역을 사용하면 소리 자체가 들리지 않으므로 깨지는 소리가 발생하지 않을 것 같지만 Crossfaded Amplitude를 사용하지 않고 그대로 발생시키면 틱틱거리는 소리는 발생하기 때문에 적용하게 된 기술입니다.

euphony.js v0.2.0 release : Continuous Phase FSK의 적용

이번 v0.2.0 패치를 설명하기 위해 기존 방식에 대한 이야기가 길어졌습니다. 기존에 사용하던 Crossfaded Amplitude 방식의 FSK 또한 단점이 있습니다. Crossfaded Amplitude가 적용된 구간은 결국 Amplitude의 세기가 낮기 때문에 데이터 수신률이 낮다는 점입니다. Crossfade2 이번 패치는 서로 다른 주파수간의 phase를 연결시켜줌으로써 틱틱거리는 잡음은 없애주면서 Crossfaded Amplitude 구간을 최소화해 수신률은 높여주는 기술이 적용되었습니다. 기존까지는 100개의 문자를 전송할 때 발생하는 Crossfadeed Amplitude 구간은 25% 였으나, 이번 패치를 통해 전체 데이터의 시작 파트와 마지막 파트만 적용함으로써 0.25% 정도로 확연하게 줄일 수 있게 되었습니다. 이는 Modulator 개선을 통해 수신률이 약 24.75% 이상 향상되었다고 볼 수 있습니다.

comments powered by Disqus