[데이터통신] 5. Signal Encoding Techniques

SUbbb·2021년 10월 30일
2

데이터통신

목록 보기
4/13

Encoder: 주어진 Data를 Digital signal로 encoding한다.Modulator: 주어진 Data를 Analog signal로 변환한다. Carrier signal에 정보를 담아 전달한다.

Reasons for Choosing Encoding Techniques

Digital data, digital signal

  • digital-to-analog modulation 장비보다 덜 복잡하고 비싼 장비 사용

Analog data, digital signal

  • 현대 digital 전송 및 전환 장비 사용 가능
  • Digital Audio/Video Data

Digital data, analog signal

  • 몇몇 전송 media는 analog signal만을 취급할 수 있다.
  • E.g., optical fiber and 무선 media

Analog data, analog signal

  • 전기형태의 Analog data는 쉽고 저렴하게 전송할 수 있다.

Digital Data, Digital Signal

Digital signal

  • 불연속적이고, 분리된 전압 pulses의 연속
  • 각 pulse는 signal element
  • Binary data는 각 data bit를 signal elements로 encoding함으로써 전송된다.

Line encoding

  • Digital Data \rarr Digital Signal

Block encoding

  • M-bit Data \rarr N-bit Data \Rightarrow Line Encoding \Rightarrow Digital Signal
  • Block encoding을 수행한 이후, Line encoding을 수행한다.

Line coding and decoding

  • Encoder를 통해 Digital data를 Digital signal로 변환한다.
  • 이후 Decoder에서 Digital signal을 Digital data로 변환한다.

Terminology

  • Unipolar: 모든 signal elements가 같은 sign을 가지는 경우를 의미 (0,+ or 0,-)
  • Polar: signal elements가 0없이 +, -만 존재하는 경우를 의미
  • Bipolar: +, 0, -
  • Multilevel, Multi-transition
  • Data rate: signal가 초당 전송하는 bits의 rate
  • Duration or length of a bit: transmittier(송신기)가 bit를 방출하는 데 걸리는 시간
  • Modulation rate: signal level이 변경되는 rate (rate는 초당 signal elements를 의미하는 baud로 표시된다.)
    • signal가 얼마나 자주 변하는 지를 확인할 수 있다.
  • Mark and space: Mark-1, Space-0

Signal elements versus data elements

1 data element안에 1개의 signal element만 존재한다.
즉, 1 signal element당 1bit를 표현한다. (Data rate = Baud rate)1 data element안에 2개의 signal elements가 존재한다,
즉, 2개의 signal elements가 1bit를 표현하고, r = 1(Data element)/2(Signal elements)이다.
(Data rate = 2*Baud rate)2 data element안에 1개의 signal elements가 존재한다,
즉, 1개의 signal elements가 2bit를 표현하고, r = 2(Data element)/1(Signal elements)이다.
(2*Data rate = Baud rate)

Interpreting Signals

위와 같이 bits의 시작점과 끝점을 식별하여 Signal levels을 Voltage로 표현

SNR: S/N, Data rate의 증가는 Channel bandwidth을 많이 요구하게 되고,
고주파 처리를 하게 되면서 비용이 커진다.

  • Data rate의 증가는 bit error rate 또한 증가시킨다.
  • SNR의 증가는 bit error rate을 감소시킨다.
  • bandwidth의 증가는 data rate을 증가시킨다.

Encoding schemes

성능을 향상시키는 또 다른 요소

  • data bits를 signal elements로 mapping

    • 제일 상단의 일반적인 digital signal를 표현하는 NRZ-L을 보면, '000...' 을 길게 보내게 되면, Sync가 맞지 않아 0이 얼마나 온 지 정확하게 모를 수도 있다.
    • Manchester는 이러한 동기화 문제를 해결하는 표현 방법으로, NRZ-L or NRZI로 표현된 signal과 clock signal을 XOR연산하여, 0은 High-Low로, 1은 Low-High로 표현하는 signal을 생성한다.
    • NRZ-L나 NRZI보다 signal의 변화가 많아진다. \rarr 주파수가 \uarr \, \rarr bandwidth가 넓어진다. \rarr transmission media의 비용 증가

Line encoding에서의 요구사항

Signal spectrum

  • 좋은 signal design은 전송 bandwidth의 중앙에 전송 power를 집중시켜야 한다.

    Manchester의 경우 전송 전력의 분포가 다른 encoding formats보다 고르게 되어 있다.

Clocking

  • Sync 문제에 대한 해결이 필요하다.

Error detection

  • Signal level에서 error를 판단해야 한다.
    • signal의 변화가 없는 경우를 error로 판단한다.

Signal interference and noise immunity

  • noise에 대한 처리가 필요하다.

Cost and complexity

  • signal의 rate가 높을 수록 비용은 증가한다.

Line coding scheme

NRZ: None Return to Zero

Non Return to Zero

  • digital signals를 전송하는 가장 간단한 방법은 0과 1 bits를 위한 2개의 서로 다른 voltages를 사용하는 것이다.
  • Voltage level은 bit interval(bit를 보내는 시간) 동안 일정하다.
    • No transition (voltage level이 0으로 돌아가지 않는다, 준위의 변화가 없다.)
    • NRZ-L, NRZ-Level

Unipolar NRZ scheme

Unipolar: 극이 1개

NRZ: None Return to Zero

  • 장점: 간단함
  • 단점: 동기화 문제 (Synchronization), Direct Current 성분 발생
    • 동기화 문제: 동일한 signal element가 길게 반복되면, receiver단에서 clock이나 다른 원인으로 signal의 정확한 구간을 나누지 못하는 문제
    • DC: '1111...' or '0000...'와 같이 긴 구간 동일한 signal로 주파수의 변화가 없고, voltage level이 한 방향으로만 흐르는 경우 \rarr 아주 낮은 주파수 성분은 지원하지 않는 통신 media에서 문제가 된다.
    • 극이 있는 신호에 대해 상쇄시키는 signal을 사용하여 성분을 제거해야 한다.

Effect of lack of synchronization

Non-return to Zero-Inverted(NRZ-I)

  • Non-return to zero, invert on 1(다음 bit가 1인 경우만 극의 변화)

Polar schemes (NRZ-L and NRZ-I)

NRZ-L은 여전히 동기화 문제가 발생하지만, NRZ-I는 동기화 문제가 발생하지 않는다.

Polar schemes (RZ, Return-to-Zero)

  • 동기화 문제는 해결
  • +, - 전압의 균형 \rarr DC 성분 문제 해결
  • 높은 signal 변화율로 인한 높은 bandwidth를 요구한다.

Biphase

  • Manchester
  • Differential Manchester

DC 성분이 존재하지 않는다.

  • signal의 변화가 많음 \rarr 주파수가 증가, Channel의 대역폭 증가 \Rightarrow 비용이 증가

Biphase Pros and Cons

Pros

  • Synchronization 해결: self-clocking codes
  • DC 성분이 없음
  • Error detection을 수행

Cons

  • bit time당 최소 1번의 전송이 있어야 한다.
  • 최대 modulation rate가 NRZ의 2배이다.
    • 더 많은 bandwidth를 요구

Multilevel Encoding

  • 2개 이상의 signal levels를 사용
  • Multilevel Binary (Bipolar)
    • Bipolar-AMI
    • Pseudo-ternary
  • Multilevel
    • 2B/1Q, 8B/6T, 4D-PAM5

Bipolar schemes: AMI and pseudo-ternary

AMI: 1에 대해 Alternating inversion
Pseudo-ternary: 0에 대해 alternating inversion

AMI는 bit 1의 전압에 따라 inversion을 수행하고,
Pseudo-ternary는 bit 0의 전압에 따라 inversion을 수행한다.불가능한 신호: 전압에 대해 alternatin을 수행하기 때문에 이전의 전압과 같은 부호를 가질 수 없다.
즉, 이러한 신호는 error임을 쉽게 판단할 수 있다.

  • 둘 다 DC 성분은 존재하지 않지만, 0이 계속 나오거나(AMI), 1이 계속 나오는 경우(Pseudo-ternary), Sync문제는 발생한다.

Bipolar-AMI

  • bit 1에 대한 sync 문제는 발생하지 않지만, bit 0에 대한 sync 문제는 발생한다.
  • DC 성분이 없다.
  • bandwidth가 낮다.
  • error detection이 쉽다. (signal의 형태 확인)
  • Pseudo-ternary 또한 AMI와 비슷한 특성(0이냐 1이냐 차이정도)

Bipolar Issues

Synchronization with long runs of 0's or 1's

  • 상대적으로 낮은 data 전송 rate에서, transitions을 강제하는 추가적인 bits를 삽입할 수 있다.
  • 하지만 높은 data rate에서는 역효과가 발생하기에, 높은 data 전송 rate에서는 data에 대한 Scramble 수행

NRZ만큼 효율적이지 않다.

  • 3 level system은 이론적으로 log23=1.58bitslog_23 = 1.58bits를 표현할 수 있어야 한다.
    • 하지만 각 signal element는 오직 1개의 bit만을 표현한다.
  • 같은 bit error에 대한 3dB 더 강한 signal power가 필요하다.

Multilevel: 2B1Q

2B: 2bit, 1Q: 4level

Digital Subscriber Line(DSL)

  • 2 Data elements = 1 signal element (2*Data rate = Baud rate)

Multilevel: 8B6T

Multilevel: 구간의 전압 합은 0, +1만 존재해야 한다, 8B: 8 binary bit, 6T: 6 ternary bit
8bit \rarr 6bit로 변환 (28<<362^8 << 3^6)

  • 100BASE-4T

    • 첫번째 구간: 0, 두번째 구간: +1, 세번째 구간: +1
      \rarr 두번째 구간 + 세번째 구간: "+2" (존재할 수 없음)
      \Rightarrow 세번째 구간을 invert하여 '-++-0-' = "-1" 또한 존재할 수 없는 값이지만, 송신측에서는 DC 성분이 존재하지 않고, 수신측에서는 존재할 수 없는 값임을 알고 다시 invert하여 해석한다.

Multilevel: 4D-PAM4 scheme

4D: 4차원, 5: level 수

  • 1000Base-T Gigabit Ethernet

    • Level 0: Error Control용, Forward error correction 사용\rarr 받는 측에서 error correction
    • signal 분산 전송

Multi-transition: MLT-3 scheme

  • 다음 bit가 0: no transition
  • 현재 전압이 0 아닐 때, 다음 bit가 1: 전압 0으로 전이
  • 현재 전압이 0이고, 다음 bit가 1: 전압 0이 아닌 이전 전압의 반대 전압
  • 100Base-TX Ethernet

Block Coding

  • 동기화 보장을 위한 Redundancy
  • mB/nB encoding technique (mbit \rarr nbit, m<n인 경우, line coding 특성에 더 잘 맞게)
  • block coding 이후, line coding을 수행

Using block coding 4B/5B with NRZ-I line coding scheme

NRZ-I로도 충분히 가능하여 Data rate을 높일 필요가 없기에 사용한다.

4B/5B mapping codes: Fast Ethernet(100Mbps)

0이 연속적으로 3개 이상 나오지 않는 bit string으로 mapping (Sync 문제가 발생하지 않기 위함)

8B/10B block encoding: Gigabit Ethernet(1Gbps)

8B/10B -> 5B/6B, 3B/4B로 분리

Scrambling

Design Goals

  • Have no DC component
  • Have no long sequences of zero level line signals
  • Have no reduction in data rate
  • Error detection capability

B8ZS

  • Scrambling 기법 중 하나
  • Bipolar with 8-zeros substitution
    • bipolar-AMI의 결점인 긴 0에 대한 Sync 문제 해결
    • 00000000 -> 000VB0VB, V: Violation, B: Bipolar(+,- 균형을 맞춤)
  • 북미에서 주로 사용하는 기법

Two cases of B8ZS scrambling technique

동일한 8 string에 대한 대체

  • 첫번째 V: 원래 AMI에서는 + 다음이기 때문에 -가 와야 하지만, 의도적으로 +로 변경
  • 첫번째 B: 앞의 V와 극을 맞추기 위한 - \rarr DC 성분 제거
  • 두번째 V: 첫번째 V와 같은 이유

  • a.와 반대의 경우

HDB3 Substitution Rules

동일한 4 string에 대한 대체

  • 유럽과 일본에서 주로 사용

Different situations in HDB3 scrambling technique

  • 이전 substitution 후의 1의 개수에 따라
    • Odd인 경우: 000V
    • Even이거나 0인 경우: B00V

Analog Data, Digital Signal

Digitization

  • Analog Data를 Digital Data로 변환하는 것
    • NRZ-L로 전송할 수 있다.
    • 다시 analog signal로 변환할 수 있다.
  • 이러한 변환은 codec을 사용하여 가능하다.
    • Pulse code modulation(PCM)
    • Delta modulation

Pulse Code Modulation(PCM)

  • Sampling theorem에 기반을 둠
  • Pulse Amplitude Modulation(PAM) samples
    • Analog samples
  • 한 cycle 내에서 2점의 값과 간격 \rarr 2점을 연결하는 sine wave 복원 가능

analog signal

  • 해당 지점에서 sample을 채취하는데, 얼마나 자주 채취해야 하는가?
    • fmax2f_{max}*2만큼 채취해야 한다.(bandwidth의 2배 X)
    • fmax=4kHzf_{max}=4kHz, 24K=8000/s125μs2*4K = 8000번/s\, \rarr 125\mu s 단위로 sampling 수행

PCM Block Diagram

  • Quantization: Analog Sample을 digital로 mapping
    • Analog는 연속된 값을 가지고, Digital은 불연속적인 level을 가짐
      \therefore analog 값을 mapping한다는 것은 특정 level로 값을 할당시키는 것이므로 Data의 손실이 발생
    • 2×4k=80002\times4k=8000 (125μs\mu s마다 sampling) \Rightarrow 8bit로 전송(282^8 = level 수)
      • 음질을 높이는 방법
        1. Sampling 더 많이
        2. level 수 증가 (bit 수를 8보다 크게)

Non-Linear Coding

Mapping 시 level의 간격을 어떻게 할지?
level의 수가 많을수록, 정교한 표현이 가능하지만 많은 bit가 필요하다.

  • (a)는 level의 간격이 일정한 경우이고, (b)는 level의 간격이 일정하지 않다.
  • 값이 많이 몰린 경우, (b)와 같은 방법이 효과적이다.

Delta Modulation (DM)

8×8000/s=6400kbps8\times 8000/s = 6400kbps \Rightarrow 수용가능한 네트워크가 필요
Sampling 시 8bit씩 전송해야 하는가? \rarr Delta Modulation

  • analog signal을 일련의 구간(step size)으로 나누어 각 구간의 근사치를 택한 뒤, 원본 신호값과의 차이를 구하여 오차의 증가 또는 감소를 결정하고, 증가/감소 상태의 변화를 전송한다.
  • Step size의 결정이 중요

이를 통해 많은 data량을 전송할 필요가 없어짐

Transmission Modes

  • Parallel: 여러 line을 동시에 전송
  • Serial: 순서대로 전송
    • Isochronous: 이상적

Parallel transmission

  • clock을 일치시켜서 한 번에 여러 bit를 전송 \Rightarrow 전송량 증가
  • n개의 통신 lines을 요구하므로 비용이 많이 든다.
  • 단거리로 제한된다.
    • 거리가 증가하면, sync문제, 신호의 변화 발생 (by noise, ...)

Serial Transmission

  • 두 통신 devices간에 1개의 channel만 사용하여 1 bit씩 연이어 전송한다.

Asynchronous transmission

  • 시간 동기화를 하지 않는데, Sync 문제를 막기 위해 "1byte"단위로 data 전송
  • 각 data는 Start bit와 Stop bit를 갖는다.
    • Start bit: sender가 data를 보내겠다는 것을 알리는 bit
      • receiver는 해당 bit를 수신함으로써, 이제 1byte가 전송된다는 것을 인지
    • Stop bit: 1byte 전송의 끝을 알리는 bit

Synchronous transmission

  • 시간 동기화를 수행, data를 Frame단위로 전송한다.
    • 이때, Frame이 아무리 길어도 문제가 되지 않기에 많은 data를 전송할 수 있다.
  • Receiver는 frame이 전송되어오고 있다는 것을 알아야 함
    • 이를 위해 Frame의 시작을 알려주는 "STX(Start of Text)"가 존재
profile
배우고 정리하고 공유하기

0개의 댓글