이중 위상 인코딩
IT위키
더 많은 작업
- 상위 문서: 디지털 신호 인코딩
Biphase Encoding
이중 위상 인코딩은 한 신호 안에 두개의 위상이 다 있기 때문에 이중 위상(Biphase)이라고 불린다. 한 신호 안에서 올라가고 내려가는 방향을 통해 0 또는 1을 나타낸다.
- 각 이진 값을 전달하는 그 사이에 전압이 바뀐다.
- 중간에 올라가면 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))
- 한 신호 중간에 항상 전압이 바뀌는 것은 동일하다.
- 단 변동 맨체스터 기법에서 중간의 전압 변동은 동기화를 위해서만 사용된다.
- 이진 값이 무엇이냐에 따라 방향이 전환되거나 유지되거나 한다.
- 이진 값이 0이면 방향이 유지된다.
- 이진 값이 1이면 방향이 전환된다.
- 다른 말로 하면 다음 비트가 무엇이냐에 따라 시작 비트가 바뀌거나 유지되거나 한다.
- 이진 값이 0이면 시작 위치가 바뀐다. (중간에 변동이 있어야 하므로, 시작 위치가 바뀐다는 건 방향이 유지된다는 것이다.)
- 이진 값이 1이면 시작 위치가 유지된다. (중간에 변동이 있어야 하므로, 시작 위치가 유지 된다는 건 방향이 바뀐다는 뜻이다.)
- IEEE 802.5에서 사용된다.
차분(변동) 맨체스터 파형은 각 비트 구간의 시작 경계만 본다. 구간 가운데의 전이는 언제나 있으므로 값을 정하지 않는다.
- 비트 구간 경계(점선)마다 바로 앞 구간 끝의 레벨과 이번 구간 시작의 레벨을 비교한다
- 레벨이 바뀌었으면(경계에서 전이가 있으면) 0, 그대로 이어지면 1 이다
- 첫 비트는 신호 시작에서 레벨이 바뀌는지로 읽는다
가운데 전이의 방향(올라가면 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)]


