이름에서도 알 수 있듯, 디지털(이산적인) 신호를 아날로그(연속적인) 신호로 변환하는 것에 대해 다룰 예정이다.
보내는 쪽은 디지털 데이터를 가지고 있고 변조(Modulation)을 통해 아날로그 신호로 바꿔서 전달한다.
받는 쪽에서는 다시 아날로그 신호를 역변조(Demodulation)을 통해 디지털 신호로 바꿔서 디지털 데이터를 수신하게 된다.
들어가기 전에 두가지만 알아두자
1. Bandwidth (대역폭)
디지털 데이터를 아날로그 신호를 전송하기 위해 필요한 대역폭은 Signal rate에 비례한다.
https://ideadummy.tistory.com/102
이전 포스팅에서도 설명했지만 signal rate은 1초에 몇개의 신호를 전달할 수 있는지를 의미한다.
2. Carrier signal (반송파)
반송파라고 하는 해석이 있다. 영어를 한자로 바꿔놨다.
반 : 옮길 반
송 : 보낼 송
파 : 물결 파
물결(아날로그 신호)을 옮겨서 보낸다? 뭐 이런 의미인거 같은데, 왜 더 어렵게 단어를 썼는지는 알 수 없다.
Carrier signal의 의미는 다음과 같다.
장치에서 보내는 아날로그 신호의 기반(base)으로 작용하는 신호
반송파가 뭐야 열받게.
정확히 뭔지는 앞으로 차차 이해해보자.
Digital-to-analog conversion
디지털 데이터를 아날로그 신호로 변환하는 방법은 모두 4가지이고, 기반이 되는 방법이 위 사진에서 노란색으로 되어있는 방법들이다.
아날로그 신호를 구성하는 것들이
- 진폭 (Amplitude)
- 주파수 (Frequency)
- 위상 (Phase) == 각도
이중에 위상(각도)이 좀 의아할 수 있는데, 아날로그 신호가 사인(Sine) 함수로 보내지기 때문이다.
사인 함수에서 각도라 하면, x축에 해당되는 부분으로 0~360도 까지 있다.
따라서 phase shift라고 하면 이런 사인 함수를 오른쪽으로 이동 시킨다고 생각하면 된다.
각도 뿐만 아니라 진폭이나 주파수도 마찬가지로, 늘리거나 줄여서 변환한다고 생각하면 된다.
Binary ASK (BASK)
Binary Amplitude Shift Keying 이라고 불리는 방식으로 기반이 되는 신호인 Carrier signal의 진폭에 변화를 줘서 신호를 보낸다.
2개의 carrier signal을 사용하는데, 하나는 기본적인 사인 함수이고,
나머지는 이와 합쳐져서 진폭에 영향을 주도록 만든 carrier signal이다.
진폭만 변화를 주기 때문에 주파수나 위상은 변화하지 않는다.
데이터 하나(1 bit)에 하나의 신호를 대응시켜서 보낸다.
위 그림을 잘 보면, 1일때의 진폭은 양의 값을 갖고, 0일때의 진폭은 0 또는 1일때의 진폭보다 더 작은 진폭을 가진다.
(일반적으로는 0일때 진폭을 주지 않도록 만든다고 한다.)
1초에 5개의 신호를 보내기 때문에 5 baud(signal rate의 단위)라고 표시됐음을 알 수 있다.
오른쪽 그래프 x축의 $f_c$는 carrier signal의 주파수를 의미한다.
여기서 대역폭은 신호를 전송할때 필요한 최대 주파수와 최저 주파수의 차이로 결정이된다.
이때 signal rate을 높인다는 말은 사인 함수가 1초 안에 한바퀴(0~360도, 사이클)를 도는 속도가 빨라진다는 이야기가 된다.
당연히 주파수(1초에 몇번의 사이클을 도는지를 의미)가 올라가고, 최저 주파수는 그대로인데 최대 주파수가 올라가니까
자연스레 필요한 대역폭의 크기는 커지게 된다.
(위 그림에서 대역폭이 $B = (1+d) \cdot S$(B = bandwidth, S = signal rate)로 계산되는데, d는 편파지수(departure factor)라고 한다.)
이런 특징은 당연히 진폭과 전혀 관련이 없다.
2개의 carrier signal이 존재한다고 했고, 그중 하나는 데이터 동기화와 복호화에 사용되는 carrier signal이다.
만약 이 두개의 carrier signal이 가진 주파수가 서로 너무 가깝게 붙어있다면, 신호의 간섭이 일어나게 된다.
위 그림에서 $f_{c1}$의 최대 주파수와 $f_{c2}$의 최저 주파수는 딱 붙어있고, 합쳐지지 않을거라는 보장이 없다.
간섭이 일어난다는게 뭔말이냐면, 서로 합쳐져서 더 큰 진폭을 이루게 된다는 말이다.
이러면 참사가 일어난다.
누군가는 어차피 BASK는 1일때 진폭이 양의 값이고, 0일때 진폭이 없으면 간섭이 일어나도 되지 않나? 라고 할 수 있겠다.
위에서 2개의 carrier signal을 사용해서 신호를 만든다고 했는데, 잘못하면 0일때의 진폭이 더 커질수가 있다.
뭔 말이냐면, 신호에 문제가 생긴다는 말이다.
또한 대역폭이 예상한 것보다 커져서 신호가 망가질 수도 있다.
Binary FSK (BFSK)
주파수를 변형해서 신호를 보내는 방식이다.
1을 보내는 경우와 0을 보내는 경우가 서로 다른 주파수를 사용한다.
주파수를 건들이기 때문에 당연히 대역폭에 영향이 갈 수밖에 없다.
대역폭을 B, 편파지수를 d, 그리고 signal rate을 S라고 하자.
그럼 대역폭은 $B = (1+d) \cdot S + 2 \cdot df$ 이다.
이때 위 그림에서 $f_1$, $f_2$를 중심으로 각각 대역폭이 $(1+d) \cdot S$이다.
최저 주파수는 $f_1$으로부터 $\frac{(1+d) \cdot S}{2}$ 만큼 차이가 나고
최대 주파수도 동일하게 $f_2$으로부터 $\frac{(1+d) \cdot S}{2}$ 만큼 차이가 난다.
더불어 $f_1$과 $f_2$의 차이는 $f_2 - f_1 = 2 \cdot df$ 라고 계산되므로
$\frac{(1+d) \cdot S}{2} + \frac{(1+d) \cdot S}{2} + 2 \cdot df = (1+d) \cdot S + 2 \cdot df$ 이기 때문에 위 식이 맞다는 것을 알 수 있다.
Binary PSK (BPSK)
위상을 조정하기 때문에 주파수나 진폭이 변하지 않는다.
1이랑 0이 서로 다른 위상을 가진다.
(일반적으로 180도 차이를 둔다고 한다.)
BPSK는 BASK만큼 간단하지만, 노이즈에 덜 민감하다는 장점이 있다.
노이즈가 생기면, 위상이나 진폭에 영향을 주는데 1이든 0이든 상관없이 공평하게 영향이 간다.
만약에 이 위상이 180도 이내로 변화했다면 서로 다른 위상을 가지고 있는것에는 변함이 없으므로 노이즈에 대해 덜 민감하다고 할 수 있다.
180도가 넘어가면 1과 0의 위치가 뒤바뀔 수 있기 때문에 180도가 기준이다.
반면 진폭에 영향을 받은 BASK는 노이즈에 굉장히 민감하다고 할 수 있다.
진폭이 변화하면 값이 아예 다르게 나올 수 있기 때문이다.
BPSK는 한개의 carrier signal을 사용하기 때문에 BASK보다 우수하다.
그러나 BPSK는 위상도 감지할 수 있는 하드웨어를 가지고 있어야한다는 단점이 있다.
Quadrature PSK (QPSK)
2개의 BPSK를 사용하는 방법이다.
하나는 각도(위상)의 차이가 360도(2*pi, in-phase), 다른 하나는 서로 각도가 다르다.(out-of-phase)
이게 뭔말인지 사진을 통해 알아보자.
위에서부터 데이터가 00($\pi \over 4$), 01($3\pi \over 4$), 10($5\pi \over 4$), 11($9\pi \over 4$)에 대한 사인파라고 하자.
그럼 위와같이 00과 11은 차이가 360도 이므로 겹치고, 01과 10은 서로 겹치지 않는 신호가 완성된다.
하나의 신호는 마치 극좌표계(polar system)에서의 한 점을 나타내듯 표현할 수 있다.
이때 반지름의 길이가 진폭(Amplitude)이고, 각도가 위상(Phase)이다.
따라서 지금까지 배운 BASK, BPSK, QPSK는 아래와 같이 나타낼 수 있다.
ASK는 0일때의 진폭이 0이므로 반지름이 아예 없다.
BPSK는 둘이 180도 차이를 가지므로 수평으로 자리하고 있다.
QPSK는 위의 정의에 맞게 표현되었음을 알 수 있다.
Quadrature Amplitude Modulation (QAM)
지금까지 잘 이해했다면, 이런 생각이 들 수도 있다.
왜 BPSK만 2개를 쓰지? BASK랑 BPSK를 사용하면 더 많은 데이터를 하나의 신호로 보낼 수 있지 않나?
맞다.
애초에 BPSK를 기반으로 했다면, 좋은 장비를 가지고 있어야하기 때문에 BASK를 사용해서 이를 보완할 수 있다.
따라서 아래와 같이 만들 수도 있다.
4-QAM은 서로다른 4개의 진폭과 4개의 각도를 가진다.(1번째 4-QAM)
혹은 진폭은 같은데 각도가 QPSK와는 다르게 정의하여 만들수도 있다.(2번째, 3번째 4-QAM)
좀 과하긴 한데.. 서로다른 4개의 진폭과 12개의 각도를 사용할 수도 있다.(16-QAM)
'CS > 데이터 통신' 카테고리의 다른 글
[데이터 통신] Multiplexing (0) | 2023.04.12 |
---|---|
[데이터 통신] Analog-to-Analog 변환에 대해 (1) | 2023.04.12 |
[데이터 통신] Block coding과 Analog to Digital 변환 (3) | 2023.04.12 |
[데이터 통신] Line coding에 대해 (4) | 2023.04.12 |
[데이터 통신] 데이터와 신호 (2) | 2023.04.12 |