맨위로가기

비제로 복귀

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

NRZ(Non-Return-to-Zero)는 디지털 인코딩 방식의 하나로, 각 비트의 신호가 0으로 돌아가지 않고 전체 비트 시간을 유지하는 특징을 가진다. NRZ에는 NRZ-L, NRZ-I, NRZ-M, NRZ-S 등 여러 종류가 있으며, 극성, 복류, 단류 등의 분류도 존재한다. NRZ-L은 가장 기본적인 형태로, 1을 높은 전압 레벨, 0을 낮은 전압 레벨로 표현한다. NRZ-I는 전압 레벨의 변화 유무로 데이터를 표현하며, NRZ-M은 1을 전압 변화, 0을 변화 없음으로, NRZ-S는 0을 전압 변화, 1을 변화 없음으로 나타낸다. NRZ는 동기화 문제와 전력 손실 등의 단점을 가질 수 있으며, 이러한 문제를 해결하기 위해 SNRZI와 같은 변형된 방식이 사용되기도 한다. RZ(Return-to-Zero) 방식과의 비교를 통해 NRZ 방식의 특징을 이해할 수 있다.

2. 종류

NRZ(Non-Return-to-Zero) 부호는 데이터를 전압 레벨이나 신호 변화로 표현하는 방식에 따라 여러 종류로 나눌 수 있다. 주요 NRZ 부호 방식은 다음과 같다.

부호명별칭전체 이름설명
NRZ(L)NRZLNon-Return-to-Zero Leveleng이진 비트를 직접적인 논리 레벨(High 또는 Low)로 표현한다.
NRZ(I)NRZINon-Return-to-Zero Invertedeng신호 레벨의 변화 유무로 비트를 표현하며, NRZ(M) 또는 NRZ(S) 방식을 의미한다.
NRZ(M)NRZMNon-Return-to-Zero Markeng비트 1일 때 신호 레벨 변화(토글), 0일 때 변화 없음. ({0: 상수, 1: 토글})
NRZ(S)NRZSNon-Return-to-Zero Spaceeng비트 0일 때 신호 레벨 변화(토글), 1일 때 변화 없음. ({0: 토글, 1: 상수})
NRZ(C)NRZCNon-Return-to-Zero Changeeng



또한 NRZ 부호는 신호 레벨을 할당하는 방식에 따라 '''극성'''(polareng) 방식과 '''비극성'''(non-polareng) 방식으로 분류되기도 한다.


  • 극성 (복류): 이진 값 '0'과 '1'을 각각 양(+)의 전압과 음(-)의 전압(+V 및 -V)으로 매핑한다.
  • 비극성 (단류): 이진 값 '0'과 '1'을 각각 0 전압과 양(+)의 전압(0 및 +V)으로 매핑한다.

2. 1. NRZ-L (Non-Return-to-Zero Level)

NRZ-L은 'Non-Return-to-Zero Level'의 약자로, 코딩 과정 없이 원시 이진 비트를 그대로 논리 레벨로 표현하는 가장 기본적인 NRZ 부호 방식이다. 일반적으로 이진수 '1'은 높은 전압 레벨(논리 레벨 high)로, '0'은 낮은 전압 레벨(논리 레벨 low)로 매핑된다. 이와 반대로 '1'을 낮은 레벨, '0'을 높은 레벨로 매핑하는 반전된 논리 매핑 역시 NRZ-L의 한 유형으로 간주된다.

NRZ-L 신호는 전압 레벨을 할당하는 방식에 따라 극성(polar) 또는 비극성(non-polar)으로 나눌 수 있다. 이는 각각 복류(bipolar)와 단류(unipolar) 방식에 해당한다.

  • 극성 NRZ-L (복류 NRZ-L): 두 개의 서로 다른 전압 레벨을 사용하며, 보통 '1'에는 양(+)의 전압(+V)을, '0'에는 음(-)의 전압(-V)을 할당한다.
  • 비극성 NRZ-L (단류 NRZ-L): 하나의 전압 레벨과 0 전압을 사용하며, 보통 '1'에는 양(+)의 전압(+V)을, '0'에는 0 전압(0V)을 할당한다.

2. 2. NRZ-I (Non-Return-to-Zero Inverted)

'''NRZI'''(Non-Return-to-Zero, Invertedeng)는 디지털 신호물리 계층에서 전송 매체를 통해 전달하기 위한 인코딩 방식 중 하나이다.[1] 1956년 IBM의 Bryon E. Phelps가 고안했으며, 'non-return to zero IBM',[1] 'inhibit code', 또는 'IBM code'라고도 불린다.

NRZI 방식은 클록 경계에서 신호 레벨의 전환 유무로 데이터 비트를 구별한다. 즉, 특정 이진 값(예: '1')을 나타낼 때는 신호 레벨을 변경하고, 다른 이진 값(예: '0')을 나타낼 때는 이전 신호 레벨을 유지하는 방식이다. 이 방식은 극성을 유지하지 않는 데이터 경로를 통과한 후에도 데이터를 모호하지 않게 디코딩될 수 있다.

NRZI 인코딩의 예시 (1에서 전환)


NRZI 인코딩의 다른 예시 (0에서 전환)


NRZ-M 방식 인코더의 예시 (1에서 전환)


어떤 비트 값에서 신호 전환을 일으킬지는 구현 방식에 따라 다르며, 대표적으로 다음과 같은 두 가지 방식이 있다.

부호명전체 이름설명
NRZ-MNon-Return-to-Zero Mark논리적 1일 때 신호 레벨 전환, 0일 때 유지. 자기 저장 장치에서 일반적으로 사용된다.
NRZ-SNon-Return-to-Zero Space논리적 0일 때 신호 레벨 전환, 1일 때 유지. HDLC나 USB 프로토콜에서 사용된다.



NRZI 인코딩의 한계점은 연속된 동일 비트(NRZ-M의 '0' 또는 NRZ-S의 '1')가 길어지면 신호 전환이 발생하지 않는 구간이 길어질 수 있다는 점이다. 비동기 수신기는 비트 전환을 감지하여 독립적인 비트 클록으로 위상 동기화를 수행하는데, 전환이 없는 비트 블록이 전송 및 수신 비트 클록 주파수 차이로 허용되는 기간보다 길어지면 동기화 오류가 발생할 수 있다. 이로 인해 디코더 클록이 인코더보다 앞서거나 뒤처져 데이터 스트림에 비트가 삽입되거나 제거되는 비트 슬립(bit slip) 현상이 발생할 수 있다.

비트 슬립 문제를 방지하고 비동기 수신기를 사용하기 위해, 비트 클록 동기화를 유지할 수 있을 만큼 충분한 간격으로 전환을 강제하는 기법이 필요하다.


  • RLL (Run-Length Limited) 인코딩: 자기 디스크 및 자기 테이프 저장 장치에 사용되며, 연속된 동일 비트의 최대 길이를 제한하여 전환을 보장한다. 이는 정보 데이터 속도의 알려진 비율만큼 채널 데이터 속도를 증가시키는 고정 속도 코드를 사용한다.
  • 비트 스터핑: HDLC 및 USB는 이 방식을 사용한다. NRZ-S 인코딩 전에 연속된 '1' 비트(HDLC는 5개, USB는 6개) 이후에 추가 '0' 비트를 삽입하여 강제로 전환을 일으킨다. 비트 스터핑은 필요할 때만 채널 용량을 소모하지만 가변적인 정보 데이터 속도를 초래한다.

2. 3. NRZ-M (Non-Return-to-Zero Mark)

'''NRZ-M'''(Non-Return-to-Zero Mark영어)은 NRZ(Non-Return-to-Zero) 신호 방식 중 하나이다. 이 방식은 이진 데이터 '1'을 신호 레벨의 변화(토글)로 표현하고, '0'을 신호 레벨의 변화 없음(상수)으로 나타낸다. 즉, 데이터 비트가 1일 때만 신호 레벨이 이전 상태에서 반전된다.

NRZ-M은 물리적 상태 변화의 유무로 0과 1을 표현하는 NRZI(Non-Return-to-Zero Inverted)의 한 종류로 분류될 수 있다. 특히 자기 저장 장치에서 데이터를 기록할 때 주로 사용되는 규칙이다.

2. 4. NRZ-S (Non-Return-to-Zero Space)

'''NRZ-S''' (Non-Return-to-Zero Space)는 NRZ 방식 중 하나로, NRZS라고도 한다. 이 방식은 이진 데이터 '0'을 신호 레벨의 변화로 표현하고, '1'을 신호 레벨의 변화 없음으로 표현한다. 즉, '0' 비트가 전송될 때마다 신호의 물리적 상태가 전환(toggle)된다.

단류 NRZ(S). 0의 위치에서 전압이 변화한다.


NRZS의 부호화기. 0에서 토글된다.


NRZ-S 방식은 HDLC(High-Level Data Link Control)나 USB(Universal Serial Bus)와 같은 데이터 통신 프로토콜에서 사용된다. 이러한 프로토콜들은 데이터 전송 중 신호 레벨의 변화가 오랫동안 발생하지 않으면(즉, '1' 비트가 길게 연속되면) 수신기에서 클럭 동기화를 유지하기 어려워지는 문제를 해결해야 한다. 이를 위해 비트 스터핑(bit stuffing) 기법을 사용하는데, 이는 특정 개수 이상의 '1' 비트가 연속될 경우 강제로 '0' 비트를 삽입하여 신호 변화를 유도하는 방식이다.

  • HDLC: 일반적으로 5개의 '1' 비트가 연속되면 그 뒤에 '0' 비트를 삽입한다. (단, 프레임 구분 기호인 '01111110'을 전송하는 경우는 예외이다.)
  • USB: 6개의 '1' 비트가 연속되면 그 뒤에 '0' 비트를 삽입한다.


수신 측에서는 데이터에 원래 포함된 '0' 비트뿐만 아니라 비트 스터핑으로 인해 삽입된 '0' 비트에서도 신호 변화가 발생하므로, 이를 이용해 클럭 동기화를 안정적으로 유지할 수 있다. 데이터를 최종적으로 복호화하는 과정에서는 비트 스터핑으로 삽입되었던 여분의 '0' 비트들을 제거하여 원본 데이터를 복원한다.

3. 극성

단류 NRZ(L)


NRZ 코드는 전압 레벨을 어떻게 할당하는지에 따라 극성(Polar) 또는 비극성(Non-polar)으로 분류될 수 있다.
비극성 NRZ는 0과 1을 각각 0 전압과 양(+)의 전압(+V)으로 대응시키는 방식이다. 예를 들어, "1"은 전송선 상의 직류 바이어스(보통 양의 전압)로 표시하고, "0"은 바이어스가 없는 상태(0 볼트)로 표시한다. 이 때문에 "온-오프 키잉(On-off keying)"이라고도 불린다. 비극성 NRZ는 오랫동안 신호 변화가 없으면 동기화가 어려워지는 단점이 있다. 또한, 송신 신호에 직류 성분이 존재하여 전력 손실이 크고, 전송 라인이 DC 결합(직류 결합)되어야 하는 문제가 있다.
극성 NRZ는 0과 1을 각각 음(-)의 전압(-V)과 양(+)의 전압(+V)으로 대응시키는 방식이다. 임의의 두 물리 상태 레벨을 "0"과 "1"로 할당하며, 일반적으로 "1"을 양의 전압, "0"을 음의 전압으로 나타낸다. 예를 들어, RS-232 통신 규격에서는 "1"을 -12V에서 -5V 사이의 전압으로, "0"을 +5V에서 +12V 사이의 전압으로 정의한다.

4. 단극성 및 양극성 NRZ-L

NRZ-L(Non-Return-to-Zero Level) 방식은 신호 레벨을 어떻게 사용하는지에 따라 단극성(Unipolar)과 양극성(Bipolar)으로 구분된다. 단극성 NRZ-L은 주로 하나의 극성을 가진 전압(예: 양의 전압)과 0 전압을 사용하여 디지털 신호를 표현하며, 양극성 NRZ-L은 양의 전압과 음의 전압, 즉 두 개의 극성을 가진 전압 레벨을 사용하여 디지털 신호를 나타낸다.

4. 1. 단극성 NRZ-L (Unipolar Non-Return-to-Zero Level)



'1'은 전송선에 직류 바이어스로 표현되고(관례적으로 양수), '0'은 바이어스가 없는 상태, 즉 0볼트 또는 접지된 상태로 표현된다. 이러한 이유로 온-오프 키잉(on-off keying)이라고도 불린다. 클럭 언어에서 '1'은 이전 비트의 후행 클럭 에지에서 바이어스된 레벨로 전환되거나 유지되고, '0'은 이전 비트의 후행 클럭 에지에서 바이어스가 없는 상태로 전환되거나 유지된다.

단극성 NRZ의 단점 중 하나는 변화가 없는 긴 일련의 신호를 허용하여 동기화를 어렵게 만든다는 점인데, 이는 단극성 방식만의 문제는 아니다. 더욱 중요한 단극성 NRZ 고유의 문제점은 전송된 DC 레벨의 존재와 관련이 있다. 즉, 전송 신호의 전력 스펙트럼이 0 주파수에서 0에 접근하지 않는다. 이는 두 가지 중요한 문제로 이어진다. 첫째, 전송된 DC 전력은 다른 부호화 방식보다 더 높은 전력 손실을 유발한다. 둘째, DC 신호 성분의 존재는 전송선이 DC 결합되어야 함을 요구한다.

4. 2. 양극성 NRZ-L (Bipolar Non-Return-to-Zero Level)

양극성 NRZ-L 방식은 두 개의 서로 다른 물리적 상태 레벨을 사용하여 디지털 신호 01을 표현한다. 일반적으로 1은 양(+)의 전압으로, 0은 음(-)의 전압으로 나타낸다. 예를 들어, RS-232 통신 규격에서는 1을 -12V에서 -5V 사이의 전압으로, 0을 +5V에서 +12V 사이의 전압으로 정의하여 사용한다.

5. NRZ-I (Non-Return-to-Zero Inverted)의 활용



'''NRZI'''(Non-Return-to-Zero, Inverted)는 디지털 신호물리 계층에서 전송하기 위한 인코딩 방식 중 하나이다. 이 방식은 1956년 IBM의 Bryon E. Phelps에 의해 고안되었으며, 'non-return to zero IBM',[1] 'inhibit code', 또는 'IBM code'라고도 불린다.

NRZI는 클럭 신호의 경계에서 신호 레벨의 전환(transition) 유무데이터 비트 값을 표현한다. 즉, 특정 비트 값이 나타날 때 신호 레벨을 바꾸고, 다른 비트 값이 나타날 때는 신호 레벨을 그대로 유지하는 방식이다. 어떤 비트 값(0 또는 1)에서 신호 전환을 일으킬지는 구현 방식에 따라 다르며, 크게 두 가지 규칙이 사용된다.


  • '''NRZ-M (Non-Return-to-Zero Mark)''': 논리적 '1'(Mark)이 입력될 때 신호 레벨을 전환하고, 논리적 '0'이 입력될 때는 신호 레벨을 유지한다. 이 방식은 주로 자기 저장 장치(자기 디스크, 자기 테이프 등)에서 데이터를 기록할 때 사용된다.
  • '''NRZ-S (Non-Return-to-Zero Space)''': 논리적 '0'(Space)이 입력될 때 신호 레벨을 전환하고, 논리적 '1'이 입력될 때는 신호 레벨을 유지한다. 이 방식은 HDLC나 Universal Serial Bus (USB)와 같은 통신 프로토콜에서 널리 활용된다.


NRZI 방식은 신호의 극성(+, -)이 바뀌어도 데이터를 올바르게 복원할 수 있다는 장점이 있다. 하지만 특정 비트 값이 길게 연속될 경우 신호 레벨의 전환이 오랫동안 발생하지 않을 수 있어, 수신기에서 클럭 동기화 문제를 일으킬 수 있다. 이러한 문제를 해결하기 위해 실제 활용 시에는 RLL 부호화나 비트 스터핑과 같은 추가적인 기법이 함께 사용되는 경우가 많다.

5. 1. 동기화 문제와 해결

NRZI 방식 자체는 인코딩된 비트 스트림에 반드시 신호 변화(transition)가 있다는 것을 보장하지 않는다. 특정 비트 값(예: NRZ-S 방식에서는 '1', NRZ-M 방식에서는 '0')이 길게 연속될 경우, 신호 레벨의 변화가 오랫동안 발생하지 않을 수 있다.

수신기는 이러한 신호의 변화를 감지하여 자신의 내부 클럭을 송신기의 클럭에 맞추는 동기화 과정을 수행한다. 하지만 신호 변화가 없는 구간이 길어지면, 송신기와 수신기 클럭 간의 미세한 속도 차이가 누적되어 동기화가 틀어질 위험이 커진다. 동기화가 깨지면 수신기는 데이터를 잘못된 시점에 읽게 되어, 원래 데이터에 없던 비트가 추가되거나(insertion) 있던 비트가 누락되는(deletion) 오류, 즉 '비트 슬립(bit slip)' 현상이 발생할 수 있다. 이는 결국 통신 오류로 이어진다.

이러한 동기화 문제를 해결하고 안정적인 통신을 보장하기 위해, 데이터 스트림 내에 의도적으로 신호 변화를 만들어주는 여러 기법이 사용된다. 대표적인 방법은 다음과 같다.

  • 런-렝스 제한(RLL) 인코딩: 주로 자기 디스크나 자기 테이프와 같은 저장 매체에서 사용되는 방식이다. 특정 인코딩 규칙을 적용하여 신호 변화 없이 연속될 수 있는 비트의 최대 길이를 제한한다. 이를 위해 원래 데이터보다 더 많은 비트를 사용하여 정보를 표현하기도 한다.
  • 비트 스터핑 (Bit Stuffing): HDLC나 USB와 같은 통신 프로토콜에서 널리 사용되는 방식이다. 이들 프로토콜은 주로 NRZ-S 인코딩(논리 '0'에서 신호 변화, '1'에서 변화 없음)을 사용하는데, 송신 시 데이터 스트림에 '1' 비트가 일정 개수 이상 연속되면 강제로 '0' 비트(신호 변화 유발)를 삽입한다.
  • HDLC: 5개의 연속된 '1' 비트 다음에 '0' 비트를 삽입한다. (단, 프레임 시작/끝을 알리는 특별한 비트열 "01111110"을 전송할 때는 예외)
  • USB: 6개의 연속된 '1' 비트 다음에 '0' 비트를 삽입한다.

수신 측에서는 데이터 내의 원래 '0' 비트뿐만 아니라, 동기화를 위해 추가로 삽입된 '0' 비트에서 발생하는 신호 변화까지 모두 이용하여 클럭 동기화를 안정적으로 유지한다. 데이터를 최종적으로 해석할 때는 이렇게 삽입되었던 여분의 '0' 비트를 다시 제거하여 원본 데이터를 복원한다. 비트 스터핑은 필요할 때만 추가 비트를 삽입하므로 채널 용량을 동적으로 사용하지만, 전체 데이터 전송률은 가변적이 될 수 있다.

5. 2. 동기식 NRZI (Synchronized NRZI, SNRZI)

'''동기식 NRZI''' ('''SNRZI''')와 그룹 부호화 기록(GCR)은 NRZI의 수정된 형태이다. SNRZI-M 방식에서는 동기화를 개선하기 위해 각 8비트 데이터 그룹에 1비트를 추가하여 9비트로 만들고, 이를 통해 신호 전이를 강제로 삽입한다.

6. 제로 복귀(Return-to-Zero) 부호와의 비교

제로 복귀(Return-to-Zero, RZ) 부호는 각 펄스를 전송한 후 신호 레벨이 0으로 돌아가는 방식의 선 부호이다. 이는 통신 시스템에서 사용되며, 신호에서 0 또는 1이 연속적으로 나타나더라도 각 비트 사이에 0으로 복귀하는 특징을 가진다.

RZ 부호는 신호 자체에 클록 정보가 포함되어 있어 별도의 클록 신호를 전송할 필요가 없는 자기 동기 신호이다. 이는 수신측에서 동기화를 유지하는 데 유리하다. 하지만 비제로 복귀(NRZ) 방식과 비교했을 때, 동일한 데이터 전송률을 얻기 위해 두 배의 대역폭을 필요로 한다는 단점이 있다.

각 비트 사이에 삽입되는 '0' 상태는 특정 변조 방식에 따라 다르게 표현된다. 예를 들어, 펄스 진폭 변조(PAM)에서는 0 진폭, 위상 편이 변조(PSK)에서는 0 위상 변화, 주파수 편이 변조(FSK)에서는 중간 주파수 등으로 나타나며, 이는 중립 또는 휴지 상태에 해당한다. 이 '0' 상태는 일반적으로 1 비트를 나타내는 유효 상태와 0 비트를 나타내는 다른 유효 상태 사이의 중간 지점으로 설정된다.

RZ 부호는 동기화에는 장점이 있지만, NRZ 부호와 마찬가지로 0 또는 1 비트가 길게 연속될 경우 신호의 DC 성분이 누적되어 기준선이 흔들리는 '기준선 이동(baseline wander)' 문제가 발생할 수 있다.



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com