저번 포스팅에서 아날로그 신호를 디지털 신호로 변환하는 방법에 대해 알아보았습니다. 이번 포스팅에서는 디지털 신호를 아날로그 신호로 변환하는 방법에 대해서 살펴보겠습니다.
HelloWorld 라는 문자열을 소리를 통해 전송해야 하는 문제가 있다고 생각해봅시다. 이를 해결하기 위해서는 먼저 HelloWorld 를 어떻게 소리로 바꿀 것인가? 라는 문제가 있습니다.
이 문제를 좀더 General 하게 생각해보면, 디지털 신호를 어떻게 아날로그 신호로 바꿀 것인가? 입니다.
1. 디지털 신호를 아날로그 신호로 바꾸는 방법

먼저 ASK 에 대해 알아보겠습니다. Amplitude Shift Keying 방식의 Modulation 에서는 0 또는 1 로 나타나는 비트가 Amplitude 가 다르고 Frequency와 phase가 같은 사인함수로 나타납니다. (아날로그 신호는 사인함수들의 합이라고 했습니다!)

FSK 방식의 Modulatioon 에서는 0 또는 1 로 나타나는 비트가 Frequency 가 다르고 Amplitude와 Phase가 같은 사인함수로 나타납니다. (아날로그 신호는 사인함수들의 합이라고 했습니다!)

PSK 방식에서는 0 또는 1로 나타나는 비트를 Phase 가 다르고, 주파수와 Amplitude 가 같은 사인함수로 나타냅니다. (아날로그 신호는 사인함수들의 합이라고 했습니다!)

QAM 방식에서는 0 또는 1 형태의 비트들을 (크기, 위상) 을 이용해 나타냅니다. 이전까지의 ASK, FSK, PSK 의 경우 1signal / 1element 이었습니다. 하지만 QAM 방식을 이용함으로써 하나의 아날로그 신호가 여러 비트의 정보를 담을 수 있습니다. QAM 의 경우, 위상과 크기가 다르고, 주파수는 같은 여러 사인함수를 조합한 아날로그 신호를 생성합니다.

4-QAM 의 경우 00, 01, 10, 11 까지 총 4개의 비트들을 표현할 수 있습니다. 16-QAM 의 경우 0000 ~ 1111 까지 총 16개의 비트들을 표현할 수 있습니다. 즉 QAM 은 앞의 3가지 방법에 비해 굉장히 효율적인 방식이어서 요즘의 통신방식에서는 대부분 QAM 을 채택합니다.
이제 다시 먼저 HelloWorld 를 어떻게 소리로 바꿀 것인가? 의 문제로 돌아와 봅시다.
먼저 H e l l o W o r l d 의 각 알파벳 한 character 는 8비트의 ASCII 코드로 나타낼 수 있습니다. (실제로 ASCII 코드는 7비트만 사용합니다.) 그러면 H 의 경우 0x48 = 0100 1000 으로 표현될 것입니다.
FSK 방식을 사용하여 HelloWorld 를 소리로 전달하는 방법에 대해 다음과 같은 프로토콜을 채택한다고 합시다.

신호의 전달이 시작된다는 것을 알리기위한 handshake start frequency 8192Hz
, 신호의 전달이 종료된다는 것을 알리기위한 handshake end frequency
그리고 4bit 즉 16개의 Tone 을 1024Hz 부터 256Hz 씩 증가시킨 transmission start and step frequency
Tone 이 몇 bit 로 이루어졌는지 지정하는 CHUNK (WAV 파일에서의 CHUNKSIZE 나 Sample per Chunk 와 다름, bit per sample 과 유사)
'데이터 통신' 카테고리의 다른 글
[Lab - Data Over Sound] 모스부호로 데이터 전송하기 (0) | 2023.04.05 |
---|---|
[Data Communication] 다중화 (Multiplexing) (0) | 2023.04.04 |
[Data Communication] 디지털 데이터 -> 디지털 신호, 디지털 데이터의 전송 방식 (0) | 2023.03.27 |
[Data Communication] 아날로그 신호 -> 디지털 데이터로의 변환 (0) | 2023.03.14 |
[Data Communication] OSI 7계층, 패킷 송수신 (3) | 2023.03.13 |