Signal Encoding Techniques

이태곤·2022년 11월 2일
0

Data Communication

목록 보기
6/15
post-custom-banner

1. Encoding

  • Modulation VS Encoding

    • Encoding : digital or analog data -> digital signal by encoder
    • Modulation : digital or analog data -> analog signal by modulator

      -> Carrier frequency : 나누어진 주파수 영역마다 중앙에 위치하는 주파수로 각 주파수 영역을 담당한다.
  • Digital data -> Digital signal : 컴퓨터 통신에서 주로 사용

    • Digital signal : The sequence of discrete voltage pulse.
      • Each pulse is called signal element.
      • Signal elements have binary data.
  • Analog data -> Digital signal : Audio, Video

  • Digital data -> Analog signal : wireless

  • Analog data -> Analog signal : Radio

  • Line encoding : Digital data -> Digital Signal

    • Digital data를 다양한 방법에 따라서 Digital signal 로 변환시키는 과정
  • Block encoding

    • 크기가 큰 데이터를 M 비트로 분리
    • M - bit data -> N - bit data
    • N -bit data 를 Line encoding
  • Terminology

    1. Unipolar : All signal elements have (0, +) or (0, -)
    2. Polar : All signal elements have (+, -) -> No '0'
    3. Bipolar : All signal elements have -, +, 0
    4. Multilevel
    5. Multi-transition
    6. Data rate : 주어진 시간에 몇비트의 data가 전송될 수 있는지
    7. Modulation rate (Baud) : 신호 레벨이 얼마나 변하는지 -> Signal elements per sec

      -> 하나의 신호에 2bit를 보낸다.
      -> Data rate : 4, Baud : 2
    8. Mark : 1, Space : 0
    9. Length of a bit : 1비트의 시간적 거리
  • Interperting signals

    • Receiver should know signal levels and the timing when signals start and end.
    • Factors affecting signal interpretation
      • SNR, Data rate, Bandwidth
      • Higher data rate -> higher bit error rate
      • Higher SNR -> less bit error rate
      • Higher bandwidth -> Higher data rate
      • Encoding scheme

2. Line coding

  • Encoding Schemes

    1. Sinal spectrum : transmitted power
    2. Clocking : Synchronize between transmitter and receiver
      -> Due to time difference among systems -> Difference in clock
    3. Error detection : trasition의 유무에 따라 신호레벨에서 감지
    4. Signal interference and nosie immunity
    5. Cost and complexity
  • NRZ (Non Return to Zero), Unipolar

    • 0과 1 두 전압비트를 사용하며 bit interval (1bit) 안에서 transition 없이 voltage level 이 일정하다.
      • 0 : Negative voltage bit, 1 : Positive voltage bit
      • Unipolar NRZ scheme
    • Pros : Simple
    • Cons : Synchronization, Direct Current
      • Synchronization
      • Direct Current (DC) : 동일한 전압에 의해서 전류가 한쪽 방향으로만 흐르는 현상 -> 00000 or 11111
        -> 특정 통신선로에서는 낮은 주파수대역을 통과시키지 못한다.
        ex) 통신선로를 확장할 때 사용되는 Coupling transformer
  • NRZ-I (Non Return to Zero-Inverted), Polar

    • Invert on 1
      • Polar NRZ-L and Polar NRZ-I

        -> NRZ-L : Synchronization, Direct current
        -> NRZ-I : bit 1에대해서는 Synchronization 없음, Direct current, 높은 주파수로인한 더 많은 Bandwidth 요구됨
  • RZ (Return to Zero), Polar

    • can have zero in bit interval
    • Pros
      • bit interval 내에서 0으로 transmission 이 일어남 -> Synchronization 문제 해결
      • +,- 전압의 균형 -> DC 성분 문제 어느정도 해결
    • Cons
      • 잦은 변화 -> 높은 주파수 -> 더 높은 bandwidth 요구됨
  • Manchester and Differential Manchester

    • bit interval 내에서 transmission 은 일어나지만 0으로 가지는 않는다.

      -> Manchester : Low to high : 1, High to low : 0
      -> Differential Manchester : 신호가 Up and Down을 진행하는 중에 0이면 inversion이 이루어진다.
    • Pros
      • bit interval 내에서 transmission 이 일어남 -> bit interval의 start, end 를 예측할 수 있음 -> Synchronization 문제 해결
      • +,- 전압의 균형 -> DC 성분 문제 해결
        -> 통신선로 확장에 유리함 -> Coupling transformer
      • Error detection
    • Cons
      • Maximum modulation rate is twice NRZ
      • More bandwidth
  • Multilevel Bipolar (AMI, Pseudoternary)

    • AMI (Alternative Mark Inversion)
      • 1 -> can be represented by positive or negative -> Alternation
      • Pros : No dc, Error detection, Lower bandwidth
        -> Error detection : Alternating의 유무로 판단!
      • Cons : Loss of sync for 0
    • Pseudoternary
      • 0 -> can be represented by positive or negative -> Alternation
    • Bipolar Issues
      1. long runs of 0 or 1
        -> Can insert additional bits that force transitions : data rate을 높여서 더 높은 bandwidth 요구 -> 더 높은 비용 발생
        -> Scramble data : 다른패턴으로 바꾸어서 프로토콜에서 약속해서 사용한다.
      2. Not as efficient as NRZ
        -> Bipolar (3 level system) -> log2 3 -> 1.58 bits -> 1 bit -> each signal element only represents 1 bit !!!
        -> Required more signal power -> due to more levels
  • Multilevel

    • 2B1Q : 2 bits and 4 levels
      • Baud rate : 5, Data rate : 10
      • Digital Subscriber Line (DSL) 에 이용

        -> 0 ~ 4KHz : 전화기가 사용
        -> Downlink 에 더 많은 주파수 할당 -> Downlink Data rate 이 더 높도록 할당
        -> Uplink, Downlink 비대칭으로 할당 : ASDL (Asymmetric)
    • 8B6T : 8 bits and 6 bits ternary
      • 2^8 -> 3^6 : 조합 경우의 수를 더 늘림으로써 Synchronization, dc 문제를 해결할 수 있는 신호를 선택할 수 있다.
      • DC-balanced : 전체 부호가 0, +1로 존재하기 위해서 invert를 고려해야한다.
      • 100BASE-4T : 100Mbps, baseband, 4개의 선 사용
      • 마지막 부분 +--+0+ => -++-0- -> -1 => 존재 할 수 없음 => Receiver 입장에서 전체 부호를 0 또는 +1로 만들어주기 위해 invert 했구나! 라고 이해해야한다.
      • 고속 선에서 주로 사용한다.
    • 4D-PAM5 : 4 dimensions and 5 levels
      • level 0 : Receiver에서 에러를 정정하는 Forward error correction에 사용
      • 4개의 line으로 분산해서 전송
        -> 각 250Mbps X 4 = 1000Base-T Gigabit Ethernet
  • Multi-transition

    • MLT-3
      • 0 : No transition
      • 1 and 0V : 0이 아닌 전압에서의 반대전압 transition
      • 1 and no 0V : Transition to 0V

        -> Dc, Synchronization 해결
        -> 더 높은 Bandwidth 요구

3. Block coding

  • 길이가 긴 데이터 -> mB - nB (m < n)

    • 2^m < 2^n : 조합 경우의 수가 더 많아지므로 Synchronization, Dc, Error detection 등을 해결할 수 있는 성분들만 사용하겠다.
      -> 비록 data rate은 증가하지만 Line coding 특성에 더 잘 맞출 수 있다.
      -> Redundancy for ensuring synchronization
    • 4B/5B (100Mbps, Fast Ethernet) : 0 이 연속적으로 3개이상 나오지 않는 비트로 바꾼다.
      -> NRZ-I : 0에대한 동기화 문제
      • Block coding을 통해 특성에 맞는 성분들로 이루어져있기 때문에 data rate, bandwidth가 낮은 NRZ-I 방식사용 -> Lower cost
      • Pros : Synchronization 해결
      • Cons : Data rate, Bandwidth 증가
    • 8B/10B (1Gbps, Gigabit Ethernet) : 5B, 3B로 분산해서 전송

4. Scrambling

  • Replace sequence using AMI
    -> AMI 방식에서 0이 문제가 된다 -> 이러한 경우에 대하여 비트 Sequence를 Scrambling (섞기)
    -> Synchronization, DC 문제 해결
    • B8ZS : 8-zeros -> Scrambling
      • 0000 0000 -> 000V B0VB
        -> V : Violation for AMI
        -> B : Bipolar
      • Example

        -> a.V : AMI 방식에 의해서 + => - 등장해야하지만 violation
        -> a.B : AMI Bipolar 방식 준수
    • HDB3 : 3-zeros -> Scrambling
      • Even : 0000 -> B00V
      • Odd : 0000 -> 000V

        -> Substitution 이전 1의 갯수에 따라서 Even / Odd 를 결정한다.

5. Analog Data, Digital Signal

  • Digitization : Analog data -> Digital data
    • NRZ-L 방식을 사용
    • Codec 을 사용하여 변환
      -> Pulse code modulation(PCM), Delta modulation
    • Analog signal 로 변환 가능
  • PCM (Pulse Code Modulation)
    • Sampling, Quantization, Encoding 과정을 통해 Analog Signal 을 Digital Signal 로 변환


      1. Sampling : PAM (Pulse Amplitude Modulation) 이용
        • 한 싸이클 내에서 특정 점의 갯수와 간격을 알면 점을 연결하는 사인파를 복원할 수 있다.
        • Analog samples
          -> By Nyquist sampling rate, fmax ∗ 2만큼 채취
          -> fmax = 4kHz(음성) * 2 => 8000번 => 8000/s : 125μs => 125μs 단위로 sampling
      2. Quantization : Sampling 한 Analog Signal -> digital Signal 로 매핑
      • Digital Signal : 불연속적인 level을 가진다.
      • Sampling 되어진 Analog Signal 을 특정 level로 값을 매핑해야한다. -> Data 손실 발생!
        -> 더 많은 Sampling, 더 많은 level 을 통해 음질 향상!
        -> 더 많은 level => 더 많은 bit 요구 => 더 높은 data rate (bandwidth) 요구
      • 1번 Sampling할 때, 8 bit로 전송 -> 2^8 level 가진다.
        -> 8 bit * 8000 = data rate will be 64KBps
        -> 음성정보를 통신망을 통해 보내려면 적어도 64KBps 보장 되어야한다.

6. Non-Linear Coding

  • Analog ->Digital Mapping 할 때, level의 -간격?
    • (a) : 간격이 일정, (b) : 간격이 일정하지 않음
      -> 값이 많은 경우 (b) 방법이 유리

7. DM (Delta Modulation)

  • 1번 Sampling 할 때마다 8 bit 전송 -> 64Kbps 네트워크 필요 -> 효율저하 -> DM 사용!
  1. Analog signal을 step size으로 나누어 각 구간의 근사치를 선택
    -> Step size의 결정이 가장 중요
  2. 원본 신호값과의 차이를 구하여 오차의 증가 또는 감소를 결정
    -> Going up : 1, Going down : 0
  3. 증가/감소 상태변화를 전송 (1 bit 만으로도 충분)
    -> 많은 data량을 전송할 필요가 없어짐 -> Data rate을 줄일 수 있다!

8. Transmission modes

  • Parallel : 여러 라인을 병렬적으로 동시에 전송하는 방법

    -> 8 Communication lines : Expensive
    -> Short distance : due to Synchronization, noise

  • Serial : One by One -> 순서대로 전송하는 방법

    • Only need a 1 communication line
    • Send one after another
    • Asynchronous transmission
      • Sync 문제를 해결하기 위해 1byte 단위로 data 전송 (Start bit, Stop bit 포함)
        -> Start bit : data의 시작을 알린다.
        -> Stop bit: data의 끝을 알린다.
    • Synchronous transmission
      • data를 Frame단위로 전송
        -> 동기화가 되어있기 때문에 Frame 길이가 길어도 상관없다.
        -> STX(Start of Text) : Frame의 시작을 알린다.
      • Frame 중에 STX와 동일한 비트가 있다면? -> Bit Insertion
        -> STX : 01111110
        -> 0이 연속으로 6개가 나오는 경우 5번째 6번째 사이에 1을 넣어준다.
        -> Receiver에서 0을 제거한다.

참고

https://velog.io/@bsu1209/%EB%8D%B0%EC%9D%B4%ED%84%B0%ED%86%B5%EC%8B%A0-Signal-Encoding-Techniques#pulse-code-modulationpcm

post-custom-banner

0개의 댓글