물리계층 → Signaling
이전에 말했듯 물리계층에서 중요한 것은 다음 2가지이다.
- Signal definition : 신호
- encoding
- modulation
- Interface definition : 전송 매체
이 중에서 interface(전송매체) 중 유선, 무선 및 twisted pair, 동축케이블, 광케이블 등에 대해서 배웠었다.
이제 물리 계층의 Signal definition (신호) 에 대해 알아보자.
물리 계층의 Signal definition 에서 제일 중요한 개념은 encoding과 modulation이다. 즉 데이터의 부호화가 제일 중요한데 이 것에 대해 알아보자.
다음 그림을 보면 알기 쉽다. 일단 인코딩은 data를 digital 화 하는 과정을 이야기 한다. 그에 반해 Modulation 은 데이터를 Analog 신호화 하여 특정 대역폭으로 부호화 해줄 수 있다.
Modulation 은 신로를 멀리 보낼때 장거리 통신에 유용한 아날로그 신호로 변환할 때 유용하다.
Encoding과 modulation 은 데이터를 신호로 부호화 하는 방법으로써 다음과 같은 경우의 수가 존재한다.
- Digital → Digital
- Digital → Analog
- Analog → Digital
- Analog → Analog
다음 중에서 첫번째 Digital → Digital 인코딩에 대해서 알아보자.
1. D → D
디지털 데이터를 디지털 신호로 바꾸는 방식은 여러가지 방법이 있다.
- Non return to zero (NRZ)
- Multilevel binary
- Biphase
- Modulation rate
- Scramblig techniques
각각에 대해 알아보기 전에 필요 용어에 대해 정리해보자.
- Unipolar : 극성이 한개인 것을 의미한다. 즉, 5V ~ 0V 와 같은 2개의 큰 신호를 가지고 있는 걸 의미한다.
- Polar : 극성이 2개인 것을 의미한다. 5V ~ -5V 처럼 양, 음 2값을 범위로 가지고 있는 것을 의미한다.
- Data rate : 데이터 송신률로 초당 몇 비트를 보내는 지를 의미한다. Signal rate 와는 다른 말이다.
- Duration or length of a bit : 비트를 보낼 떄 걸리는 시간이다.
- modulation rate : Signal Rate 의 한 종류로 초당 얼마만큼의 아날로그 신호로 변경하는 지를 나타내는 지표이다. 보통 baud 로 나타낸다.
- Mark and Space : Mark는 1을 의미하고 Space 는 0을 의미하는 용어이다.
추가적으로 다음의 단위들을 기억해두어도 편하다.
1.1. Interpreting Signal ⇒ Synchronous
또한 signal 을 해석함에 있어서 중요한 것은 동기이다. Clocking 이라고도 하는데 수신측에서 해당 신호의 signal 동기를 찾아야 올바른 시작점을 찾아 신호를 읽을 수 있다.
허나 당연히 신호가 가는 도중에 distortion(왜곡) 될 수도 있는 것이고, SNR(Signal to Noise Rate)이 높을 수도 있고, 특정 대역폭으로 보내질 수도 있고, 특정 데이터 rate 으로 보내질 수 있으니 받는 쪽에서 해석을 잘 해야 한다.
1.2. D→D 방식
일단 NRZ 는 이름 그대로 0으로 변환하지 않는 방 식이다. 즉, 1 또는 -1 의 값만 가지도록 변환해준다. 또한 뒤에 L 이 붙은 경우에는 Level 에 따라 0 → +1, 1 → -1 이런식으로 변환하는 것이고 I 가 붙은 경우에는 다음 bit가 1이냐에 따라 데이터의 값이 바뀔 때 신호의 위상을 바꾸어 변환하는 방법을 이야기 한다.
그다음 Bipolar-AMI 는 0은 그대로 0으로 변환하되 1은 그 값을 +,- 계속 toggle 시키며 변환하는 방식이다. 보통 부호 변화가 많을 수록 받는 쪽에서 Sync 를 맞추기 쉽다.
Pseudoternary 는 Bipolar-AMI와 반대로 1은 그대로 1로 변환하되 0일 떄 값을 계속 toggle 시키는 변환 방법이다.
Manchester 는 0은 '+ → -', 1은 '- → +' 이런식으로 변환하는 방식이다.
Differential Manchester 는 경계선에서 level 변화가 없으면 1, le vel 변화가 있으면 0 을 의미하는 방법이다.
◆ Evaluating Encoding Schemes
변환 방법의 기능을 평가하는 기준이 몇가지 있다.
- Signal spectrum : 얼마나 spectrum 을 많이 쓰냐가 평가 기준이다. 통신 정보량을 뜻하는 대역폭을 크게 쓸수록 Rate 는 올라가지만 그만큼 resource 를 낭비하는 것이니 좋지 않게 평가될 수 있다.
- Clocking : 신호의 동기를 잘 맞출 수 있느냐로 평가한다. 동기를 잘 맞출 수록 좋은 변환 방법이다.
- Error detection : 시간이 깨짐을 감지할 수 있는지, 즉 오류를 잘 검출 할 수 잇는가로 평가한다.
- Signal interference and noise immunity : 간섭이나 노이즈가 얼마나 없는가
- Cost and complexity : 비용이나 복잡도 측면에서 평가한다.
1.3. Multilevel Binary Issues [Scarmble]
0과 1 의 변화가 없을 떄 수신측에서 동기를 잘 못 맞출수 있다. 때문에 이를 방지하기 위해 Scramble 기법을 사용한다. 즉, 변화가 없는 경우 중간중간 비트를 강제로 추가해주는 방법이다.
이 방법은 일반 NRZ 방법보다 덜 효율적이다. 왜냐 3 level로 3bit 처리 가능한 NRZ 와는 달리 Scramble 기법은 3 level을 가지고 2bit만 처리 가능하기 때문이다. [강의참고]
즉 Scramble 기법은 에러를 줄이기 위해 NRZ 방법보다 3dB 정도의 Signal Rate 더 필요로 한다.
일단 Manchester 와 Different Manchester 방법은 Biphase 기법을 사용한다. 즉,
다음 그림에서 처럼 한 비트를 표현하기 위해 2개의 signal level을 사용하는 방법이다. 이러한 방법 때문에 Manchester와 Different Manchester 방법의 장 단점은 다음과 같다.
- 장점 : 동기를 맞추기 편하다. 평균 dc 가 0이다. (즉, 한 level 의 signal 이 더 많거나 그런 경우가 없다.) 에러 감지를 더 잘 할 수 있다.
- 단점 : bit 당 많은 Signal 을 사용한다. 때문에 단위 시간 당 필요한 signal이 많을 뿐더러 더 많은 대역폭이 필요하다.
장단점을 더 잘 이해하기 위해 다음 그림을 살펴보자.
일단 변수에 대해 알아보자.
D 는 mod rate 로써 baud 단위를 쓰는 signal rate 라고 생각하면 된다. R 은 data rate 로 bps 단위를 사용한다. M 은 signal number를 L은 bits per signal을 의미한다.
NRZI는 bit당 signal level 하나가 필요하기 때문에 L은 1이고, 때문에 signal rate 와 data rate 가 같다.
그에 반해 Manchester 는 bit 당 signal level 2개가 필요하기 때문에 L은 1/2 가되고 data rate 는 signal rate 의 2배가 된다.
즉 수치상으로 봐도 Manchester 가 NRZI보다 단위 시간당 많은 signal 을 사용하는 단점이 있다고 볼 수 있다.
1.4 Scrambling
Scrambling 이란 위에서 말했듯이 bit 변화가 없는 경우 데이터 싱크를 맞추기 힘들기 때문에 이를 보완하기 위해 도입된 방법이라고 했었다.
어떤 방법을 사용하는 지 알아보자. 일단 기존 data에서 0, 1, 0, 1이 골고루 일어나도록 섞는다. 단! 원래의 data bit 의 길이와 같도록 섞어야 한다. 이렇게 섞어주면 수신 측에서 bit 의 변화를 보고 더 쉽게 싱크를 맞출 수 있게 된다.
Scramling 방법의 궁극적인 목적은 다음과 같다.
- Have no dc component ; 통신에서 제일 피해야할 직렬 요소를 없앨 수 있다. 즉, 한 값으로 계속 유지되는 상황을 피할 수 있다.
- Have no long sequences of zero level line signals : 똑같은 bit 반복을 없앨 수 있다.
- Have no reduction in data rate : Manchester 와 다르게 rate 를 건들지 않고 싱크를 맞출 수 있다.
- Error detection capability
Scrambling 기법을 사용한 경우를 알아보자. 일단 보면 B8ZS, HDB3 이 두가지를 볼 수 있다. 숫자를 보고 바로 알아차리면 더욱 좋다.
B8ZS 같은 경우는 8개의 zero 발생 시 사이에 Scramble 해주는 기법이다. 보면 알 수 있듯이 0이 8개 연속으로 나오니 VBVB 이런식으로 비트를 껴준 걸 확인 할 수 있다. 이 때 보면 알 수 있듯이 V 는 violation 의 약자로 규칙을 어겼다라는 의미로 나오기 시작한 것이고 B는 V를 상쇄시켜주기 위해 즉 dc 값을 0으로 만들기 위해 추가한 값이라는 것을 알아두자.
HDB3 은 다음과 같은 4가지의 경우의 수를 가지고 bit 를 scrambling 해주는 방법이다.
즉 이전의 pulse 값이 음수냐 양수냐와 이전에 Bipolar, 극값이 홀수냐 양수냐에 따라 다음과 같은 패턴을 넣으라는 이야기이다.
따라서 다시 위의 그래프를 보면 직전의 극 값이 음수에 이전 까지의 극 값의 개수가 홀수 개이기 때문에 000- ⇒ 000V 로 변경 된 것이다. 그 이후 다시 보면 극 값이 다시 짝수 개가 되었고, 직전의 극 값이 음수이기 때문에 +00+ → B00V 가 된 것이다. 이런식으로 경우의 수에 맞게 끔 값을 고쳐주면 되는 방법이다.
2. D → A
디지털 데이터를 아날로그 신호로 부호화 하는 과정을 Keying 이라고 한다. 추가로 아날로그 신호로 변환하는 방법을 위에서 modulation 이라고 했으니 이건 알아두자.
D→A 방식은 다음과 같이 크게 3가지로 나뉜다.
- Amplitude shift keying (ASK)
- Frequency shift keying (FSK)
- Phase shift keying (PSK)
추가로 실제로 현대 통신에서 많이 쓰고있는 아날로그 변환 방식인 QAM (Quadrature amplitude modulation) 방식도 있다.
2.1 Digital Data, Analog Signal
일단 보통 이 두가지 변환 방식은 전화에서 대표적으로 사용된다. 또한 D → A 은 대역폭이 작으며 작은 대역폭에 data를 심어주는 방식의 keying을 주로 사용한다. 보통 이 변환 방식은 Modem (Modulator-demodulator) 를 사용한다.
다음 방식을 보자. 일단 ASK 는 digital data가 1일 때만 신호화 해주는 방식이다. 이 방식은 다른 방법에 비해 비효적이다. 보통 모스부호처럼 저속 통신에 사용하는 방식이다. 하지만 빛 통신에서는 이 방법을 사용한다. (빛이 있다, 없다를 기준으로)
그에 반해 BFSK 는 신호는 다 보이되 F가 frequency 를 뜻하는 것처럼 1일 때 주파수를 올리는 방식으로 달리 해주는 방식이다. 이 방식도 성능이 좋지 않다. 역시 대역폭이 1200bps 밑으로의 낮은 대역에서 사용된다. 동축케이블에서는 매우 빠른 frequency 로 사용되기도 한다.
BPSK 는 phase 가 위상을 뜻하는 것 처럼 0과 1의 위상이 다르도록 처리해준다. 그림은 180도 위상차이가 나는 것을 확인할 수 있다. 이 변환 방법을 약간 확장 한 것으로 Differential PSK 변환 방법이 있다.
그림에서 알 수 있는 것과 같이 0에서 1로 갈 때 위상이 변환되는 동시에 1에서 1로 연속해서 변화할 때도 위상을 바꿔주는 것을 볼 수 있다.
2.2 Multiple FSK (MFSK)
여러 비트를 묶어 주파수로 표현해주는 방식이다. 위의 FSK는 0과 1 한개의 비트만을 주파수를 다르게 해 표현해준 것과 반대로 2개 또는 그 이상의 비트를 묶어 각각을 주파수로 표현해 변환하는 방식이다.
FSK보다 많은 대역폭을 사용할 수 있는 장점이 있지만 그만큼 더 에러에 민감하다.
2.3 QPSK, OQPSK
이 두 가지는 기능이 거의 똑같다. 일단 input 을 2개로 쪼개 위 아래로 나눠주는 것을 볼 수 있다. 그리고 각각 cos, sin 값을 곱해주는 것을 볼 수 있다.
그 다음 이 2개를 각각 합쳐주는 방식이다.
이걸 보면 바로 이해할 수 있다. bit number 는 I와 Q로 반 조각 낸 것을 볼 수 있다. 그 후 각각을 합성해주면 OPSK, QOPSK 라고 볼 수 있는 것이다.
이 때 한 가지 기억할 것은 I(t)와 Q(t) 의 조합이 총 4가지가 있는데 이 4가지 조합 각각에 phase 값을 정해 놓고 합성시킨다는 것이다.
다음 그림을 봐보자. MFSK는 M값이 커질 수록 에러가 줄어들어 성능이 좋아지는 반면 MPSK는 M값이 커질수록 즉, Multiple 하게 늘릴 수록 에러가 커진다는 것을 알 수 있다.
즉, BER(에러 성능) 부분에서 MPSK가 더 안좋아 보일 수 있지만 나머지 성능이 MPSK 가 더 좋아서 MPSK가 결국 전체 성능이 좋다고 평가받는다.
Bandwidth Efficiency
2.4. QAM
이제 MPSK의 자손 격이자 현재 거의 이것만 사용하는 QAM에 대해 알아보자.
이놈은 phase하고 amplitude 계열을 동시에 변화하여 변환하는 방법이다. 다음 그림을 봐보자.
PSK 같은 경우는 원에 점들을 4개 찍어 아까 말한 I와 Q의 경우의 수인 점과 대응하도록 찍어 변환하는 방법이다.
이와 비슷한 방법인 QAM은 원을 하나가 아닌 2개를 그리고 모든 8개의 경우의 수를 의미하는 점들을 찍어 변환하는 방법이다.
즉, QAM이 PSK보다 더 많은 경우의 수를 변환할 수 있어 결국 보낼 수 있는 비트의 수가 많기 때문에 더 성능이 좋은 방법이라고 할 수 있다.
3. A → D
이 encoding 방법은 대표적으로 다음과 같다.
- PCM (Pulse code modulation) → 전화: 신호가 사용하는 주파수 대역의 2배 이상만 sampling 하면 정보 손실 없이 AD conversion 할 수 있다. 이 때 PAM 은 Pulse Amplitude Modulation 으로 크기 만을 읽어낸 신호를 의미한다.즉 쉽게 설명하자면 다음과 같다.Analog data의 최대 값과 최소 값의 차이를 구간화하여 나눈 다음 각각을 비트로 표현하여 각 주파수 대역의 2배이상의 시간으로 자른 각각의 analog data 점들을 Digital signal 로 변환하는 방법이다. 별로 성능이 나올 거 같지 않은 방법이지만, 사람 목소리의 경우에는 1.2bps 로도 잘 알아 먹을 수 있기 때문에 충분히 먹히는 변환 방법이라고 할 수 있다.
→ Companding : 작은 소리로 잡아내기 즉, compression + expanding 의 뜻을 가지고 있는 놈이다. 소리의 크기가 작을 떄 값을 보완하여 잘 들리게 변환해주는 방법이다. 다음 그림을 보면 쉽게 이해할 수 있다. - → Non-Linear Coding : 하나의 단계 단계 모두 8bit로 읽는 것이 linear coding이다. 허나 낮은 톤, 높은 톤 각각에 맞춰 다른 크기로 non linear 하게 자르는 것이 Non-linear 방식이다.
- DM (Delta modulation) : 소리 크기 변화를 신호로 나타낸다. 지금은 거의 쓰지 않는다.
4. A → A
이 modulation 방법은 다음과 같다.
- AM (Amplitude modulation) : 진폭에 맞춰 태워보낸다.
- FM (Frequency Modulation) : 주파수로 신호 값을 표시하는 방법으로 태워 보낸다.
- PM (Phase modulation) : 위상에 맞춰 태워 보낸다.
각각을 한꺼번에 나타낸 그래프는 다음과 같다.
이거는 쉬우니 그림 만으로 넘어가자. 다만 원래의 Analog data를 carrier에 태워 analog signal 화 한다는 것만 알아두자.
'책장 > 네트워크' 카테고리의 다른 글
[통신4] Transmission Media (0) | 2021.04.19 |
---|---|
[통신3] Data Transmission (0) | 2021.04.19 |
[통신2] Protocol, Internet (0) | 2021.04.17 |
[통신1] 통신, 네트워크, The Internet (0) | 2021.04.17 |
Uploaded by Notion2Tistory v1.1.0