צעדי חסד

ch04. Signal Encoding Techniques 본문

CS/데이터통신

ch04. Signal Encoding Techniques

טוֹבָה 2023. 9. 25. 22:41

Encoding and Modulation Techiques

carrier frequency ( 반송주파수는 어떤 임의의 신호를 멀리 보내기 위한 주파수)
 
Encoding 기술의 Options
아날로그 신호 -> 디지털 신호(X), 아날로그 신호를 이루는 데이터(아날로그 신호에서 데이터를 추출하는 것) -> 디지털 데이터(O)
1. Digital data, Digital signal
2. Analog data, digital signal
3. Digital data, analog signal
- 어떤 전송 매체들(optical fiber, unguided media) 는 아날로그 신호만 전파할 수 있다.
4. Analog data, analog signal
- 아날로그 데이터는 electrical form이다. 쉽고, 저렴한 가격으로 전달이 가능하다.
- 기저대역 신호의 대역폭을 스펙트럼의 다른 부분으로 이동
- Analog Radio / TV Broadcasting
 

  • Digital data, Digital Signal
    • Digital signal
      • discrete, 불연속적인 펄스
      • 각각의 펄스 = signal element
      • 이진 데이터들을 각각의 data bit를  signal element로 전송한다.
    • Line encoding
      • Digital Data -> Digital Signal
    • Block encoding
      •  M-bit Data -> N-bit Data
      • Apply Line encoding after performing Block encoding

Terminology

  1. Unipolar : 모든 signal elements는 같은 부호(0, +) 혹은 (0, -)를 가진다.
  2. Polar : 하나의 논리적인 상태는 (+, -)로 나타낼 수 있다.
  3. Bipolar : (+, 0, -)
  4. Multilevel
  5. Multi-transition
  • Data rate : rate, 1초 동안의 bits(데이터 전송 양)
  • Duration or length of a bit : 1bit 전송 시 걸리는 시간
  • Modulation rate : 신호 레벨이 변경되는 속도, 속도는 Baud(신호 요소)로 표시된다.
  • Mark and Space : 이진 신호는 1과 0을 참조한다.
용어 단위 정의
Data element Bits 단일 이진, 1 혹은 0
Data rate bps 초당 데이타 요소의 전송 비율
Signal element Digital : 진폭에서의 Voltage pulse
Analog : 주파수, 위상, 진폭이 일정한 펄스
시그널링 코드 중 가장 짧은 간격을 차지하는 신호 부분
Signaling rate or modulation rate baud(초당 신호 요소들) 신호 요소가 전송되는 속도

 
Signal elements versus data elements

r = data element / signal element
 
Interpreting Signals

  • Interpreting : 신호의 시작점과 끝점을 정하고, 신호 level(N voltage) 값도 정한다.
  • Interpreting에 영향을 줄 수 있는 요소에는 3가지가 있다.
    • Signal noise
    • Data rate
      • Data rate가 커지면, Bit error가 커질 수 있다.
    • Bandwidth
      • SNR 과 bit error rate은 반비례관계
      • Bandwidth와 Data rate은 비례관계이다.

 
Encoding Scheme
데이터 bit를 단위시간 내 더 많이 전송하고자 하기 위해 수행하는 것
Data bits를 signal elements로 mapping 한다.

 

Encoding sheme를 할 때, 지켜야 할 것(위의 성능 향상에 초점을 맞춘다.)

  • Signal spectrum : 좋은 신호 설계는 전송 대역폭의 중간에 전송 전력을 집중시킨다.
  • Clocking : 동기화, 송수신자 간에 정확한 타이밍 정보를 공유해서 데이터를 올바르게 해석하고 동기화시키는 것, 데이터 전송의 시작과 끝을 의미하며, 잘못된 클로킹은 데이터 오류의 원인이 될 수 있다.
  • Error detection : 전송된 데이터에서 오류를 탐지하는 과정
  • Signal interference and Noise immunity : 신호 간섭 및 잡음을 최소화하고, 신호 내성을 높이기 위해 필터링 및 오류 보정 기술을 사용한다.
  • Cost and Complexity : 비용과 복잡성을 고려한 통신 시스템 설계

Line Coding Scheme

Non return to zero
1. digital 신호를 전달하는 가장 쉬운 방법이다. 서로 다른 두 개의 voltages를 사용한다(0과 1)
2. Voltage level은 bit 구간에서의 끊임없는 것이다. 예를 들면, 

  • No transition(No return to a zero voltage level)
  • Absence of voltage for 0, constant positive voltage for 1
  • 종종 0은 한 개의 값으로 나타낼 수 있고, 1은 또 다른 표현으로 나타낼 수 있다(ex. MRZ-L, NRZ-level)

즉, Non return to zero 라는 것은 
디지털 신호 인코딩 방식 중 하나로, NRZ 신호는 디지털 데이터를 전송하기 위해 사용되면, 이것은 신호가 0일 때, voltage값을 0으로 한다는 뜻이다.
1) 상태 유지 : NRZ 신호는 데이터 비트가 변경되지 않는 한 상태를 유지한다. 즉, 1 또는 0을 유지하는 기간이 길어질 수 있다, 이것은 bit sequence가 일정한 상태를 유지하므로 클로킹을 동기화하는데 유용할 수 있다.
2) 신호 대역폭 : 신호가 0 또는 1 의 상태를 유지하기에 신호 대역폭이 넓어진다. 이는 주파수 스펙트럼에서 신호가 두 가지 레벨로 유지되므로 더 많은 대역폭을 사용하게 된다.
3) DC 컴포넌트 : NRZ 신호는 긴 기간 동안 0 또는 1의 상태를 유지할 수 있으므로, DC 컴포넌트 발생 가능성이 있다. 이것은 신호를 전송하는 과정에서 DC컴포넌트를 제거해야 할 필요가 있음을 의미한다.
이와 같은 문제가 지속될 시, 클로킹 문제와 신호 간섭 문제를 야기할 수 있다. (이를 보완하기 위해 등장한 NRZ-L, NRZ-I)

낮은 주파수를 통과시킬 수 없도록 만들어진 시스템이 있어
     DC 성분이 없도록 Encoding 필요 (전화선은 200 Hz 아래 주파수 통과 불가)
*  Transformer (electrical coupler) 가 필요한 시스템은 DC 통과 불가능
    (장거리 전송 라인은 여러 개의 transformer를 사용해야 함)

 
위에서처럼 NRZ의 동기화 취약 문제에 대한 보안책으로 NRZ-I가 등장했다.
- Non-return to zero, invert on ones
- 연속적인 voltage pulse를 유지한다.(bit time기간 동안)
- 데이터는 비트 시간 시작 시 신호 전환 유무에 따라 인코딩 된다. 

  • Is an ex of differential encoding
    • 데이터는 수준이 아닌 변화로 표현된다.
    • 값을 임계값과 비교하는 것보다 노이즈가 있을 때 전환을 감지하는 것이 더 안정적이다.

NRZ-L과 NRZ-I

  • NRZ-L : 현재 비트와 다음에 나올 비트가 같으면 signal의 모양을 그대로 두고, 다르면 반전시킨다.
  • NRZ-I : 다음 신호가 1이 나오면 signal 형태를 뒤집고, 0이라면, 현재 signal 모양을 그대로 둔다.

 
RZ

  • 0과 1에 해당하는 signal이 있고 각 비트에 맞게 signal을 보낸다.

1. 동기화 문제 해결 
2. +/- 전압의 균형 -> DC성분 해결
3. 신호 변화율이 높아서 더 폭넓은 주파수 대역이 필요함
 
Manchester

 
맨체스터 : 현재 비트와 다음에 나올 비트가 같으면 신호 파형을 그대로 두고 다르면 반전시킨다.
Differential맨체스터 : 다음에 나올 비트가 1이면 반전시키고, 0이면 그대로 둔다.
Multilevel Encoding

Multilevel Binary (Bipolar)
--> Bipolar-AMI
--> Pseudo-ternary
Multilevel

 

--> 2B/1Q, 8B/6T, 4D-PAM5
 
AMI

 
현재 비트다음 0이 나오면 진폭 값을 0으로 두고,  1이 나오면 차례로 +/- 진폭으로 위상을 반전시킨다.
Multilevel: 2B1Q
 

 
Multilevel: 8 B6 T

 
아래 그림, Multilevel : 4D-PAM5 scheme에서 보이듯이, 8bit의 신호가 있고, 이를 3개의 voltage level로 나누었다. 한 주기에 해당하는 것에 8bit가 표현되며, 6개의 전압표시가 있다. 각각의 signal요소에 해당하는 data element는 250 Mbps만큼의 전송속도를 가진다.

 
Multi-transition: MLT-3 scheme

 
 

Block Coding

쉽게 말하면, Line Encoding전에 하는 단계인데, 만약 송신자에게 Mbit가 있으면 이를 Nbit단위의 block로 끊어서 encoding 하는 방식이다.
그렇다면 왜 이것을 하는가 하는 이유는 크게 2가지가 있는데,
1. 동기화 문제를 줄이고자 한다.
2. 발생하는 몇몇 오류를 감지해내고자 한다.
 
mB/nB encoding기술에는 두 가지가 있는데, 
1. 4B/5B : Fast Ethernet(100 Mbps)
2. 8B/10B : Gigabit Ethernet(1 Gbps)
 
- 먼저, 4B/5B방법부터 살펴보자.
송신자가 4Bit의 신호를 보낸다. 그러면 이 4bit을 5bit 신호와 맵핑되는 것으로 알맞게 bit를 연결한다. 그리고 NRZ-I encoding방식을 사용해서, Link를 통해 수신자에게 보내고, 수신자도 메시지를 받기 전에 이와 같은 과정을 거친다.
mapping 하기 위한 신호 테이블은 이미 존재하고, bit를 고를 때, 0이 연속해서 3개가 나오는 것을 피한다(DC문제)

  • 장점
    • NRZ-I에서 연속적인 0이 발생 안 한다. : 동기화 문제 해결
    • 변환 테이블에 존재하지 않는 5비트 수신되는 경우 오류로 인식한다.
  • 단점
    • 데이터 전송량 (비트수)가 증가한다.
    • 신호율이 증가하고, 대역폭도 증가한다.

- 그다음 알아볼 것은 8B/10B이다.
8-bit block이 있을 때, 이 8bit를 8B/10B encoder 과정에서, 각각 5B/6B & 3B/4B로 나누고, Disparity controller로 보낸 후, 10bit block으로 내보낸다.
여기서도 동기화문제가 없는 bit들에 대한 패턴을 정해서 사용한다. (2^8 < 2&10)

 
Ethernet
초창기 이더넷
-> 10 Mbps급
-> Manchester
고속 이더넷
-> 100 Mbps, 1 Gbps
-> Block Encoding과 NRZ-I 적용
 
Scrambling

  • Block Encoding + NRZ (NRZ-I)
    • 동기 문제는 해결되었지만, DC문제는 여전하다.
    • 그리고 대역폭이 늘어난다.
  • Scrambling
    • 동기문제 해결과 DC성분 문제 해결
    • AMI(Alternating Mark Inversion) 신호 활용
    • B8ZS, HDB3

 
그렇다면, 스크램블링을 사용해서 BlockEncoding+NRZ-I의 문제를 더 보완하는 방법으로 B8ZS, HDB3이 있는데 구체적으로 어떤 내용인지 살펴보도록 하자.

  • B8ZS
    • Bipolar with 8-zero substitution -> 00000000이 나오면, 어떠한 bit pattern으로 대체하자.
    • Bipolar AMI에 기반을 둔다. -> 00000000 -> 000 VB0 VB (V:위반, B: bipolar 즉, +/- 균형을 맞추자.)
    • 만약, 마지막 8번째 비트가 +면 000+-0-+ 로 하고, -면 000-+0+-로 한다.

  • HDB3
    • B8ZS에서 좀 더 보완한 내용으로, 연속되는 0이 4개 나올 때, 연속되는 0이 4개보다 적게 나오도록 하는 방법이다.
    • 구체적으로, 만약 어떤 신호가 있을 때, 대체하고자 하는 block의 bits가 4일 때 처음 비트의 앞에 등장한 1의 개수가 짝수개이면, B00V, 홀수개이면, 000V로 대체한다.

 

 

Analog Data, Digital Signal

아날로그 데이터를 디지털 데이터로 바꾸는 과정을 "Digitization"이라고 한다.
바꾸는 방법엔 크게 2가지가 있다.
1. Pulse code modulation(PCM)
2. Delta modulation

 
 
PCM

  • sampling theorem에 기반한다.
  • PAM samples
    • 아날로그 샘플들
    • 디지털로 변환하기 위해, 각각의 아날로그 샘플들을 binary code에 할당해야 한다.

샘플링을 너무 많이 할 필요도 없지만, 적게 잡아서도 안 된다. 적당한 샘플링은 한 사이클 내에서 2점의 값과 간격이 있다면, 두 점을 연결하는 사인파로 복원이 가능하다.  주로 주기(fmax)*2의 샘플링양이면 충분하다.

 
PCM의 예는 아래와 같이 나타날 수 있다,

그래프를 보면 시간에 따른 code번호가 있는데,
1. x = 0.... 일 때, 각각의 y이 PAM value이다. 이 값을 읽는다.
2. 디지털로 표현이 가능하도록 표현가능한 bit 수에 맞게 code번호를 부여한다.
3. 지정된 quantized code number에 맞는 PCM code에 맞게 bit로 표현한다.
요약하면 아래 그림과 같이 표현가능하다.

 
Non-Linear Coding
한마디로, 신호의 세기가 다 다르니, 일정간격 level로 나눠서 강한 신호이던, 약한 신호이던 똑같이 맵핑하면 비효율적이므로, 각각의 신호의 세기에 맞게 linear coding을 시키자는 뜻이다.

 
Delta Modulation(DM)

  • 아날로그 입력은 계단식 함수로 근사화할 수 있다.
    • 각각의 샘플링 구간에 대해 level을 양자화하고, 올리거나 내릴 수 있다.
  • Binary 하다.
    • 올리거나 내리는 것은 오직, sampling interval에서만 가능하다.
    • DM의 결과물은 각각의 샘플에 대해 단일 이진 비트로 표현된다.

이전 신호보다 크면, 1이 되고, 작으면 0이 된다.

 
 

TRANSMISSION MODES

데이터 전송은 Parallel과 Serial로 나뉜다. Serial은 동기, 비동기, 동시성으로 세분화 할 수 있다.

 

  • Parallel Transmission

보내고자 하는 bits만큼 lines을 할당해야 한다.

  • Serial Transmission

단일 line으로 bits을 순차적으로 보낸다.

  • Asynchronous transmission

시작 비트와 정지 비트를 할당한다. 그리고 2bits+8bits(8bits는 내용)로 정보를 전달한다. 이 각각의 정보를 data unit이라 하며, data unit사이엔 Gap이 존재한다.
Data units상이의 Gaps이 없도록 Frame을 씌어서 데이터를 송수신한다.

'CS > 데이터통신' 카테고리의 다른 글

ch06. Transmission Media  (0) 2023.10.16
ch05. Analog Transmission  (0) 2023.10.13
ch03.Physical Layer  (0) 2023.09.13
ch02.Protocol Architecture  (0) 2023.09.11
Ch01.Introduction  (0) 2023.09.11