Multiplexing (다중화)
논리회로에서 나왔던 MUX(Multiplexer)는 다수의 신호중 하나의 신호를 골라서 보내는 방법이었다.
그러나 지금부터 알아볼 Multiplexing은 다수의 신호를 하나의 데이터 링크에 동시에 보내는 방법을 말한다.
받는 쪽에서는 Demultiplexing 하여 이 신호를 분리하여 알맞은 라인에 보내게 된다.
Multiplexing은 신호의 종류에 따라 달라지는데 총 3가지가 있다.
Frequency-division multiplexing은 아날로그 신호에 대해서 다중화를 진행한다.
Wavelength-division multiplexing은 신호를 빛의 형태로 보낼 때 사용하는 방법이다.
Time-division multiplexing은 디지털 신호에 대해 사용하는 방법이 되겠다.
Frequency Division Multiplexing (FDM)
위에서 말했듯 FDM은 아날로그 신호에 대해 사용하는 방법이다.
다수의 아날로그 신호들은 하나의 데이터 링크에 합쳐져서 보내지므로, 이 합쳐진 신호들을 보내려면 대역폭이 커야한다.
따라서 데이터 링크의 대역폭이 합쳐진 신호들의 대역폭보다 커야함은 필수 조건이 된다.
위의 사진에서 주의깊게 봐야할 점은 아날로그 신호들이 이미 한번의 변조(Modulation)을 거쳤다는 것이다.
그림의 형태만 봐서는 ASK 방식을 사용했다고 예측할 수 있다.(진폭이 계속 변하기 때문에)
또한 각각의 신호들이 서로 다른 Carrier signal을 가졌다는 것도 알아두자.
받는 쪽에서는 필터를 앞에 끼고있는데, 이는 전송시 생기는 노이즈를 제거하기 위함이라는 것을 알 수 있다.
이제 예시를 한번 보자.
전화선 각각이 4kHz의 대역폭을 가진다고 하자.
이때 Carrier signal의 주파수를 조정하여 서로 간섭이 일어나지 않도록 조정한다.
이후 하나로 합쳐서 보내게 되면 데이터 링크는 12kHz의 대역폭(20kHz ~ 32kHz)을 가지고 있어야함을 알 수 있다.
조금 더 복잡한 예시를 들고왔다.
가장 말단(terminal)에 존재하는 전화선들은 4kHz의 대역폭을 가지고, 마을 한곳에는 12개의 유선 전화가 있다고 하자.
그럼 마을 하나를 감당하기위해, FDM을 거쳐서 나오는 하나의 데이터 링크는 48kHz의 대역폭이 필요하다.
이런 마을이 총 5곳이 있다고 하면, 5곳의 마을을 감당하기 위해서 240kHz의 대역폭을 갖는 데이터 링크가 필요하다.
한 지역에 5곳의 마을이 있다고 하자.
이런 지역이 총 10곳이면, 그 다음 데이터 링크는 2.52MHz의 대역폭이 필요하고
하나의 나라가 이런 지역이 총 6곳 있다고 하면, 이를 감당하는 데이터 링크는 16.984 MHz의 대역폭을 가져야한다.
Wavelength Division Multiplexing (WDM)
WDM은 광케이블로 전송해야하는 데이터들 즉, 높은 data rate을 갖는 신호에 대해 설계되었다.
광 케이블은 철로된 전송 케이블보다 data rate(1초에 몇개의 데이터를 보내는가?)이 훨씬 높으므로 하나의 신호만 보내기엔 너무 과하게 좋다.
따라서 다중화로 여러개의 신호를 합쳐서 보내는 것이 효율을 높이는 것이된다.
아날로그 신호랑 별 다를게 없으나, 빛을 이용한 신호이기 때문에 Multiplexer나 Demultiplexer가 프리즘의 형태로 표현됐음을 이해하자.
Time Division Multiplexing
FDM에서 데이터 링크의 부분(주파수)를 사용했다면, TDM은 하나의 라인이 데이터 링크를 모두 사용하긴 한다.
다만 시간이 분할돼서 매 순간 쓰는 라인이 다를뿐...
자세한 것은 그림을 보면서 이해해보자.
A, B, C라는 데이터는 시분할되어 3조각으로 나눠서 전달될 예정이다.
이를 TDM을 통해 다중화해서 A, B, C 순서대로 한조각씩 보낸다고 생각해보자.
그림을 보면 T라는 시간 안에 하나의 프레임을 보낸다.
이때 하나의 프레임은 A, B, C 순서로 $T \over 3$ 만큼 시간이 할당(time slot)되어 들어간다.
왼쪽의 A1, B1, C1은 T시간안에 들어오는 크기였으나, 이게 TDM을 거치게 되면 A1, B1, C1은 $T \over 3$안에 출력되어야한다.
데이터 양은 같은데, 더 빠른 시간안에 보내야한다는 의미이다.
즉, 데이터를 보내는 속도가 데이터가 들어오는 속도보다 3배가 빨라야함을 알 수 있다.
이는 data rate(1초에 몇개의 bit를 보낼수 있는가?)의 상승을 의미하며,
data rate의 상승은 signal rate의 상승을 의미하고 (Shannon's Law, 전송할 수 있는 최대 데이터 속도는 대역폭에 비례한다는 정리)
signal rate과 대역폭은 비례하므로 대역폭이 더 커져야함을 알 수 있다.
따라서 위와같이 입력으로 주어지는 라인들이 각각 1Mbps의 data rate을 가진다면, 출력에 해당하는 라인의 data rate은 4Mbps가 된다.
TDM은 시분할로 보내기 때문에 타이밍을 잘 맞춰야한다는 단점이 존재한다.
위 그림은 타이밍 맞추는 것을 아주 잘 표현했다고 할 수 있다.
왼쪽에서 돌고있는 분홍색 원은 데이터를 A1, B1, C1 순서로 받아서 출력 데이터 라인에 넣고있다.
오른쪽에서 돌고있는 분홍색 원은 왼쪽의 원하고 같은 속도로 돌고있고(동기화), 반대 방향으로 돌기 때문에 A1, B1, C1 순서대로 알맞은 데이터 라인에 넣어준다.
근데, 이런 생각이 들 수 있다.
여러개의 입력 데이터가 서로 크기가 같을수가 있나?
위의 예시에서 A, B, C가 서로 다른 길이의 데이터를 가지고있다면, 어느 순간에는 분명 데이터가 더이상 들어오지 않는 데이터 라인이 존재할 수밖에 없다.
위에서 배운 동기화 방식으로 하려면, 데이터가 없는 부분은 공간을 비워놓고 보내야한다.
즉, 낭비되는 부분이 존재한다.
따라서 더 효율적으로 보내기 위해서는 어떤 데이터가 어느 출력 라인으로 가면 된다는 태그를 붙여주면 된다.
물론 특정 상황(모든 입력 라인에서 데이터가 들어오는 경우)에서는 이 방식이 더 비효율적일수도 있다.
'CS > 데이터 통신' 카테고리의 다른 글
[데이터 통신] Data-link Layer 집중탐구 (0) | 2023.04.18 |
---|---|
[데이터 통신] Spread Spectrum (0) | 2023.04.12 |
[데이터 통신] Analog-to-Analog 변환에 대해 (1) | 2023.04.12 |
[데이터 통신] Digital-to-Analog 변환에 대해 (0) | 2023.04.12 |
[데이터 통신] Block coding과 Analog to Digital 변환 (3) | 2023.04.12 |