본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

Biphase Encoding

이중 위상 인코딩은 한 신호 안에 두개의 위상이 다 있기 때문에 이중 위상(Biphase)이라고 불린다. 한 신호 안에서 올라가고 내려가는 방향을 통해 0 또는 1을 나타낸다.

맨체스터(Manchester)

편집 원본 편집

  • 각 이진 값을 전달하는 그 사이에 전압이 바뀐다.
    • 중간에 올라가면 1, 중간에 내려가면 0이다.

알고리즘 코드

편집 원본 편집
def manchester(nrzl_input):
    output = []
    for bit in nrzl_input:
        if bit == 0:
            output.append((1, 0))  # High-to-low transition
        else:
            output.append((0, 1))  # Low-to-high transition
    return output

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

변동 맨체스터(Differential Manchester)

편집 원본 편집

  • 한 신호 중간에 항상 전압이 바뀌는 것은 동일하다.
    • 단 변동 맨체스터 기법에서 중간의 전압 변동은 동기화를 위해서만 사용된다.
  • 이진 값이 무엇이냐에 따라 방향이 전환되거나 유지되거나 한다.
    • 이진 값이 0이면 방향이 유지된다.
    • 이진 값이 1이면 방향이 전환된다.
  • 다른 말로 하면 다음 비트가 무엇이냐에 따라 시작 비트가 바뀌거나 유지되거나 한다.
    • 이진 값이 0이면 시작 위치가 바뀐다. (중간에 변동이 있어야 하므로, 시작 위치가 바뀐다는 건 방향이 유지된다는 것이다.)
    • 이진 값이 1이면 시작 위치가 유지된다. (중간에 변동이 있어야 하므로, 시작 위치가 유지 된다는 건 방향이 바뀐다는 뜻이다.)
  • IEEE 802.5에서 사용된다.

파형 읽는 법

편집 원본 편집

차분(변동) 맨체스터 파형은 각 비트 구간의 시작 경계만 본다. 구간 가운데의 전이는 언제나 있으므로 값을 정하지 않는다.

  1. 비트 구간 경계(점선)마다 바로 앞 구간 끝의 레벨과 이번 구간 시작의 레벨을 비교한다
  2. 레벨이 바뀌었으면(경계에서 전이가 있으면) 0, 그대로 이어지면 1 이다
  3. 첫 비트는 신호 시작에서 레벨이 바뀌는지로 읽는다

가운데 전이의 방향(올라가면 1, 내려가면 0)으로 읽는 것은 일반 맨체스터 방식이다. 차분 맨체스터 파형을 그렇게 읽거나 0 과 1 규칙을 뒤집으면 모든 비트가 반대로 나온다.

알고리즘 코드

편집 원본 편집
def differential_manchester(nrzl_input):
    output = []
    previous_level = 0  # Assume initial level is high (0)
    
    for bit in nrzl_input:
        if bit == 0:
            # Transition at the start, and again in the middle
            output.append((1 - previous_level, previous_level))
        else:
            # No transition at the start, transition in the middle
            output.append((previous_level, 1 - previous_level))
            previous_level = 1 - previous_level  # Always flip in the middle
    
    return output

# 실행 예시
nrzl_input = [0,1,0,0,1,1,0,1,0,0]
print("Differential Manchester:", differential_manchester(nrzl_input))
  • 결과 값: Differential Manchester: [(1, 0), (0, 1), (0, 1), (0, 1), (1, 0), (0, 1), (0, 1), (1, 0), (1, 0), (1, 0)]
  • 동기화가 용이하다:
    • 중간에 전압이 바뀌므로 어디가 시작점이고 끝점인지 판단하기가 명확하다.
  • DC 성분이 없다.
  • 에러 탐지가 가능하다.
    • 중간에 전압이 안 바뀌면 에러
  • 큰 대역폭이 요구된다.
  • 최대 NRZ 대비 2배의 변조율(modulation rate)이 사용된다.

목차