다중 레벨 이진 인코딩

From IT위키
Revision as of 05:25, 9 October 2024 by 파네라 (talk | contribs) (새 문서: 섬네일|다중 레벨 이진 인코딩 '''Multilevel Binary Encoding''' == Bipolar-AMI == '''Bipolar Alternate Mark Inversion''' 한국에서는 '''양극성 AMI''' 또는 '''양극성 대체 마크 반전'''이라는 표현들이 간혹 사용되나 영어 그대로 사용하는 경우가 많다. * 이진 값이 0일 땐 전압도 0이다. * 이진 값이 1일 땐 전압이 움직인다. 이때 교대로 움직인다. ** 첫번...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

섬네일|다중 레벨 이진 인코딩 Multilevel Binary Encoding

Bipolar-AMI

Bipolar Alternate Mark Inversion

한국에서는 양극성 AMI 또는 양극성 대체 마크 반전이라는 표현들이 간혹 사용되나 영어 그대로 사용하는 경우가 많다.

  • 이진 값이 0일 땐 전압도 0이다.
  • 이진 값이 1일 땐 전압이 움직인다. 이때 교대로 움직인다.
    • 첫번째 1은 양의 전압으로, 두번째 1은 음의 전압으로
    • 1이 연속해서 나올 경우 양/음으로 진동한다.

알고리즘

def bipolar_ami(nrzl_input):
    output = []
    current_level = 0  # 0 means no signal
    for bit in nrzl_input:
        if bit == 1:
            # 1이면 양의 전압과 음의 전압을 교대로 바꿈
            current_level = 1 if current_level <= 0 else -1
            output.append(current_level)
        else:
            # 0은 신호가 없음
            output.append(0)
    return output

# 실행 예시
nrzl_input = [0,1,0,0,1,1,0,0,0,1,1]
print("Bipolar-AMI:", bipolar_ami(nrzl_input))

Pseudoternary

한국에서는 유사 3진법이라는 표기가 간혹 쓰이나, 영어로 그대로 쓰는 경우가 많다.

  • Bipolar-AMI와 동일한 방식이지만 이진값 0과 1에 대한 인식만 반대다.
  • 이진 값이 1일 땐 전압이 0이다.
  • 이진 값이 0일 땐 전압이 움직인다. 이때 교대로 움직인다.
    • 첫번째 0은 양의 전압으로, 두번째 0은 음의 전압으로
    • 0이 연속해서 나올 경우 양/음으로 진동한다.

알고리즘

def pseudoternary(nrzl_input):
    output = []
    current_level = 0  # 초기 상태는 0으로 가정 (전압 없음)
    for bit in nrzl_input:
        if bit == 0:
            # 0일 때 전압이 교대로 반전 (양->음, 음->양)
            current_level = 1 if current_level <= 0 else -1
            output.append(current_level)
        else:
            # 1일 때는 전압 없음 (0)
            output.append(0)
    return output

# 실행 예시
nrzl_input = [0,1,0,0,1,1,0,0,0,1,1]
print("Pseudoternary:", pseudoternary(nrzl_input))

장단점

장점

  • 직류 성분이 없다.
  • 에러 탐지가 가능하다.
    • 예를 들어 Bipolar-AMI에서 이진 비트 1값을 표현하려고 양의 전압이 쓰였으면 그 다음엔 음의 전압이 나와야 한다.
      • 양의 전압 이후 0으로 유지되다가 다시 양의 전압이 사용되면 이는 오류다.
    • ex) 0, 5, 0, 0, 5
      • 0, 5, 0, 0 뒤에는 0 또는 -5 밖에 올 수 없다. 5가 왔다는 건 최소 하나의 신호가 전달되지 않았다는 뜻이다.
  • 동기화가 가능하다.
  • 필요 대역폭이 낮다.

단점

  • 한 시그널이 1비트 밖에 표현하지 못한다.
    • NRZ와 동일한 비효율성이다.
  • 기본적으로 0, +, -로 이루어진 3-Level System은 Log23 = 1.58bit 을 전달할 능력이 있다.
    • 그러나 다중 레벨 이진 인코딩은 고작 1bit만 전달한다.
  • 리시버가 3가지 레벨을 인식할 수 있는 능력을 가져야 한다.
    • 이는 같은 오류율을 유지하기 위해서 최소 3dB의 신호 강도가 필요하단 것이다.

같이 보기